Map
надо подставить java.util.Map
. После компиляции в байткоде остаются только полные имена классов, директивы import не сохраняются, и никакого дополнительного кода в результирующий объектный модуль не загружается.JNIEXPORT void JNICALL Java_SomeClass_someMethod(JNIEnv* env, jobject obj, jintArray array) {
jsize size = (*env)->GetArrayLength(env, array);
jint* buffer = (*env)->GetIntArrayElements(env, array, NULL);
...
(*env)->ReleaseIntArrayElements(env, array, buffer, 0);
}
JNI_ABORT
стоит передавать в том случае, если нужны были данные из массива, но сам исходный массив изменять не надо. Если изменения в массиве нужно сохранить, то вместо JNI_ABORT
надо передать 0. import sched, time
s = sched.scheduler(time.time, time.sleep)
def f():
s.enter(5, 1, f) # Перезапуск через 5 секунд
print(time.time())
f()
s.run()
import threading
def f():
threading.Timer(5.0, f).start() # Перезапуск через 5 секунд
print("Hello!")
f()
import time
def f():
print("Hello!")
while True:
time.sleep(5)
f()
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<receiver android:name="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtil {
public static final int TYPE_WIFI = 1;
public static final int TYPE_MOBILE = 2;
public static final int TYPE_NOT_CONNECTED = 0;
public static int getConnectivityStatus(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null) {
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
return TYPE_WIFI;
if(networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
return TYPE_MOBILE;
}
return TYPE_NOT_CONNECTED;
}
}
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int status = NetworkUtil.getConnectivityStatus(context);
if(status == NetworkUtil.TYPE_NOT_CONNECTED) {
// Действия при недоступности сети
}
else {
// Действия при доступности сети
}
}
}