package com.duicky;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
/**
* Java 调用 C 例子
*
* @author luxiaofeng
*
*/
public class MainActivity extends Activity {
//也就是你mk配置文件中的 LOCAL_MODULE := NDK_03
private static final String libSoName = "NDK_03";
private static final String tag = "MainActivity";
private Context mContext = null;
private Button btnClick = null;
private String mStrMSG = null;
private EditText etX = null;
private EditText etY = null;
private EditText etResult = null;
private int x = 0 ;
private int y = 0 ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
//初始化控件
initViews();
}
/**
* 初始化控件
*/
private void initViews() {
etX = (EditText)findViewById(R.id.et_x);
etY = (EditText)findViewById(R.id.et_y);
etResult = (EditText)findViewById(R.id.et_result);
btnClick = (Button) findViewById(R.id.btn_click);
btnClick.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(getX() && getY()){
int result = add(x,y);
LogUtils.printWithLogCat(tag,x+" + " + y + " = " +result);
etResult.setText(String.valueOf(result));
} else {
etX.setText("");
etY.setText("");
etResult.setText("");
LogUtils.toastMessage(mContext, "请输入正确的值");
}
}
});
}
/**
* 获取x
*/
private boolean getX() {
String str = etX.getText().toString().trim();
try {
x = Integer.valueOf(str);
} catch(NumberFormatException e) {
return false;
}
return true;
}
/**
* 获取y
*/
private boolean getY() {
String str = etY.getText().toString().trim();
try {
y = Integer.valueOf(str);
} catch(NumberFormatException e) {
return false;
}
return true;
}
/**
* 该方法为native方法.
*
* 实现加法功能
*
* @param x 加数
* @param y 加数
*
* @return x+y 的结果
*/
public native int add(int x, int y);
/**
* 载入JNI生成的so库文件
*/
static {
System.loadLibrary(libSoName);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
应用源码之java调用C例子.zip (40个子文件)
应用源码之java调用C例子
logo.png 8KB
NDK_03
.classpath 280B
jni
Android.mk 244B
JavaToC.c 406B
Operate.c 98B
Operate.h 67B
.settings
org.eclipse.jdt.core.prefs 208B
obj
local
armeabi
libNDK_03.so 22KB
objs
NDK_03
Operate.o.d 1KB
JavaToC.o 23KB
Operate.o 3KB
JavaToC.o.d 1KB
src
com
duicky
LogUtils.java 2KB
MainActivity.java 2KB
libs
armeabi
libNDK_03.so 2KB
res
drawable-mdpi
icon.png 3KB
drawable-ldpi
icon.png 2KB
values
strings.xml 119B
layout
main.xml 1KB
drawable-hdpi
icon.png 4KB
.externalToolBuilders
NDK_03_JavaToC.launch 1KB
bin
resources.ap_ 11KB
NDK_03.apk 17KB
classes.dex 7KB
com
duicky
MainActivity$1.class 2KB
R$string.class 374B
R$layout.class 370B
LogUtils.class 3KB
R$id.class 452B
R$attr.class 316B
R$drawable.class 376B
MainActivity.class 3KB
R.class 475B
proguard.cfg 1KB
sh.exe.stackdump 318B
default.properties 362B
.project 1KB
bash.exe.stackdump 320B
AndroidManifest.xml 676B
gen
com
duicky
R.java 834B
共 40 条
- 1
资源评论
Soft_Leader
- 粉丝: 645
- 资源: 1629
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32F429767igt6单片机+IS42S16400J 最小系统核心板(原理图+PCB+封装库)文件.zip
- 数据库实战-牛客网数据库SQL实战题目汇总
- 基于STM32F103为主控芯片的多功能智能小车,载有HC-05蓝牙模块、HC-SR04超声波模块、LCD触摸屏、直流电机
- 20240506163702.pdf
- 相关图形.zip
- 备选2:经济全球化背景下制造业选址优化研究:基于双层次模型的方法.pdf
- AC220V交流变换DC直流0-60V-5A (最大)可调开关电源AD设计硬件(原理图+PCB)文件.zip
- unity编辑模式下,批量处理模型的名字和模型的父子级关系的代码
- 温度传感器VC源程序,用串口与51单片机通讯
- GPS与串口通信的程序,对gps信号信息解码,并用VC信息转换
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功