編輯:關於android開發
接著前面的文章《Android java傳遞int類型數據給C》《Android java傳遞string類型數據給C》,繼續實踐
實現public native int[] arrElementsIncrease(int[] intArray);
項目布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="傳遞int類型參數" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="passString"
android:text="傳遞String類型參數" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="passIntArray"
android:text="傳遞Int類型數組" />
</LinearLayout>
實現arrElementsIncrease函數
/*
* Class: com_wuyudong_javapassdata_JNI
* Method: arrElementsIncrease
* Signature: ([I)[I
*/JNIEXPORT jintArray
JNICALL Java_com_wuyudong_javapassdata_JNI_arrElementsIncrease(
JNIEnv * env, jobject clazz, jintArray jArray){
jsize len = (*env)->GetArrayLength(env, jArray);
// jboolean iscopy;
int* arrayPointer = (*env)->GetIntArrayElements(env, jArray, NULL);
int i;
for(i = 0; i < len; i++){
*(arrayPointer + i) += 10;
}
return jArray;
}
MainActivity.java中添加下面的代碼:
public void passIntArray(View v) {
int[] array = new int[] { 1, 2, 3, 4, 5 };
int[] newArray = jni.arrElementsIncrease(array);
for (int i : newArray) {
Log.d("test", i + "");
}
}
獲取更多C相關知識,關注公眾號:“csuanfa”

手機影音7--視頻播放器的基本功能(4),7--基本功能
手機影音7--視頻播放器的基本功能(4),7--基本功能 1.用AudioManager調聲音 1_得到當前音量和最大音量 //關於設置音量 private int c
Android基礎入門教程——10.10 傳感器專題(1)——相關介紹
Android基礎入門教程——10.10 傳感器專題(1)——相關介紹 Android基礎入門教程——10.10 傳感器專題(1)—&
App解讀,新聞解讀app
App解讀,新聞解讀app一直不懂別人口中說的原生開發、混合式開發。今天突然看了一篇文章講解的是什麼叫做原生App?移動 Web App?混合APP?分享給大家。 原生A
Android 6.0: 動態權限管理的解決方案
Android 6.0: 動態權限管理的解決方案 Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用戶體驗, 同時也為程序員帶來新的負擔. 動態