自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Android存储权限

Android存储权限(备忘)访问外置存储并不是一定需要以下这些权限(Android 4.4以上)WRITE_EXTERNAL_STORAGEREAD_EXTERNAL_STORAGE通过getExternalCacheDir()getExternalFilesDir()这两个方法不需要申请权限就可以访问外置存储的 /storage/sdcard0/Android/data/...

2019-02-12 18:26:34 10775

转载 【转】SurfaceView理解与Demo

【转】SurfaceView理解与Demo原文链接【1】:http://www.cnblogs.com/zhangyingai/p/7087371.html原文【1】是java,以下是修改为kotlin语法原文链接【2】:https://www.jianshu.com/p/afe23814b207先上代码SurfaceHolder.Callback接口overrid...

2019-02-02 22:30:07 304

原创 ArryList、Vector、HashMap扩充大小

ArryListArrayList的默认初始容量为10可以自定义指定初始容量(构造方法)扩容:new.size = old.size*1.5VectorVector初始大小为10扩容:new.size = old.size*2HashMapHashMap初始大小为16扩容:new.size = old.size*2通过移位翻倍else if ((newCap = ol...

2019-01-25 22:17:28 229

转载 HTTP幂等性

理解HTTP幂等性基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏...

2019-01-25 22:02:45 210

转载 三种bug定位方法

1、定位bug产生的过程测试用例的执行,基本上是程序运行过程bug产生的开始,若测试结果与期望结果有出入,即出现了错误征兆,定位bug过程首先要找出bug产生的原因,然后对bug进行修正。因此定位bug过程有两种可能:一种可能是找到了bug产生原因并提给开发去纠正;另一种可能是测试过程中程序产生的bug原因不明,测试或开发人员只得做某种推测,然后再设计测试用例证实这种推测,若一次推测失败,再做第...

2019-01-25 21:47:00 12757

转载 Android Launcher 启动 Activity 的工作过程

Android Launcher 启动 Activity 的工作过程转载出自: https://blog.csdn.net/qian520ao/article/details/78156214先存预览一下核心流程前言Launcher整体流程startActivityForResultInstrumentationIBinder contextThreadIBinder t...

2019-01-15 21:36:01 267

原创 华为系统BottomSheetDialog或DialogFragment底部弹出,Edittext键盘部分遮盖

华为系统BottomSheetDialog或DialogFragment底部弹出,Edittext键盘部分遮盖键盘底部遮盖现象以BottomSheetDialog为例查看BottomSheetDialog.java源码使用的是 Theme.Design.Light.BottomSheetDialog这个themestyle.xml中继承Theme.Design.L...

2018-07-12 15:21:06 5863

原创 gradle管理子模块,上传本地maven库

gradle管理子模块,上传本地maven库为什么要这样做:AndroidStudio中项目引用了多个模块(module),编译的时候都会把每个模块的代码重新编译一遍,非常耗时,尤其是这些模块的代码基本不怎么改动为了减少不必要的编译时间,把模块现编译好,主工程模块(:app)直接调用编译好的模块前提准备:在project的build.gradle(和setting....

2018-06-09 18:13:58 1305 1

原创 自动备份android的mapping.txt文件

自动备份android的mapping.txt文件为什么要这样做:由于集成了腾讯的bugly,但是出现异常上报时因为需要上传mapping.txt对应表才能找到异常出错的位置,为了能够根据版本统一管理并自动操作mapping.txt文件,需要在build.gradle文件写一下脚本每次混淆打包后复制mapping.txt到指定的项目目录统一管理前提准备:在progu...

2018-05-31 15:51:57 2172

原创 AndroidStudio 打开模拟器闪退

环境:macosx最近没做什么操作,然后想用下AndroidStudio的模拟器测下东西,发现不管怎么打开都启动不了模拟器。AndroidStudio又没有报任何信息就突然闪退,然后开始排查。1.可能是模拟器坏了,换一个启动,发现还是老样子,看来必须要获取点错误日志信息。2.网上搜索到 emulator -avd “Nexus 4 API 22(我的模拟器avd显示的名字)” 命令可以

2018-01-11 18:39:55 16918

原创 JSON解析,null变成了"null"

json的结构存在null值

2017-12-20 17:14:50 2903

原创 POST GET区别整理

post get 区别

2017-12-20 16:36:38 328

原创 IDEA打包war部署到tomcat 404错误(tomcat配置正确)

IDEA打包war部署到tomcat 404错误(tomcat配置正确)此问题状况可能满足以下条件的1.本地使用gradle bootRun后访问地址正常 2.部署到tomcat后访问接口地址出现404错误 3.在tomcat项目中新建index.html可以访问解决方案1.gradle首先确认满足以下条件buildscript { repositories { mav

2017-11-23 17:27:23 5483

原创 Android 把修改后的classes.dex 重新放入 apk中

1.解压apk把.apk后缀名修改成zip,解压提取出classes.dex2.修改classes.dex通过 IDA PRO 或 C32ASM 等工具修改文件中的值3.利用工具等对修改后的classes.dex重新效验dexfixer或者自己编写工具 java 代码如下public class FixDexHeaderUtil { public static void

2017-11-14 15:18:01 6690

原创 Android与H5交互,数据不同步

问题:我直接在nativeAction的方法下吊起一个下载方法,导致了下载回调start(DownloadObservable o, final String url)函数中无论对H5ReportBean h5Data = downloadData.get(url);的h5Data怎么修改,在其它函数(success、fail、update)都不起作用,get出的数据仍是修改前的数据

2017-08-14 16:52:58 584

转载 android gradle编译 多个flavor中加载不同的android library的flavor

Library build.gradle:apply plugin: 'com.android.library'android { .... publishNonDefault true productFlavors { market1 {} market2 {} }}project

2017-06-09 13:25:25 3904

原创 android混淆相关

把library源码中AndroidManifest的activity声明放到了application的AndroidManifest,运行时直接Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.coolad.main/com.xxx.sdk.act

2017-04-25 10:43:12 353

原创 遇到的java坑备忘

//这样写是有问题的 //init() new 出来的car不会回到findCarById()函数中 //低级错误啊,哎 public Car findCarById(String id) { Car car=carRespository.findById(id); if (null==car){ init(id,c

2017-04-14 16:45:37 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除