編輯:關於Android編程
JNI是一種可以在Java中調用C/C++代碼的技術,也就是說可以在Android上使用C/C++來開發。但是並不能用純C/C++來開發Android應用,因為這些C/C++代碼要通過Java定義的接口來調用。
我試驗Android上的JNI時使用的是NDK-R10,不需要Cygin,使用版本較低的NDK時請另尋教程。
NDK的安裝與ADT中如何配置NDK
可以到Android Developer官網上去下載最新的NDK工具包,下載下來之後解壓到隨便一個好找的目錄,比如我們解壓到了C:\,這樣NDK就被安裝在了C:\android-ndk-r10目錄中。
要在你的Android工程使用NDK還需要進行配置,配置的方法非常簡單:
在eclipse ADT中,點開Window->Preference->Andorid->NDK,然後在NDK Location中填入你安裝NDK的目錄,也就是上面的C:\android-ndk-r10。現在ADT就可以根據你提供的NDK路徑自動調用跟構建NDK項目相關的工具了。
試試第一個NDK程序
1. 首先在eclipse ADT中創建一個名為NDKTest的Android項目。
2. 在ADT中你要使用NDK的工程目錄上(這裡也就是NDKtest目錄),鼠標右鍵後選擇Android Tools->Add Native Support...
在彈出的對話框中填入你將要生成的二進制鏈接庫的文件名,這裡我們以hello.so為例
然後單擊finish,稍等一會兒,就會發現在你的工程目錄裡多了一叫jni的文件夾。
3. 現在就可以開始寫最終起作用那部分的C/C++代碼了,這些代碼都要寫在hello.cpp裡面(這個cpp文件的文件名和你剛才要創建的.so的鏈接庫的文件名一樣),我們在cpp中寫入如下代碼:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:java;">#include 在你點擊run按鈕來運行你的app時ADT會自動調用ndk-build來編譯我們的C/C++代碼。 4. 要調用我們寫好的C/C++代碼,需要我們在Java源碼中加入如下代碼片: 在MainActivity的xml布局代碼中加入如下代碼: 如果轉載請注明出處:http://blog.csdn.net/gophers
public class MainActivity extends Activity {
// 因為static塊比其他代碼都更優先加載,所以在這裡我們導入我們的動態鏈接庫
// 記得之前讓你自己填寫的.so文件名吧,這裡你把文件名寫上就可以導入了
static {
System.loadLibrary("hello");
}
// 要使用自己定義的C/C++函數要像這樣在Java代碼中定義一個空方法
// 返回值和你之前定義的C/C++函數返回的類型一樣,函數名和C/C++函數名
// 最後那一部分就可以了,因為最後一部分才是函數名
public native String hello();
...
}
5. 這樣一來我們的C/C++代碼和Java調用接口都准備好了, 我們可以測試一下。
然後在Java代碼中加入如下部分:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((TextView) findViewById(R.id.display)).setText(hello());
}
運行後的效果:
現在市面上大部分智能電視和智能機頂盒都是安卓系統。時間久了就會產生大量緩存,對於這些系統緩存如果你視而不見日積月累將會導致你的系統內存越來越少,這樣系統可用
今天了解了一下android客戶端與服務端是怎樣交互的,發現其實跟web有點類似吧,然後網上找了大神的登陸示例,是基於IntentService的 1.後台
OpenglES2.0 for Android:各種變換來一波 監聽屏幕事件 在進行各種變換之前,我們先來了解一下如何監聽屏幕的事件。我們下面的變換都需要用立方體來演示,
百度有錢花是百度金融旗下的消費金融品牌,是面向大眾的個人消費金融權益平台,打造創新消費信貸模式,目前已經在多個產業進行探索和布局,其教育信貸業務開通了遠程異