自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android实现换肤思路整理

Android实现换肤思路整理整体思路总结:1.获取APP 的Resources对象2.使用反射创建AssetManager对象3.根据设备的显示器信息和配置,创建Resource对象4.使用PackageManager,根据皮肤包路径获取皮肤包包名5.注册ActivityLifeCycle,监测activity oncreate回调,配置自定义的layoutInflater对象,自定义layoutinflater对象接管View 的创建过程,在创建View时统计需要替换属性的view6.触发换肤动作

2021-02-06 15:03:37 286 1

原创 设计模式之-----观察者模式

设计模式之-----观察者模式定义:定义了对象之间 一对多的依赖关系,其中被观察者是一方,观察者是多方,在被观察者发生改变时,被观察者主动调用方法,通知所有观察者的一种设计模式。原理:定义①被观察者类,内部需要实现本身业务数据的存储,有保存所有观察者的一个数据结构类,②观察者统一接口,定义一个统一通知方法,供被观察者数据改变后进行调用通知。③声明观察者和被观察者对象,被观察者和观察者一对多绑定之后,被观察者数据发生改变之后,主动调用观察者的抽象接口方法进行通知。此设计模式优缺点:

2020-09-21 16:21:10 170

原创 Android平台上大长图(图片很大的那种)的加载原理和方式

好久好久没有学习了,每天在王者农药里浸泡着,终于上了王者段位之后,心里空空如也!!是时候开始学习了,向高级进发!!!学习感想:在学习之前,不使用第三方框架的情况下,会有:哇,这咋搞,直接OOM呀!一脸萌币学习之后,我去,就这么简单???正文开始总结一下很简单了:声明 BitmapFactory.Options和Rect对象,对Options对象属性操作,获取图片信息和显示图片是否复用内存;对Rect对象的 left,top,right,bottom属性值操作,动态设置图片显示区域,使用构建的

2020-08-16 00:26:38 4298 9

原创 Kotlin 枚举类

kotlin 中也如Java一样,有枚举类这个类型。枚举类的定义:在某些情况下,一个类的是有限而且固定的,比如季节类、月份类、等等,这种实例有限而且固定的类,叫做枚举类。作用:在早期代码中,可能会使用静态常量表示枚举,比如下面定义的常量: //申请手机状态的权限的 回执码 var REQUEST_READ_PHONE_STATE: Int = 1001 //申请手机存储权限的 回执...

2020-04-19 00:19:06 1473

原创 Android 声音分贝控制锁屏demo实现

标题demo实现总体逻辑:1. 声明权限2. 声明,注册 receiver,接收注册设别管理器结果3. 完成注册APP为设备管理器4. 录音权限申请5. 编写类文件,实现业务逻辑OK,我们开始~~声明权限如下 <!--锁屏权限 需要注册为设备管理器--> <uses-permission android:name="android.permis...

2020-03-15 21:22:31 410

原创 多语言需求时,在华为手机上,切换语言环境时,string资源获取默认资源问题

如果你遇到相同的问题,请检查是不是用的Application的上下文调用的getstring(),请换成使用当前activity上下文获取在实现多语言需求时,测试会不定时叮我一下,你看英文环境下,怎么会显示汉语呢???一脸萌币呀,TMD我咋知道,发泄归发泄,问题还是要解决的啊询问度娘,度娘说她也不晓得,我的天!!想了好多个方法解决啊,一开始是使用的静态类或者静态变量获取保存string资源,...

2019-12-25 18:04:12 975 5

原创 android edittxet 设置可点击不可编辑状态

xml布局设置:editText.setCursorVisible(false);editText.setFocusable(false);editText.setFocusableInTouchMode(false);代码动态设置:editText.setCursorVisible(false);editText.setFocusable(false);editText.set...

2019-11-22 17:38:16 2161

原创 No implementation found for int com.baidu.idl.facesdk.FaceSDK.getARGBFromYUV

