編輯:關於android開發
本文根據《Android jni簡便開發流程》中的開發流程來實現一個java傳遞int類型數據給C
新建項目,進行簡單的布局
<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類型參數" />
</LinearLayout>
新建JNI.java
package com.wuyudong.javapassdata;
public class JNI {
//傳遞兩個int類型的變量給C,讓C加一下返回
static{
System.loadLibrary("passdata");
}
public native int add(int x, int y);
public native String sayHelloInC(String s);
public native int[] arrElementsIncrease(int[] intArray);
}
自動生成jni文件夾,進行相關的修改
passdata.c
#include <jni.h>
/*
* Class: com_wuyudong_javapassdata_JNI
* Method: add
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_wuyudong_javapassdata_JNI_add(JNIEnv * env,
jobject clazz, jint x, jint y) {
return x + y;
}
MainActivity.java中的代碼如下:
package com.wuyudong.javapassdata;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
public JNI jni;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
jni = new JNI();
}
public void click(View v) {
Toast.makeText(getApplicationContext(), jni.add(3, 4)+"", 0).show();
}
}
運行項目

獲取更多C相關知識,關注公眾號:“csuanfa”

淺談FloatingActionButton(懸浮按鈕),floatingactionbutton
淺談FloatingActionButton(懸浮按鈕),floatingactionbutton一、介紹 這個類是繼承自ImageView的,所以對於這個控件我們可以使
Android提高21篇之六:BroadcastReceiver
前面分別討論了Activity和Service,這次就輪到BroastcastReceiver,B
如何寫一個簡易的文件系統(4):umount
如何寫一個簡易的文件系統(4):umount哈哈,時隔幾年,又從磁盤深處找出了原始代碼myfs.zip。---------------------------------
Kotlin中的“忍者”函數 —— 理解泛型的能力(KAD 12),kotlinkad
Kotlin中的“忍者”函數 —— 理解泛型的能力(KAD 12),kotlinkad作者:Antonio Leiva 時間:Feb 8, 2017 原文鏈接:https