Android-调用本地方法计算int数值相加结果显示在界面上/NDK-JNI开发实例(三)
2015-08-31 15:42
861 查看
Java调用本地方法计算int数值相加,得出的结果显示在界面上;
test1.c
生成的方法名:
布局文件:
activity_main.xml
MainActivity.java
结果图:
test1.c
<span style="font-family:KaiTi_GB2312;font-size:18px;">// // Created by y_ulongji on 2015/8/31. // #include <jni.h> JNIEXPORT jint JNICALL Java_com_example_yu_1longji_android25_MainActivity_add (JNIEnv * env, jobject obj, jint i, jint j){ //C与Java中的int数值类型相同 int y = i + j; //返回计算结果 return y; } </span>
生成的方法名:
<span style="font-family:KaiTi_GB2312;font-size:18px;">JNIEXPORT jint JNICALL Java_com_example_yu_1longji_android25_MainActivity_add(JNIEnv *, jobject, jint, jint);</span>
布局文件:
activity_main.xml
<span style="font-family:KaiTi_GB2312;font-size:18px;"><RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textSize="30sp" /> <Button android:layout_centerHorizontal="true" android:text="计算" android:textSize="30sp" android:onClick="click" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> </span>
MainActivity.java
<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.example.yu_longji.android25; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { static { //so类库名 System.loadLibrary("test1"); } //本地方法 参数为int类型 public native int add(int i, int j); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView)findViewById(R.id.tv); //调用本地add()方法; tv.setText("4+5的和为:" + add(4, 5)); } public void click(View view){ Toast.makeText(this, "4+5的和为:" + add(4, 5), Toast.LENGTH_LONG).show(); } } </span>
结果图:
相关文章推荐
- Android-java调用本地方法返回字符串显示在界面上/NDK-JNI开发实例(二)
- Android-调用本地方法实现将C进程分支出来即生成系统进程/NDK-JNI开发实例(九)
- Android-使用C++实现调用本地方法返回字符串显示在界面上/NDK-JNI开发实例(八)
- Android-本地方法与Java相互调用-自定义ProgressBar(锅炉压力监测例子)/NDK-JNI开发实例(七)
- Android-本地方法C调用Java中的方法/NDK-JNI开发实例(六)
- Android-调用本地方法传递数组参数/NDK-JNI开发实例(五)
- Android-调用本地方法将小写字符串转成大写字符串/NDK-JNI开发实例(四)
- 关于datebase,cursor的一些异常 android.database.CursorWindowAllocationException: Cursor window allocation of
- 快速搭建Android开发环境
- Android Gradle配置自动生成JavaDoc
- Android开发:shape和selector和layer-list的(详细说明)
- Android动画translate、scale、alpha、rotate各属性详解
- Android布局
- 按钮单击事件的四种写法(转)
- android 代码混淆 proguard
- Android Gson解析JSON数据
- android 用 XML 自定义边框(只上下边框有色)
- Android中dp转换为px
- Android插件实例——360 DroidPlugin详解
- android audio截取PCM数据