做百度人脸识别需求的时候,收到日志如下:No implementation found for int com.baidu.idl.facesdk.FaceSDK.getARGBFromYUV一脸萌币有没有,从头到尾好好对比一下步骤,发下发了一个很低级的错误,文档中的第一步在application中初始化SDK的步骤,你说是不是脑子有坑 /** * 初始化SDK ...

2019-11-15 09:50:25 1343 1

原创 git代码 回滚

第一步:使用命令行 git log 获取 push记录对应的命令行:git log获取到的数据:commit a49f0521de426e0f3375faead56b26b667ed90f7 (HEAD -> master, origin/master)Author:GerryRun <[email protected]>Date: Wed Nov 6 1...

2019-11-06 14:41:44 1092

原创 使用Javadoc生成API文档步骤

1.配置好Java环境变量,2.编写好一个Java程序,OK,准备工作已完成。我的测试类文件保存在 C:\Users\90383\Desktop\JavadocTest 文件夹下,内容如下:/** * 测试类 */public class Test2 { /** * 变量 */ public String str; /** * 构造器 * ...

2019-08-29 18:05:54 632

原创 kotlin实现静态类和静态方法

kotlin中,声明静态类的方法很简单:/** * 类名前的class替换成object,为静态类,此类下的所有对象和函数,都是静态, * 所有方法都为静态方法,如工具类、常量池、 */object LogUtilsCopy { var isDebug = BuildConfig.DEBUG fun doSomething():String{ doSomeThi...

2019-08-28 14:03:41 7565

原创 Java 获取当天的零点时间戳

/** * 获取当天的零点时间戳 * * @return 当天的零点时间戳 */ public static long getTodayStartTime() { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); ...

2019-07-25 15:35:34 14932 8

原创 Androidstudio引用maven库(jcenter,Google)下载依赖失败的解决方法

你有体会过前一天下班前一切正常,第二天上班打开Androidstudio编译项目远程依赖库全部下载失败的情形吗?好吧,我有,虽然没有找到根源问题,但是经过一天的探索,总算是找到了解决办法大家在开发过程中,免不了会依赖一些第三方库,但是可能因为网关的问题,可能访问失败,导致下载失败,进而项目无法编译影响项目进度。在网上搜了一些解决方法,清一色推荐使用阿里云仓库服务,我在接入之后发现,阿里云的仓库服...

2019-06-15 10:54:29 8510 4

原创 出现:trying to draw too large(138078000bytes) bitmap:

出现原因:将高分辨率图片放在了低分辨率文件夹下了我遇到的情况是我把1080*1920分辨率的切图放在了drawable文件夹下,出现了如题的报错,解决的方法:根据分辨率选择放置所在文件夹...

2019-06-12 18:14:00 4079

原创 git pull 相关问题:Git Pull Failed: refusing to merge unrelated histories

pull 分支时报以下错误:Git Pull Failed: refusing to merge unrelated histories处理办法:在pull的命令行之后添加如下规则:–allow-unrelated-historiesgit pull <远程主机名> <远程分支> --allow-unrelated-histories比如: git pull m...

2019-06-09 23:09:13 946

原创 上传Google市场时,提示安装包未进行 zipalign,禁止传包问题的解决方法

如题的问题:Google官网介绍:我们强烈推荐在新的和已经发布的程序上使用zipalign工具来得到优化后的版本——即使你的程序是在老版本的Android平台下开发的。在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效率。因此,这种方式能够让应用程序和整个系统运行得更快。Android SDK中包含一个“zipalign”的工具,它能够对打包的应用程序...

2019-06-09 15:34:09 2683

原创 PopupWindow中的EditText无法弹出软键盘

偶然之间,发现如题问题,解决方案:PopupWindow.setFocusable(true);谨记…

2019-06-09 15:02:49 3031

原创 Only the Kotlin standard library is allowed to use the 'kotlin' package

解决方法:请不要使用kotlin作为项目中的包名,比如修改为“kotlinTest”即解决此问题。

2019-06-03 23:35:30 5965

原创 对Android apk 签名 --apksigner

因支持V1和V2签名,故选用apksigner 进行手动签名: 切到Android SDK/build-tools/SDK版本, 输入命令 apksigner sign --ks 密钥库名 --ks-key-alias 密钥别名 xxx.apk 若密钥库中有多个密钥对,则必须指定密钥别名 apksigner sign --ks 密钥库名 --ks-key-alias 密...

2019-05-14 16:29:16 6375 1

原创 Android 代码审计分享(基于AndroiBugs)

站在巨人的肩膀上实现,先感谢一下作者,奉上AndroidBugs项目的GitHub地址正题一.AndroiBugs(window)(地址:https://github.com/AndroBugs/AndroBugs_Framework)AndroiBugs是在Windows环境下监测Android安装包的一个工具,经实践该工具能够扫描出项目中的网络安全问题,webView使用隐患,明码保存...

2019-02-26 10:53:11 2740

原创 Android端解压ZIP文件中文乱码的问题

吐槽为解决这个问题,在网上徘徊了数小时,被那些盲目搬砖的博主坑死,明明不可行的方案为什么还要搬到自己的口袋呢?这些人真害人不浅,浪费彼此时间!!!吐槽到此为止。上代码:正文首先呢,实现此功能用到的核心工具类ZipFile就不能使用Java本家的了,使用apache家的,,然后就是实现代码了,全部粘上,别像我一样四处摸索,apache家的ZipFile下载地址:&amp;gt; 链接:https:...

2018-11-11 23:04:12 4631 7

原创 有应用遮挡了权限请求界面的提示,设置应用无法验证

调试华为手机时,USB数据线连接电脑之后,弹出-----有应用遮挡了权限请求界面的提示,设置应用无法验证,想问解决办法?你是不是打开了桌面悬浮球?而且还在屏幕右侧?好的,把小球挪到屏幕左侧试试吧?...

2018-11-05 11:16:01 29351 5

原创 Git安装及配置用户信息

最近计划进行一些总结,此篇对Git相关的知识点进行总结。GIt的下载及安装:点击Git下载地址下载Git客户端,本机是32bit,故按需下载了32bit安装包此次本机下载了的安装包安装Git步骤如下:OK,点击 install 等待安装成功,如图验证一下吧,输入git,出现如图表示安装成功:...

2018-10-09 23:50:30 965

原创 git教程之git命令总结

一. 分支操作列出本地所有分支 git branch 退不出命令?单击Q键列出所有远程分支 git branch -r列出所有分支,包括远程和本地所有分支 git branch -a新建分支,但是停留在当前分支 git branch [name]比如创建名为dev的分支: git branch dev新建分支,并切换到新建分支: gi...

2018-10-08 17:38:35 673

原创 com.google.gson.stream.MalformedJsonException: Expected name at line 1 colum

话不多说,用Gson进行解析后台传来的json数据时,因为需要模拟数据,就保存了一份在string.xml文件中,减少测试时多次进行网络请求,结果拿来解析一下,报了错,如下:Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was S...

2018-09-29 14:55:29 7491

原创 Android apk签名之查看安装包是否签名

在Android开发时,有时我会需要确定之前打的安装包是否签名以及是release签名还是debug签名,我们需要借助Java的jarsigner工具进行查看,步骤如下:jarsigner工具位于jdk目录下的bin目录下,首先打开cmd窗口,切换目录到jdk安装目录, 比如我的安装目录是—E:\learn\Java\jdk1.8.0_131,所以在cmd窗口输入命令行: 使用jars...

2018-09-13 17:37:19 9804

原创 Android的UI优化之merge、include、ViewStub标签

最近要对新接手的一个Android项目做性能优化,经过大量的查阅学习,总结了一些知识点,特此记录。此篇记录UI性能方面的优化思路。说起UI的优化,不得不了解一下过度绘制的概念、产生原因和表现、查看以及优化overdraw的方法。 1. 过度绘制(Overdraw)概念 是指在一帧的时间(16.67ms)内,像素被多次绘制 2. 产生的原因和表现 一个像素被绘...

2018-09-12 17:31:34 802

原创 Android优化APP启动速度思路

APP的性能优化是一项大工程,其实总结下来的终极目标体现出来就是快、稳、省、小。最近接手一个上古项目,在测试阶段把APP交给了**功能性能测试团队,此公司宣传覆盖上千机型、测试全面、巴拉巴拉。。。。。。 一周之后拿到APP测试报告,测试报告中问题机型全尼玛是2013、2014年的机型,版本最高不超过4.4,运存不超过1G,甚至出现不知道多少480*800的机型进行测试(是从某二手网上按公...

2018-09-03 17:25:02 885

原创 IDEA报错:Error:The supplied javaHome seems to be invalid. I cannot find the java executable. Tried loc

受一位8年的Java前辈影响,将IDE从Androidstudio逐渐转到IDEA,但是第一步从git上导入一个项目就遇到了如题的问题,根据日志反复更改JavaHome,死活编译不过。 万念俱灰之时,在设置选项里从未指定Gradle JVM 路径位置更改指向环境变量中的JAVA_HOME,问题瞬间得到了解决。 对比了一下IDEA和AndroidStudio的gradle设置选项,发现AS的...

2018-07-11 17:23:15 10433 5

原创 Java中Date类格式形如yyyy-MM-ddTHH:mm:ss的日期转换问题

今天处理新接手的一个项目,其中有需求计算两个日期的差值,内心毫无波澜地开始处理,等我拿到接口数据的时候,我内心依然毫无波澜,甚至想吃黄焖鸡米饭….. 数据是这样的,&amp;quot;arrivalDateTime&amp;quot;:&amp;quot;2019-03-08T15:55:00&amp;quot;,&amp;quot;departureDateTime&amp;quot;:&amp;quot;2019-03-09T12:00:

2018-07-09 17:36:43 26266 1

原创 Android实现多语言切换

前言,最近要实现多语言切换需求,在网上查了很多资料,基本实现了想要的效果。 主要代码: Configuration configuration = activity.getResources().getConfiguration(); LocaleList localeList = new LocaleList(locale); LocaleList.setDefaul...

2018-06-13 22:53:27 4672

原创 AndroidStudio的JNI简单实现

AndroidJNI入门

2018-06-03 22:33:20 494

原创 Error:Unable to resolve dependency for ':app@debugAndroidTest/compileClasspa

AndroidStudio升级到3.0.1,gradle版本升级到4.1之后,在依赖第三方库时,遇到以下报错 Error:Unable to resolve dependency for ‘:*‘’,在网上搜索了一圈之后依然没有解决问题,最后到gradle设置里的看到offline被勾选,果断取消勾选,成功解决问题...

2018-05-25 21:05:10 10184

原创 androidStudio3.6 及以下版本 报错No cached version available for offline mode 解决方法

好久没有打开的项目重新打开编译时,报如下Error:Could not resolve all files for configuration ‘:app:debugAnnotationProcessorClasspath’. Could not download butterknife-compiler.jar (com.jakewharton:butterknife-compil...

2018-05-16 13:28:43 37197 35

原创 Android中通过typeface设置字体

在网上跑图几个小时,终于总结完。 行吧行吧,发车…… 开发过程中,布局文件中指定仅限于系统自带的四种字体(android Studio 3.0.1),就如: 嫌丑都不喜欢?去下载字体包吧我是免费商用字体下载链接字体下载,下载完成导入到项目,在assets文件夹(和Java文件夹同级,没有新建)中新建fonts文件夹,如图 最简单的替换方式Typeface TypeFaceYa...

2018-04-12 13:57:51 2417

原创 解决android4.4 startActivityForResult()无效的问题

解决android4.4 startActivityForResult()无效的问题如题:最近项目中, 遇到在android4.4 activityA中对activityB调用startActivityForResult()后, 会直接回调activityA的onActivityResult(), 我直接懵逼了,我来来回回测试了3小时,最后在配置文件AndroidManifest.xml中设置

2018-03-29 11:18:08 2297 1

原创 android context.getResources()方法的过时替换

在编译的过程中,IDE会提示 发现其中有一部分是context.getResources().getColor()方法的过时问题, 而且在编写过程中,还会提示 查了资料在23版本之后过时,替换的方法为 ContextCompat.getColor(context, R.color.black);...

2018-03-06 14:30:37 1806

原创 PopupWindow.setOutsideTouchable()无效

在实现popupwindow显示及消失的功能时,功能代码如下: if (mViewReleasePop == null) { mViewReleasePop = LayoutInflater.from(mActivity).inflate(R.layout.layout_relaease_secret, null); } if (mR...

2018-02-24 11:52:21 669

原创 com\jeremyfeinstein\slidingmenu\lib\CustomViewAbove.java 错误: 找不到符号 符号: 方法 sin(float) 位置: 类 FloatM

项目要侧滑菜单效果,搜到上古神兽SlidingMenu,git地址:https://github.com/jfeinstein10/SlidingMenu,下载了zip,Android studio 只需将将下载的项目中的library导入自己的项目就OK使用流程:1.添加了项目依赖。2.自定义侧滑菜单的布局xml version="1.0" encoding="utf-8"?

2018-01-31 17:12:08 1032

原创 解决Android studio编译慢总结思路

菜鸟一枚,勿轻喷!!比较忙,一直没有在studio编译速度上处理,直到今天早上我忍无可忍,被迫去查相关的知识-_-,并有了一点点收货。早上日常来到公司,打开屏幕,输入命令符clean项目,倒上水,静等studio完事(1min,2min...我*,这么久还没完?3min....直到5.5min才clean完成,我郁闷了,之前clean一下30s就完事了,要再试试build要多久,结果是8.

2018-01-26 18:34:21 4166 4

空空如也

空空如也

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

TA关注的人

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