随机数产生器 禁用:Random,Math.random() public class RandomUtil { private static final String digitalChars = "0123456789"; public static S
错误信息 Android使用okhttp等客户端请求https时,证书如果是用来测试(不可信任)的会报出如下问题: okhttp默认情况下是支持https协议的,不过要注意的是,支持https的网站如果是CA机构颁发的证书,默认情况下是可以信任的,否则不可信任。 javax.net.ssl.SSL
参考:https://www.jianshu.com/p/7b354eb8d0d3 传统处理方式 (1)每个按钮点击事件中,记录点击时间,判断是否超过点击时间间隔 private long mLastClickTime = 0; public static final long TIME_INTE
JsBridge: https://github.com/lzyzsd/JsBridge 自带的BridgeWebView并未添加yy://之外的协议,需要自行实现,如通用协议如电话、短信、邮件以及自定义协议如打开微信等。 <a href="tel:10086">电话
setPushIntentServiceClass无效 采用mPushAgent.setPushIntentServiceClass(PushService.class)接收处理消息的方式,在友盟channel进程可以成功接收到消息,Logcat有消息日志打印,但在主进程接收不到消息 经测试,And
AgentWeb:https://github.com/Justson/AgentWeb JsBridge:https://github.com/lzyzsd/JsBridge JS需添加 function connectWebViewJavascriptBridge(callback) {
Github:https://github.com/lzyzsd/JsBridge 依赖 repositories { maven { url "https://jitpack.io" } } dependencies { api 'com.gith
SDK初始化 务必在工程的自定义Application类的onCreate()方法中做SDK代码初始化工作 //友盟推送初始化 //UMConfigure.init(this, "Appkey", "Umeng", UMConfigure.DEVICE_TY
NoClassDefFoundError: Failed resolution of: Landroidx/databinding/DataBinderMapperImpl app module 和 相关的 子 module 均需配置 android { dataBinding {
Android提供了自动朗读支持。可以对指定文本内容进行朗读,从而发生声音;还允许把文本对应的音频录制成音频文件,方便以后播放。Android的自动朗读主要通过TextToSpeech来完成,构造器如:TextToSpeech(Context context, TextToSpeech.OnInit
Android传统的显示图标方式 在平常的开发中,如果我们需要在界面上显示某个小图标,比如搜索按钮,返回按钮,这时我们需要美工给我们切对应的png图片,并放进对应的drawable文件夹中,这样随着图标的越来越多,APK体积也会越来越大。 什么是Font Awesome Font Awesome是
方案有两种,一种是hook到AMS拦截startActivity中的intent,在启动activity的时候判断是否登录,如果没有对intent做动态替换,另一种就是通过AOP实现方法添加判断登录代码片段。hook对系统有兼容性,需要考虑到各个版本的api是否改动,而AOP的实现方式与版本没有任何
常见App中有两大类,一类是需要通过登录才能进入的App,另一类是不用登录,但是使用相关功能过程中需要登录后才能操作。那么第一类我们常见的做法就是,每次点击按钮的时候去用逻辑判断来实现,大大增加了工作量,使用AOP只需要一个注解即可解决。 AOP面向切面编程 Spring有两大特性,一个是Ioc,
Android RecycleView添加HeaderView宽度不能撑满屏幕问题 作为HeaderView的根布局不可以使用LinearLayout,否则就会产生上述的问题 EditText设置inputType为密码不能生效问题 //设置密文时,需要同时设置TYPE_CLASS_TEXT才能生
Android 26及以上:startActivity -> startActivityForResult -> mInstrumentation.execStartActivity -> ActivityManagerNative.getDefault().startActivi