Android中怎么调用C的函数
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,Android中怎么调用C的函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。activity_main.xml
千家信息网最后更新 2024年11月20日Android中怎么调用C的函数
Android中怎么调用C的函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
activity_main.xml
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
android:id="@+id/sample_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
按钮里面加上了onCLick的事件名称为btnclick,我们通过Alt+Enter选择在对应的Activity中创建这个按钮事件。
MainActivity.java
我们回到MainActivity中,其中原来默认的stringFromJni方法就是直接返回了一个字符串,到时候我们看一下源码即可。
接下来我们来试一下带参数的方法怎么实现。
我们新建了一个settextgood的方法,里面有一个输入参数,和一个返回参数。
可以看到,刚定义完的方法显示为红色字体,接下来我们鼠标放到方法名上,然后按ALT+ENTER,选择下方红框中的第一项
程序会自动跳转到native-lib.cpp的文件夹中创建了对应的调用方法
接下来我们编写这个settextgood的方法
extern "C"
JNIEXPORT jstring JNICALL
Java_dem_vac_vaccaendk_MainActivity_settextgood(JNIEnv *env, jobject instance, jstring str_) {
const char *str = env->GetStringUTFChars(str_, 0);
//定义追加的字符
char * addstr=",我是追加的字符";
//定义要输出的字符并设置长度
char * outputstr = new char[strlen(str)+strlen(addstr)];
//开始组装输出的字符
//1.传入的字符拷贝进来
strcpy(outputstr,str);
//2.连接刚刚定义的追加字符
strcat(outputstr,addstr);
//释放资源
env->ReleaseStringUTFChars(str_, str);
return env->NewStringUTF(outputstr);
}
最后我们再重新写了一按钮事件,点击进传入一个"Hello"进去。
我们运行一下程序看看
刚进来时显示Hello from C++,我们现在再点击一下测试按钮后看看结果
看完上述内容,你们掌握 Android中怎么调用C的函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
方法
字符
按钮
接下来
事件
参数
函数
内容
更多
程序
问题
中创
测试
输出
选择
束手无策
为此
到时候
到时
原因
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全球 网络安全现状
塔式服务器管理方法
先缓存在数据库
公安网络安全保卫专题培训
举办网络安全宣传周宣传活动
自动注入网络安全注意事项
中交网络安全工作
软件开发五阶段
金蝶kis专业版需要什么数据库
软件开发合同延期了怎么办
java软件开发中级测评
寻甸第三方软件开发网上价格
仙域服务器
保护计算机网络安全技术
软件开发中心级别
数据库的一个条目
steam地平线4无法与服务器连接
我的世界服务器招管理员7月
c 的大数据库是什么意思
网络安全就业城市
手机服务器在哪里找得到
csgo韩服服务器目前因维护
组装一台存储服务器
服务器防ddos攻击软件
通讯网络技术公司
官兵如何守好网络安全
软件开发文档通用要求GB
岳阳乙网络技术有限公司
长岛软件开发推荐
各级是网络安全的第一责任人