Android
Ah-Chao
这个作者很懒,什么都没留下…
展开
-
Android应用代码混淆规则
1.开启混淆:android { .... buildTypes { release { // 混淆 minifyEnabled true // Zipalign优化 zipAlignEnabled true // 移除无用的resou...原创 2019-11-17 18:44:20 · 368 阅读 · 0 评论 -
Android 自定义Layout转Bitmap并保存成照片至本地
第一种:1.获取屏幕宽高像素值并添加自定义布局View(可以不再当前UI界面显示直接可生成)/** * get Screen Px */ private void getCurrentScreenPx() { DisplayMetrics metric = new DisplayMetrics(); getWindowManager...原创 2019-04-21 02:39:34 · 964 阅读 · 0 评论 -
[Alibaba-ARouter]Android页面路由框架简单使用
1.android { compileSdkVersion 28 defaultConfig { ... javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project....原创 2019-01-24 18:42:21 · 513 阅读 · 0 评论 -
Android 系统原生TTS使用
1.相关权限策略<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>2.TTS播放对象创建import ...原创 2019-06-25 17:03:30 · 2079 阅读 · 1 评论 -
Java设计模式-单例模式
定义:一个独立的可供全局访问的对象实例1. 饿汉式:public class Singleton{ private static Singleton singleton = new Singleton(); public Singleton(){ } public static Singleton getInstance(){ return singleton; }}...原创 2019-06-26 18:15:10 · 134 阅读 · 0 评论 -
if/else(赋值以及方法执行)简化操作
if/else 赋值操作,过多的条件嵌套必然会导致代码维护繁琐困难,所以在开发过程中尽可能的避免多重if/else语句嵌套。枚举(赋值)/** * if/else多重复用 * 赋值操作 */ public enum Status{ START(0),PAUSE(1),END(2); public int statueCo...原创 2019-06-27 11:22:44 · 1710 阅读 · 0 评论 -
Android欢迎界面自动跳转至主页的几种方式
第一种:Handler延时实现,多数Demo项目简单且最常用的.new Handler().postDelayed(new Runnable() { @Override public void run() { startActivity(new Intent(WelcomeActivity.this,MainActivity.class)); ...原创 2019-07-03 13:37:52 · 2257 阅读 · 0 评论 -
基础MVP逻辑架构实现
1.定义Contract,用来管理mvp相关接口,实际项目中如果接口过多,也可以将mvp各职接口进行分包管理。public interface HomeContract{ //View interface IHomeView{ public void homeView(String message); } //presenter interface IHomePresenter...原创 2019-06-28 13:37:39 · 266 阅读 · 0 评论 -
Java设计模式-状态模式/责任链模式
状态模式:以登录和未登录状态为例:1.创建登录LoginContextpublic class LoginContext { //这里采用内部类形式创建对象单例 public LoginContext(){ } public static LoginContext getInstance(){ return LoginHolder.INSTANCE; } private ...原创 2019-07-05 15:27:10 · 437 阅读 · 0 评论 -
Retrofit简单封装
1.build.gradle进行包依赖 implementation 'io.reactivex:rxjava:1.3.2' implementation 'io.reactivex:rxandroid:1.2.1' implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'co...原创 2018-11-23 16:33:40 · 214 阅读 · 0 评论 -
Android中关于SSL认证
import java.security.KeyStore;import org.apache.http.HttpVersion;import org.apache.http.client.HttpClient;import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.P...原创 2018-11-16 14:52:55 · 997 阅读 · 0 评论 -
监听按键的事件响应
关于监听按键的事件响应: /******add wc 180516****start***/private void goHome(){ Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 注意 ...原创 2018-09-09 21:24:14 · 461 阅读 · 0 评论 -
关于6.0以上读取外置SD卡内存信息
1.sd的注册@Override protected void onStart() { super.onStart(); //注册sd卡插拔广播 IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_MEDIA_MOUNTED);...原创 2018-09-20 15:45:36 · 463 阅读 · 0 评论 -
Android6.0系统指纹解锁分析总结
1.指纹解锁(application层主要涉及到Settings 和 SystemUI) ----指纹解锁的核心类FingerprintUnlockController,实现了KeyguardUpdateMonitorCallback mMode = calculateMode(); //mMode mMode = MODE_NONE: 即为取出指纹解锁的模式 ...原创 2018-09-20 16:05:53 · 682 阅读 · 0 评论 -
Android6.0以上权限申请
package com.hzl.libyuvdemo.util;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import ...转载 2018-09-20 16:30:22 · 274 阅读 · 0 评论 -
Android.mk 避开第三方jar包错误
Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirementWarning: okio.Okio: can't find referenced class java.nio.file.FilesWarning: okio.Okio: c...原创 2018-10-31 14:31:36 · 1166 阅读 · 0 评论 -
设置透明状态栏
SystemBarTintManager.javaimport android.annotation.SuppressLint;import android.annotation.TargetApi;import android.app.Activity;import android.content.Context;import android.content.res.Confi...原创 2018-10-31 15:46:33 · 283 阅读 · 0 评论 -
关于创建线程池的注意事项(附阿里)
1. 新建线程时,必须通过线程池提供(AsyncTask 或者 ThreadPoolExecutor或者其他形式自定义的线程池),不允许在应用中自行显式创建线程。 使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。另外创建匿名线程不便于后续的...原创 2018-11-13 19:55:07 · 1646 阅读 · 0 评论 -
EventBus事件总线初识
EventBus:通过解耦发布者和订阅者简化Android事件传递,EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。Demo:对于APP全局网络判断:import org.greenrobot.eventbus.EventBus;im...原创 2018-11-20 16:40:32 · 305 阅读 · 0 评论