1.前言
之前写过一篇文件是关于JNI学习和积累的文章。
这篇文章主要讲在使用JNI取得Publickey过程中遇到的问题和一些总结。
2.JNI获取Publickey实现
在上篇文章中,最终采用的加密方法来自github项目。
但该项目中在4.0.4版本的手机上,取得publickey遇到兼容性问题。
关于这个功能,每个公司项目都有自己的解决方案
搜索了一下,网上大概有以下几种方法解决这个问题:
(1)System.exit(0);
(2)Process.killProcess(Process.myPid());
(3)ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(“packagename”);
但这些貌似不是万能的,有的说在2.2版本后就失效了,那我们怎么办呢?
使用这个杀毒软件antivirus-for-android,检测我们团队的apk后,AVG提示警告unwanted software。
生成的报告说是:
Beware of Adware! 1 Types of Adware Detected
Last reported adware activity: Sep 16
Days with adware in last 30: 1 days
见下图:
本文转载自stormzhang ANDROID设计模式之单例模式 ,内容稍有补充
什么是设计模式?其实简单的理解就是前人留下来的一些经验总结而已,然后把这些经验起了个名字叫Design Pattern,翻译过来就是设计模式的意思,通过使用设计模式可以让我们的代码复用性更高,可维护性更高,让你的代码写的更优雅。设计模式理论上有23种,但是我只会针对Android平台上常用的一些设计模式做分享,今天就先来分享下最常用的单例模式。
Android中非UI线程(WorkThread)不能操作UI线程(MainThread)
handler 发送Message 给MessageQueue,Looper 来轮询消息,如果有Message,然后再发送给Handler,Handler 拿到消息就可以所在的线程执行了。
Thread这个类有一个变量:ThreadLocal.ThreadLocalMap threadLocals ,这是一个map的数据结构,里面的元素的key就是ThreadLocal,value就是我们自定义的一些目标类。我们可以在自己的多线程类中定义好几个ThreadLocal,然后每一个ThreadLocal put一个特定的目标类,然后以后可以用ThreadLocal get到目标类(用自己作为Thread里map的key),因为每个Thread有自己独自的map,所以这样可以实现每个线程有自己的LocalThread,并且一个Thread里可以有多个LocalThread。
给Android开发者的RxJava详解,这篇文章讲解详细,如果耐心看完,相信肯定收获不小
本篇博文用作学习RxJava过程中,记录知识和心得,如有冒犯还请见谅!
RxJava是通过一种扩展的观察者模式来实现的。
RxJava有四个基本概念:Observable(可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Observable和Observer通过subscribe()方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。