android
嵩风抚
帅哥一枚。
展开
-
Android 版本区别
4 Android4.4[API 19]:开发者使用上改变点:4.1.1:应用支持全屏模式,也就是常说的 沉浸式4.1.2:虚拟按键可隐藏,既然沉浸式底部导航栏跟着支持了,那就顺路把相关控制API也暴露给开发者系统上改变:Dalvik虚拟机。5 Android5.0[API 21]:时尚版开发者使用上改变点:5.1 Material design5.1.1 FloatingAct...原创 2019-11-27 16:01:02 · 1133 阅读 · 0 评论 -
android 秒开欢迎页
思想就是:欢迎页不设置布局,即不setContentView(R.layout.activity_main);直接在manifest设置theme,把欢迎页面的内容写在styles.当然更关键的是:application/activity的onCreate尽量不做耗时操作,耗时操作放子线程。<application android:allowBackup="true...原创 2019-11-21 17:23:38 · 226 阅读 · 0 评论 -
android9.0系统下,如何保活
android9.0系统下,讨论如何延长APP退到后台的保活/复活时间一、7.0及以上不存在真正意义的保活。二、盘点目前在9.0上,可能有效的“白色手段”保活手段(这里不讨论黑色和灰色手段)。1.仿TIM引导用户打开“后台自启动”和加入“手机白名单”。测试开始后台自启动,测试通知栏多久还能收到通知华为M10 9.0时长3到5小时没被杀死VIVO x23 9.0(数字以分...原创 2019-07-09 18:10:20 · 10357 阅读 · 7 评论 -
android 防截屏工具类
import android.app.Activity;import android.view.WindowManager;/** * 防止截屏,一般在onCreate中使用,PAScreenShotUtils.preventScreenShot(this); * 防截屏工具类 */public class ScreenShotUtils { /** * 防止...原创 2019-06-12 11:37:25 · 1033 阅读 · 0 评论 -
android 检测手机是否被Root
import android.text.TextUtils;import java.io.BufferedReader;import java.io.File;import java.io.InputStreamReader;/** * 使用 boolean isRoot = PACheckSysUtils.isRoot(); * 检测手机是否被Root */public ...原创 2019-06-12 11:34:21 · 3160 阅读 · 0 评论 -
android Log日志管理类,日志保存到文件中去
1.首先需要一个ApplicationProxy的代理类,详情见:博文地址2.Log日志管理类包括保存LOG和多进程分开写日志文件,避免产生脏数据(目前最多支持一个APP有一到两个进程的log管理,有多个进程还得修改), 但是写到文本中的顺序不一定对,因为是多线程去写,不知道那个日志先写到文件中去。 使用AS的deviceFileExplorer工具可查看"data/包名/files/...原创 2019-06-12 11:16:38 · 2847 阅读 · 1 评论 -
android 从TCP实现一个即时聊天app的简单理论过程
注:本人适用于有socket基础和接触过XMPP的人一起探讨。不喜勿喷,纯属,闲了总结一下工作经验和小分享而已。一。socket基础知识TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。(其实用那个协议开发IM,对android开发人员来说,业务上的写法区别不大)2、TCP提供可靠的服务。也就是说,通过TC...原创 2019-04-30 14:19:03 · 2197 阅读 · 0 评论 -
android sqlite 升级数据库
1.创建表String sql = "CREATE TABLE IF NOT EXISTS " + “表名” + " (_id INTEGER PRIMARY KEY AUTOINCREMENT," + "列名 TEXT," + "列名 INT)";db.execSQL(sql);2.表新增列String sql = "ALTER TABLE " ...原创 2019-04-29 13:32:49 · 355 阅读 · 0 评论 -
android 权限库,拿来就能用
mainfest.xml先声明你需要得到的权限。使用方式:package com.example.huangrenqian833.myapplication;import android.Manifest;import android.content.Intent;import android.os.Bundle;import android.support.annotatio...原创 2018-12-25 16:42:09 · 607 阅读 · 0 评论 -
android 水印
使用方式:@Override protected void onStart() { super.onStart(); WaterMarkBg.setWaterBg(this, frameView, false)); } package com.paic.lib.base.widget.views;import a...原创 2018-12-24 16:31:54 · 296 阅读 · 0 评论 -
android 线程池工具类,经过验证可直接使用
使用方式:PAsyncTask.getInstance().execute(new Runnable() { @Override public void run() { // 处理耗时操作 }});private Future<?> readerThread; readerThread = PAsyncTask.ge...原创 2018-12-24 15:38:59 · 833 阅读 · 0 评论 -
ApplicationProxy 代理类
使用方式:ApplicationProxy.getInstance().getApplication();ApplicationProxy.getInstance().getApplicationContext();需要要在public class BaseApplication extends Application{ ApplicationProxy.getIns...原创 2018-12-20 17:08:03 · 1369 阅读 · 0 评论 -
Gson 工具类
import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import java.lang.reflect.Type;import java.util.ArrayList;impor...原创 2018-12-20 14:39:46 · 254 阅读 · 0 评论 -
Android SDK制作流程
如何让自己的SDK更安全?让自己的逻辑对用户完全透明? 1.利用好混淆 2.建造者模式 3.尽量抛出异常,让接入者看到在Android Eclipse时代,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资...原创 2018-03-15 18:27:32 · 6087 阅读 · 3 评论