- 博客(146)
- 资源 (27)
- 论坛 (1)
- 收藏
- 关注

原创 Android 实用开源项目集合 持续更新
1、Android 万能的Adapter for ListView,RecyclerView,GridView等,支持多种Item类型的情况。https://github.com/hongyangAndroid/baseAdapter 点击打开链接 2、播放gif图片。https://github.com/koral--/android-gif-drawab...
2017-09-11 17:24:16
861
原创 git 解决.gitignore第一次使用后添加规则失效
.gitignore 文件在我们使用git管理代码的时候会用到,定义了一些我们想主动屏蔽某些文件的规则,比如:.DS_Storetarget//im.payment.iml意思就是某些目录下或者某些文件提交的时候屏蔽掉,比如编译后的.class文件就没有必要提交,不然每编译一次都提交,意义不大,提交源代码就好了。第一次提交的时候.gitignore 文件拷贝在项目的根目录...
2019-02-26 14:38:01
382
1
原创 java 解决date 类型的时间插入mysql中差8小时
java.util.Date authToken.setCreateTime(new Date());数据库对应时间字段类型是datetime,时间打印出来确实是对的,但是插入数据库,显示的时间慢8小时,奇了怪了经过研究,发现是数据库时区没设置对,serverTimezone=UTC或者GMT改成CTT(Asia&Shanghai)即可完整的数据库url为:...
2019-02-20 10:28:49
5786
6
原创 android 解决微信登录白屏样式问题
我们在做微信登录或者支付的时候,会用到SDK自带的两个页面WXEntryActivity、WXPayEntryActivity但是总会因为这两个页面的样式问题,出现白屏啊抖动啊的问题解决其实很简单,就是把这个两个页面theme和layout背景都设置为透明的注意:theme和layout背景都要是透明的哦以下是theme<style name="Theme.Tran...
2019-02-18 20:18:45
4403
原创 android Manifest merger failed : Attribute application@allowBackup value=(true) from AndroidManifest
Manifest merger failed : Attribute application@allowBackup value=(true) from AndroidManifest.xml:35:9-35 is also present at [WbCloudFaceReflectLiveSdk-v2.1.48-b65228a.aar] AndroidManifest.xml:28:9...
2019-01-29 21:01:45
2202
原创 java 微信支付 demo
首先我只想说微信能把文档写清楚点吗?超级无敌巨坑首先进入微信开发者平台 https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN 点击打开链接, 然后找到微信APP支付接入商户服务中心 https://open.weixin.qq.com/cgi-bin/showdocument?action=di...
2019-01-29 14:06:00
7374
4
原创 java byte 的各种转换
// byte[]与int转换public static int byteArrayToInt(byte[] b) { return b[3] & 0xFF | (b[2] & 0xFF) << 8 | (b[1] & 0xFF) << 16 | ...
2019-01-28 14:00:10
585
原创 java intellij idea Error:(3, 26) java: 程序包com.gp.chat.config不存在
第一次搭建idea maven项目,其他配置都OK,但是还是有这么一个坑,Error:(3, 26) java: 程序包com.gp.chat.config不存在到处找答案,最后在一个朋友的帮助下完美解决,这里记录下解决方法。 看错误提示是某些类找不到,但是也没有报红,也找得到那么类的Java文件,但是就是运行就报错,Error:(3, 26) java: 程序包com.gp.ch...
2019-01-27 15:32:03
9670
原创 android studio 真正的简单的修改包名的方法
做安卓的小伙伴可能都会遇到这么一个问题,那就是修改包名,如果项目比较小,手动修改也可以,但是如果项目相当庞大,至少好几百个类文件的时候呢,手动修改绝逼是一门苦力活,我曾经就经历过这种想死的经历,今天偶然得知这么一个简单的修改包名的方法,这里记录下,方便你我他。 首先开发的工具得是android studio,eclipse自行跳过,很久没用它了哈。比如我把原包名com.xxx....
2019-01-25 12:52:17
3839
原创 android手机与局域网本地服务器通信
很多时候我们开发调试都是和远程服务器上通信,但是有种情况就需要和本地服务器通信,比如同时开发安卓端和服务端,如果用postman之类的工具调试的话直接localhost就行,但是用android手机调试呢?其实也很简单,首先保证电脑和手机在同一局域网,比如都连接的同一个无线路由器,举个例子:远程时https://test-user.csdn.com/api/v1/,那么本地时先...
2018-11-02 20:16:25
696
原创 android retrofit 单独处理返回状态码204以及统一处理特殊返回码比如401
返回状态码比如401,一般表示身份无效,比如token失效之类的,这个时候就需要调用接口刷新token,肯定不能在每个接口请求回调那里去刷新,要是一个APP有几百个接口不是很麻烦吗,那么retrofit怎么拦截这个401做统一处理呢,直接上代码:Interceptor tokenInterceptor = new Interceptor() { @Overri...
2018-09-24 12:03:01
3210
原创 android AppCompatRatingBar 简单实用及注意点
AppCompatRatingBar 这个控件很多年前用过,用来做商场评价用的,当时就碰到了很多坑,都摆平了,多年未使用发现又掉坑了, 因为以前没记录,很多坑都忘记怎么干掉的了,花了一点时间终于又摆平了为了下次使用方便,这里做个记录。先看下正确使用后的效果图吧:直接上使用的文件内容吧:<android.support.v7.widget.AppCompatRa...
2018-09-14 14:15:31
4845
原创 解决 Retrofit io.reactivex.exceptions.OnErrorNotImplementedException: HTTP 404 Not Found
io.reactivex.exceptions.OnErrorNotImplementedException: HTTP 404 Not Found at io.reactivex.internal.functions.Functions$14.accept(Functions.java:229) at io.reactivex.internal.functio...
2018-08-24 10:37:48
10257
原创 android Facebook deeplink 坑坑坑
我们的产品是发布到GooglePlay上面的,主要面向海外的,但是呢?实际需求是要针对Facebook广告渠道隐藏部分UI,哈哈刚开始打算用Google官方的referrer来做,相当简单,但是呢facebook不让自定义referrer信息,最后找到了facebook deeplink,官方地址如下:https://developers.facebook.com/docs/app-ads/dee...
2018-07-06 16:00:59
2624
原创 Mac 抓包工具青花瓷Charles使用步骤
windows上抓包的工具有httpwatch、fiddler等,Facebook 的stetho用于安卓开发也很方便,但是Mac呢?这里我也才学会使用Charles,大家都说这个在mac上还算好用的了,经过我的使用体验发现配置步骤比较多,使用体验也一般般吧,不过也能满足要求了,这里记录下使用步骤哈。先下载安装青花瓷Charles,进入官网下载地址:http://www.charl...
2018-07-04 15:17:08
1048
原创 Android 知识点总结 持续更新
Java篇1、ArrayList和LinkedList区别相同点:1、都实现List 2、都是线程不安全的不同点:1、ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2、对于随机访问get和set,ArrayList比较占优势,因为LinkedList要移动指针。 3、对于新增和删除操作...
2018-06-29 12:35:30
237
原创 android google 登录流程及遇到的坑
最近在做Facebook 和google第三方登录,Facebook一气呵成,看着官方文档一步一步走,几乎没啥问题Facebook登录 文档地址https://developers.facebook.com/docs/facebook-login 点击打开链接Facebook登录权限 文档地址https://developers.facebook.com/docs/fac...
2018-06-21 20:57:03
15113
32
原创 android 多语言
一般国内的APP用不到多语言,但是有些小伙伴开发的可能是国际化的APP,所以这里就要用到多语言相关的知识,我们都知道资源文件夹改成相应的国家代码名称,一旦切换手机系统语言,APP也会跟着切换,如图:但是可能就有小伙伴会问values后面那些怎么来的,哈哈,这里我之前也犯了迷糊,搞不清楚,要切哪个语言就去百度谷歌,但是这个感觉太Low,最后找到了正确的方法,这里做个记录。打开Android Stud...
2018-06-07 20:56:36
192
原创 解决Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/chenqi/Library/And
最近更新AndroidStudio运行不起项目,新BUG,这里记录下解决方案先看错误日志org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/chenqi/Library/Android/sdk/ndk-bundle/toolchains/mips64el-li...
2018-05-30 14:53:46
6632
原创 解Caused by java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing
今天遇到一个crash,贴下报错日志:Caused by java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling android.support.v7.widget.GrindrPagedRecyclerView{b15cd5 VFE...
2018-05-19 17:33:52
13398
6
原创 解决 Realm Only valid managed objects can be copied from Realm.
最近项目用到了ORM数据库Realm,功能强大,也非常方便,同时也带来了很多奇葩的问题比如这个异常,找了半天也没有解决方案,经过千辛万苦终于找到了,这里做个记录,防止以后再次入坑先看代码 public RealmChatMessage getChatMessageSynchronous(String messageId) { RealmChatMessage realmCha...
2018-05-04 21:25:18
1816
原创 android 优化软键盘与表情面板切换时发生抖动
之前一直用的大神自定义的软键盘表情View,一直也没去详细研究,最近踩到坑了,当软键盘弹出时再切换到表情面板,或者表情面板切换到软键盘弹出时,发生页面抖动,体验不好。经过2天的摸索找到了最终简单的解决方案,不用去计算软键盘和表情的高度。什么原因引起的抖动呢?比如从软键盘切换到表情盘,那么软键盘会先隐藏,接着EditText也跟着滑下去了,然后显示表情盘,就又把EditText顶上去了,这个过程给我...
2018-04-19 22:45:25
1310
转载 深入理解Android之View的绘制流程
概述本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。在进行实际的分析之前,我们先来看下面这张图:我们来对上图做出简单解释:DecorView是一个应用窗口的根容器,它本质上是一个FrameLayout。DecorV...
2018-03-11 15:33:19
223
转载 Android 序列化Serializable和Parcelable的理解和区别
一、android为什么要序列化?什么是序列化,怎么进行序列化why为什么要了解序列化?—— 进行Android开发的时候,无法将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递。what什么是序列化 —— 序列化,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。how怎...
2018-03-11 15:32:38
204
原创 Android 图片加载框架Glide缓存原理源码分析
上一篇 Android 图片加载框架Glide主流程源码分析一个好使的图片加载框架,与它的缓存设计关系密切,这里来通过源码看看Glide是怎么设计它的缓存的吧。根据加载主流程我们可以知道Glide的使用是要先初始化Glide单例,进入到GlideBuilderpublic final class GlideBuilder { ... public Glide build(Context c...
2018-03-11 15:29:00
2937
原创 2017年度总结
虽然标题是关于2017年的,由于这是我第一篇个人年度总结,其实也是对做程序猿以来这几年的心得进行一次总结。那是2012年的7月,大学毕业,从海南回到了家乡最近的一个城市重庆,在海南呆了几年还是觉得家里最好,打算以后就在重庆工作生活,不想再出远门了,有点累了。事与愿违,到了重庆后发现我学的专业国际贸易很难找到对口的岗位,网上投简历人才市场也经常去,好不容易找到几个公司去面试,人家又觉得我英语不好,性...
2018-02-10 14:20:50
227
原创 Android 图片加载框架Glide主流程源码分析
下一篇 Android 图片加载框架Glide缓存原理源码分析Glide图片加载框架最近比较火,谷歌官方强烈推荐,使用也比较简单,功能强大,支持网络图片本地图片的加载,支持静态图片和动态图片。反正一句话就是很火很牛,我们需要它。github地址:https://github.com/bumptech/glide 点击打开链接这里采用的Glide4.4版本进行分析,现在直接根据加载方法开始分析吧...
2018-02-09 15:32:57
7619
2
原创 学习使用python玩转微信小游戏“跳一跳”
最近微信小游戏“跳一跳”可是火得一塌糊涂,我玩了很久也才100分左右,一看排行榜,几百上千的不少,我真不信他们那么会玩这款游戏,其中必有蹊跷,咨询他们过后,果然,开挂的人生不需要解释。大神GitHub地址:https://github.com/qiyeboy/LuLunZi 的大神博客地址:http://mp.weixin.qq.com/s?__biz=MzIwODIxMjc4
2018-01-05 18:18:21
653
原创 Android 学习使用annotationprocessor自动生成java文件
最近看glide源码,发现里面有个类必须用到的,没在源码里面,居然在build/generated目录下,这里面是自动生成的Java文件,比如R文件。奇了个怪了,通过查阅大神文章知道了原来是利用了annotationprocessor编译器,在编译期间创建的,用到这个的出名框架比如:Butter Knife、Glide 。注意:android-apt这个插件官方已经宣布不再维护,插件gradle...
2017-12-25 00:12:46
13429
原创 AsyncTask源码解析
AsyncTask 是Android SDK中的一个类,相信大家都是用过,看下源码中的注释/** * AsyncTask enables proper and easy use of the UI thread. This class allows you * to perform background operations and publish results on the UI t
2017-12-08 19:43:58
203
原创 Android EventBus 源码解析
EventBus,由greenrobot组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架;EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法;实践证明已经有一亿多的APP中集成了EventBusgithub地址
2017-12-04 17:59:27
344
原创 java isAssignableFrom 用法
/** * Determines if the class or interface represented by this * {@code Class} object is either the same as, or is a superclass or * superinterface of, the class or interface represente
2017-12-04 12:15:12
1022
转载 Java的算数运算符、关系运算符、逻辑运算符、位运算符
Java的运算符,分为四类:算数运算符、关系运算符、逻辑运算符、位运算符。算数运算符(9):+ - * / % ++ --关系运算符(6):== != > >= < <=逻辑运算符(6):&& || ! ^ & |位运算符(7):& | ~ ^ >> << >>&
2017-11-30 18:21:50
1807
原创 ThreadLocal源码解析
这个类Android中直接用到的场景不是很多,几乎都间接用到了,比如Looper中就会用到;ThreadLocal看名字感觉像是一个线程,其实并不是,就是一个普通的类,但是确实跟线程有关系。那么有什么作用呢?ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了线程保持对象的方法和避免参数传递的方便的对象访问方式 ,ThreadLocal的应用场合,最
2017-11-30 11:46:50
277
原创 java 学习自定义注解Annotation
Annotation 注解相信大家平时经常用到,比如常见的有@Override @Deprecated @SuppressWarnings还有很多第三方框架也用到了自定义注解,以前一直觉得很神奇,其实学习自定义才发现还是很简单的嘛什么是注解?由于不擅言辞,我就直接引用大神的博客介绍了,以下是大神博客地址http://blog.csdn.net/hai_qing_xu
2017-11-23 18:47:12
211
原创 android 学习使用Activity转场动画及shareElement
以前我们定义activity转场动画都是如下:Intent intent=new Intent(this,SecondActivity.class);startActivity(intent);overridePendingTransition(R.anim.enter_anim,R.anim.exit_anim);API21以上SDK内置了专场动画,可以用于Activity和Fragme
2017-11-21 16:28:02
3115
原创 android Fragmentation框架源码全面解析一
Fragmentaion框架是一个很优秀的框架,我们有2个项目都使用过,目前无不良反应,BUG呢还是有一些,不过不妨碍它的优秀。项目地址:https://github.com/YoKeyword/Fragmentation 点击打开链接关注好几千,群众的眼光是雪亮的。它有啥作用呢?为"单Activity + 多Fragment的架构", "多模块Activity +
2017-11-17 18:40:38
4951
原创 Android studio 3.0 查看手机文件系统
众所周知,我们要查看安卓手机中文件系统前提条件是要root手机,然后去DDMS里面去看,但是现在很多手机都不好root,替代的方法是用电脑模拟器,不管怎么样,都挺麻烦的,最近更新Android studio 到3.0版本,无意间发现了一个方法,非常简单,还不用root手机。1、手机USB线连接手机,打开调试模式2、打开AS,找到窗口右下角的Device File Explorer,如下图:
2017-11-15 11:05:59
16357
1
原创 android 解决微信登陆返回resp.errCode = -6
一直做微信登陆都没啥问题,这次又遇到问题了,所有工作都做好后,调用微信登陆返回resp.errCode = -6,印象中好像没遇到过这个问题,卸载了微信重新登陆就正常,但是只有第一次正常,我奇了怪了,百度了一把说是签名问题,我脑海中一直都默认签名是对的,实在没办法了,就核实签名,结果果然是签名问题,好了,又可以愉快玩耍了提下这次的签名问题,审核APP提交android.keysto
2017-11-13 18:20:15
4260
原创 解决Error:(3) Error: "app_name" is not translated in "zh" (Chinese) [MissingTranslation]
最近把Android studio 升级到3.0,说实话不是特别需要我一般不会更新开发工具,3.0初次使用给我的感觉是界面更好看了,没那么卡了,有些代码提示更人性化了,今天来打了一个签名包,发现帅不过3天又掉坑了,报了一大堆错,如下:Information:Gradle tasks [:TestDemo:assembleRelease]D:\TestDemoTestDemo\src\mai
2017-11-09 15:30:11
1401
安卓混淆工具
2013-11-28
keyboardPanelSwitcher
2018-04-19
模仿钉钉打卡
2017-10-12
Alex老夫子的留言板
发表于 2020-01-02 最后回复 2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