- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 JNI基础(九)android如何监控到应用被卸载?
我们经常会有一些需求,当应用被卸载的时候,发起一个问卷调查,或者清楚推送标识,避免应用都被卸载了还能收到推送(我们公司的项目就这样。。当初可郁闷了)网上流行的答案: 注册一个receiver.....监听应用被卸载。 我对这个回答的看法与实践:纯属扯淡!难道就没人去验证一下。。?网上都抄来抄去的。。。应用都被卸载了,你的java代码都被清除了,你些的java代码还能起作用吗。?思路:开
2017-01-07 22:54:44 737
原创 JNI基础(八)开辟C进程
这样慢慢的就体现出了jni的强大,它可以通过C做到许多java做不到的事情,比如开辟一个C进程,我们知道java进程随时都有可能被系统杀死,并且在java进程中开辟出的任何线程也会随之被杀死,所以有时候我们需要开辟一个独立于java进程的进程来做一些事情,这个时候就需要用jni来做到。java代码:public class MainActivity extends AppCompatAct
2017-01-07 21:48:47 1456
原创 JNI基础(七)C调java静态方法代码
上次记录了一下如何调用java代码,但是java方法有静态与非静态之分,所以调用方式也是不一样的。java代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.
2017-01-07 19:58:25 977
原创 JNI基础(六)C调java代码
java如何调用C代码,大概已经了解了,通过是先本地方法来调用。那么C代码如何代用java代码套路与思路:通过反射java代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {
2017-01-07 19:34:32 3473
原创 JNI基础(五)java调C,并且传递数组
java调用C代码,传递数组并且操作,是如何进行的?java代码:public class JNI { /** * 加载动态链接库 * 也就是c代码编译好的so文件 */ static { System.loadLibrary("app"); } public native int[] changeArrVa
2017-01-07 18:28:27 2076 2
原创 JNI基础(四)小程序,java调C,并且传递参数
java中的方法需要给c语言中的方法传参数,该怎么办呢。。?其实一样,直接写一就行了,然后将编译好的.h文件中对应的方法进行实现就可以了。java代码:public class JNI { /** * 加载动态链接库 * 也就是c代码编译好的so文件 */ static { System.loadLibrary("app"
2017-01-07 16:47:09 637
原创 JNI基础(三)第一个小程序,java调C
配置好jni运行环境,就可以写程序了,记录一下第一个小程序,java native方法调用c方法,并且返回值:java代码:public class JNI { /** * 加载动态链接库 * 也就是c代码编译好的so文件 */ static { System.loadLibrary("app"); } pu
2017-01-07 16:34:36 424
原创 JNI基础(二)Android Studio 配置NDK
上一次随随便便的写了一些Android Studio如何配置NDK,但是其实也并不能对新手起到一定的指导作用,因为只是作为个人用来记录大概如何配置的笔记,但是经过我的大量实践发现,Android Studio配置NDK并运行起来第一个JNI程序,真是坑太多了,数不甚数,我用同样的方法,在家里面的电脑一次配置成功,并且运行很舒畅,但是在公司的电脑就出现了各种各样的问题,导致最后我把AS升级了最新的,
2017-01-07 16:25:33 438
原创 一天练习一个小C/C++程序(二) 指针到底该如何使用
以前写C基础的时候,写过很多次指针的例子,那到底指针在C项目中会怎么应用呢?通常有两方面:一:函数的传参:我们已经说过,函数传参除非传的是内存地址,要不修改后的值对传入之前的值没有影响。二:跨函数修改值: 其实我觉得这个和第一条一样。。都是为了使其在另一个函数的修改无论在哪都生效。三:定义数据结构。其实可以发现,需要直接操作内存的情况下,就需要使用指针,这样指针才有意义
2017-01-04 20:47:47 585
原创 一天练习一个小C/C++程序(一) 控制台版“金山打字”游戏
今天练习了一个C语言小程序,控制台版的简易“金山打字”小游戏。效果图:代码:#include#include#include#include void printfSpace(int num){ for(int i=0;i<num;i++){ printf(" "); }}void printfColumn(int num){ for(in
2017-01-03 22:02:09 6967 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人