編輯:初級開發
1. JNI中,什麼情況才處理JString、jint、jobject這樣的類型,其實通過NDK開發android C++應用,大部分仍然是常規的cpp和h的標准寫法,只有需要和Java層通訊的方法才包含了類似JNIEXPORT void JNICALL XXX這樣的函數,大多數的邏輯和標准C/C++沒有什麼區別。
2. 我有一個在Windows上開發好的dll能否在Android上使用呢? 這裡Android開發網提醒大家,對於dll這樣的PE文件只能在Windows平台下使用,而Linux上的動態庫so文件如果是PC上的也無法通過JNI在Android上調用,由於CPU的指令不同,手機上必須使用ARM交叉編譯器生成才可以使用,而PC上的為x86或64位,即使是Hello World這樣代碼兼容性很強,也必須在NDK中重新編譯才能在android上使用。
3. 學習JNI的基礎是什麼,或者說什麼順序學習? 這點Android123推薦大家先了解Java的類型,和內部編碼,然後學習C/C++語言,對於NDK r5開始支持的C++語言,這裡android開發網要和大家說下了,如果需要在JNI中調用Java的類,你可以學習下反射機制,同時C++ STL在NDK r5開始支持,這樣開發應用維護起來更方便些。最後看下NDK的Samples下載android源碼Framework層基本上就沒有什麼大問題了。
4. 學習NDK最大的困難是什麼? 這裡Android123認為,國內網友大多數都在Windows下做開發工作,整個NDK環境需要Cygwin,同時mk這樣的makefile編譯腳本的手動編寫可能不是很友好,這點Android開發網已經准備了一整套的Android開發工具,將在近期公開,幫助大家在PC輔助開發android應用,同時常見問題提供了相應的鏈接。
5. 在android JNI用處大嗎? 對於大多數開發者來說可能主要用於OpenGL游戲設計上,不過對於純運算,算法上C語言比Java有著很多天生的優勢,這點不容置疑,多一門技術多一個出路嘛,整個android源代碼十分龐大,開源的力量最終還是能打敗更封閉的Windows Phone和iOS的。
GridVIEw[功能]以前提及過GridView 說也是一種AdapterView 和ListVIEw有點像 今天花了時間 用了一些 有點心得 和大家分享分享[思路]
眾所周知,在寫 android 程序的時候,很容易出現 OOM ,而出現的時機大多數是由 Bitmap decode 引發的: &
很多Android開發者可能因為沒有充分測試自己的軟件造成很容易出現FC(Force Close)的問題,這裡我們可以通過使用Android固件中自帶的monkey工具
隨著Android機型的不斷增多,從默認HVGA 320x480 到 WVGA 480x800 、FWVGA 480x854 以及QVGA的240x320,