編輯:關於Android編程
JNIEnv接口提供了一組與異常相關的函數集,在運行過程中可以使用java類查看這些函數。
public class JavaClass{
// 拋出方法
private void throwingMethod() throws NullPointerException{
throw new NullPointerException("Null Pointer");
}
}
調用throwingMethod方法時,accessMethod原生方法需要顯示地做異常處理。JNI提供了ExceptionOccurred函數查詢虛擬機中是否有掛起的現象。例如,原生代碼中的異常處理:
jthrowable ex;
……
(*env)->CallVoidMethod(env,instance,throwingMethodId);
ex = (*env)->ExceptionOccurred(env);
if(0 != ex){
(*env)->ExceptionClear(env);
/*Exception handler*/
}
JNI也允許原生代碼拋出異常。因為異常是java類,應該先用FindClass函數找到異常類。用ThrowNew函數可以初始化且拋出新的異常,例如:
jclass clazz;
……
clazz = (*env)->FindClass(env,"java/lang/NullPointerException");
if(0 !=clazz){
(*env)->ThrowNew(env,clazz,"Exception message");
}
Android系統移植 http://source.android.com/devices/index.html
移植Android到不同的設備 Android允許提供不同的硬件平台和驅動支持Android的運行。硬件抽象層(Hardware Abstraction Layer)
Android四大組件之ContentProvider
ContentProvider的一個重要的特點就是它是可以使得某些數據可以被跨進程訪問,一般我們的數據庫是不可跨進程被訪問,因為數據庫一般的數據是屬於某個應用程序的,如果
Android Studio官方文檔之添加URL和App索引支持
Android Studio可以幫你在App中添加對URLs,app索引,搜索功能的支持。這些功能可以幫你推動更多的流量到你的App、發現App中最被常用的內容,使用戶更
Eclipse導入Android項目的正確方法
直接上圖: 在android 中導入項目後 包出現錯誤的解決方法 選中項目,右擊打開Proper