編輯:關於Android編程
不知道為什麼android的ndk開發資料在網上很少,還有的資料基本上無法完成入門學習demo,根本無法運行,小弟用了三天三夜的時間來弄helloworld,極盡失眠的程度。
一開始是在android studio上配置ndk開發幻鏡,然後是進行hello world的開發,但是android studio支持ndk開發相對較晚,沒有elipse成熟,在編譯的時候遇到很多問題,最終放棄(我知道這不是一個好習慣,但是等以後我還會回來的)
注:ndk在gradle上的配置
在這裡唠叨一句,使用android studio,那麼有必要加強下對gradle的理解。
開始在eclipse上進行ndk開發:
簡述1.創建空android項目
2. 書寫一個本地類,定義一個空的本地方法。如 public static native String getStr();
3. 切換到項目src目錄下,我的是home/dlzh/workspace/HelloNDK/src,然後執行javah -jni com.example.hellondk.GetString,之後在該目錄下生成一個.h文件
4.HelloNdk.c文件寫實現native方法
5.加載so文件,運行。
詳細步驟如下:
1.創建一個空的android項目
2.編寫一個本地GetString.class
public class GetString { //本地代碼實現 public static native String getStr(); //定義本地方法,由c語言實現 }3.鼠標右鍵點擊項目名稱,然後選擇“build project”;在項目的下面會自動生成jni和libs文件夾,然後右鍵項目,選擇Android tools--》add native support。
4.然後ubuntu切換到項目的src目錄下,執行javah -jni com.example.hellondk.GetString命令,回車。將生成的com_example_hellondk_GetString.h,拷貝到jni文件加下
5.打開jni文件夾下的HelloNdk.c文件,實現頭文件生命的方法
#include#include /* * 實現頭文件方法 */ JNIEXPORT jstring JNICALL Java_com_example_hellondk_GetString_getStr (JNIEnv *env, jclass){ return env->NewStringUTF(static method call hello Ndk !); }
然後在GetString.java下添加如下代碼,加載so文件
static{ System.loadLibrary(HelloNDK); }
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.textview); tv.setText(GetString.getStr()); } }
在android開發中,經常需要使用數據分頁,比如要實現一個新聞列表的顯示,或者博文列表的顯示,不可能第一次加載就展示出全部,這就需要使用分頁的方法來加載數據,在andr
說明:android的線程使用。android的線程無非就是Main Thread和Worker Thread。(除了主線程Main Thread之外的其他線程都是Wor
今天是放完假後工作的第一天,為了證明我不是一段幽靈代碼,我給各位看客老爺們說句:祝大家節日過得愉快(過得不愉快那也是人之常情)。我們繼續來講一講ListView的開發,
概念:LruCache什麼是LruCache?LruCache實現原理是什麼?這兩個問題其實可以作為一個問題來回答,知道了什麼是 LruCache,就只然而然的知道 Lr