編輯:關於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一、介紹 這個類是繼承自ImageView的,所以對於這個控件我們可以使
前面分別討論了Activity和Service,這次就輪到BroastcastReceiver,B
如何寫一個簡易的文件系統(4):umount哈哈,時隔幾年,又從磁盤深處找出了原始代碼myfs.zip。---------------------------------
Kotlin中的“忍者”函數 —— 理解泛型的能力(KAD 12),kotlinkad作者:Antonio Leiva 時間:Feb 8, 2017 原文鏈接:https