Android
浅浅清风
这个作者很懒,什么都没留下…
展开
-
AmazonS3 android sdk接入
AmazonS3 android sdk接入前段时间接了iOS的AmazonS3,用于上传及访问大文件和图片。过程比较坎坷,Android总的来说顺利很多,不过也碰到一些问题,在此记录一下官方的示例代码示例代码挺好的,不过不是太符合我的要求,我们服务端给的AWS凭证是动态的,每2小时更新一次。看官方的教程好像是写死在配置里的。而且我也没找到符合我需求的示例代码。集成方式和官网描述一样,不嫌我废话的话,我就贴一下吧。dependencies { def aws_version = "2原创 2020-12-04 15:31:23 · 3174 阅读 · 9 评论 -
Android 按键防止过快点击(防抖),在ButterKnife中的简单解决方案。
其实自己也在网上找了一些防抖的方案,比如RxBinding啊,NoDoubleClickListener啊,原始解决方案啊等等,不过那都不是我想要的。 因为项目中使用了ButterKnife绑定控件和为控件注册点击事件。所以上面搜到的那些方案都不太好使,原始的又过于臃肿。 最后还是只能自己动手丰衣足食了。 其实想要防抖无非就是判断一下时间差,但每次写一堆代码,或者说每次复制一堆代码,很臃肿,我原创 2016-11-09 16:03:03 · 12021 阅读 · 1 评论 -
怎么去掉工程中无用的so包(Realm的坑)
之前在项目中引用了百度地图的SDK,按照官方文档来操作,把所有的so包全都拷贝到libs文件夹下,结果app蹭的一下多了好几M,后来项目快上线的时候,经理就说,这个app怎么这么大呢,想办法压缩一下。没办法,只能硬着头皮搞啰。 后来,在网上找了好多减少apk大小的教程。基本上都提到了只保留一个armeabi文件夹下的so包。 然后我删掉了其他文件夹的so包,然后一运行,哈哈,真的小了3M左右,而原创 2016-07-01 15:10:32 · 4953 阅读 · 1 评论 -
Android资源文件混淆
Android资源文件混淆通常我们说的混淆都是指代码混淆,但其实资源文件中也有很多重要的文件,为了防止我们的资源文件被别人用apktools反编译直接获取到,我们可以使用某些工具来为我们的资源文件做混淆,保证我们资源文件的相对安全. 在写这篇博客前,博主已经踩了N多的坑,为了方便更多的人,我把资源文件混淆用到的工具和步骤上传到CSDN供大家参考.准备工作: 工具下载地址:http://downl原创 2016-04-20 17:52:35 · 9687 阅读 · 6 评论 -
Kotlin for Android - 实战记录<一>
·在应用任意类中获取Application(没有context时,获取Application)·在应用任意类中获取SharedPreference(没有context时,获SharedPreference)·在Fragment中直接使用布局文件的id作为控件使用·监听EditText内容变化,更优雅的方式·是用kotlin定义一个Dialog模板原创 2017-06-23 16:47:03 · 4861 阅读 · 0 评论 -
Realm使用小记
最近有点空闲时间,就记录一下以前忘记记录的内容。 Realm是一个能够代替SQLite和Core Data的手机数据库。使用 C++ 内核,所以效率非常的高,是 sqlite 的近几倍。 其实我们自己也可以写demo测试一下存储相同数据,两个数据库所消耗的时间。 Realm在多个平台上都可以使用,据说数据库文件可以在多个平台上通用。 添加依赖,在工程目录下的build.gradle中加上cl原创 2016-08-22 17:34:58 · 7874 阅读 · 2 评论 -
Kotlin for Android - 常用关键字
kotlin中与java用法一致的关键字包括:override ,while 等声明· open 在kotlin一个类需要被另一个类继承的话,需要用到open关键字open class OpenClass {}· is 判断类型 fun testIs() { var a: Any? = null; a = 3L if (a is Int) {原创 2017-06-23 15:36:23 · 1306 阅读 · 0 评论 -
Realm异步查询的三种方式
阅读过Realm文档的童鞋们应该都知道Realm、RealmObject 和RealmResults 实例都是不可以跨线程使用的。 虽然Realm查询数据的速度非常快,但有些时候我们还是不得不用上异步查询。在Realm中,从子线程查询到的数据到主线程中是不可以使用的,会报Realm accessed from incorrect thread. 所以我们如果希望通过我们熟悉的方式去创建异步原创 2017-07-07 11:46:52 · 4713 阅读 · 0 评论 -
Android代码布局-工具封装
Android代码布局-工具封装 android中的xml十分方便,在大部分时候xml基本上都能解决问题了,不过有的时候还是不得不用上代码布局,比如动态布局, 或者是通过代码布局来获得更好的复用性。实际上代码布局是相对比较麻烦,因为设置View的属性的时候, 我们需要关心父布局到底是什么布局,才能设置相应的Param,本文讲讲,如何封装代码,让代码布局和xml布局变得一样简单。效果图...原创 2018-04-17 18:18:21 · 1456 阅读 · 0 评论 -
使用SimpleXml解析xml数据<三>
使用SimpleXml解析xml数据<三>前两篇博客介绍了一些基本xml解析。 不过在使用过程中我们有可能也会遇到比较变态的xml,这篇博客主要讲讲怎么解析稍微不正常一点的xml。第一种:<Bean xmlns:soap="http://www.w3.org/2001/XMLSchema-instance"> <soap:value>123</soap:value></Bean>这种相对原创 2016-10-14 11:05:21 · 2232 阅读 · 2 评论 -
使用SimpleXml解析xml数据<二>
上一篇讲了如何将一个包含了对象的Xml文件转换成一个对象. 今天继续解析一个list和嵌套对象的解析. 首先解析一个list,xml文件如下:result = "<GetPositionListResult>" + " <PositionInfo>" + " <ReqDegreeID>0</ReqDegreeID>" + "原创 2016-06-22 12:42:16 · 3630 阅读 · 0 评论 -
使用友盟统计解决程序中的bug
新版本的友盟统计中默认带上了异常捕获,统计Activity数据只需要在BaseActivity中加上如下代码即可。 @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this.getApplicationContext()); } @原创 2016-06-08 17:40:06 · 3770 阅读 · 0 评论 -
记录下对项目进行重构的过程
最近因为研究了Retrofit+RxJava+MVP,感觉这种组合相当好,再看看自己之前写的代码,可维护性真的太差了。 由于公司项目使用的是WebService+xml,所以我写了个Demo让WebService+xml也能使用Retrofit+Rx+MVP。但后来想想,如果把项目真的完全改成这种模式,那付出的代价太大了。 由于项目是已经上线的,对项目进行重构,必须要保证能够对之前的版本兼容。原创 2016-07-01 16:29:26 · 4090 阅读 · 0 评论 -
使用路径动画完成一个简洁优雅的启动页动画
是不是受够了千篇一律的透明度变化的启动页动画,快来试试使用路径动画和属性动画构建一个特别的启动页动画吧.最近在网上看到一个路径动画的例子,感觉效果很不错,仿照着例子写了一个路径动画的库,并且上传到jcenter,方便AS玩家通过依赖使用. github地址:https://github.com/sunflowerseat/PathAnim 先上效果图,让图说话: 接下来,我讲讲怎么通过这个原创 2016-06-17 14:26:39 · 5027 阅读 · 11 评论 -
使用FindBugs-IDEA插件找到代码中潜在的问题
我们通常都会在APP上线之后,发现各种错误,尤其是空指针异常,这些错误对于用户体验来说是非常不好的,但其实大部分的问题,我们都能够提前发现.在编写代码的过程中,可能不会时时刻刻记得检查空的引用,还有删除没有用过的变量,在我们自己测试的过程中可能难以发现问题,一旦app上线,用户的使用环境改变,这些潜在的问题就可能会冒出来. 当然这这只是对于我这种经常写出空指针异常的小白而言的,编程风格良好,编程严原创 2016-06-20 09:32:36 · 45564 阅读 · 4 评论 -
使用SimpleXml解析xml数据<一>
最近研究上了Retrofit+Rxjava,对于http+json的服务器来说,这简直就是神器,不幸的是我公司使用的是Webservice+xml.在第一步我就遇到了困难.不过要用也不是没有办法.首先第一步我们得先学习一下这个传说中SimpleXml.想想很多年前我还是自己全手动解析xml的,真是太心酸了,后来又用了dom4j,jdom之类的xml解析工具.不过后来我发现了JAXB这个xml解析工具原创 2016-06-21 18:14:11 · 6129 阅读 · 1 评论 -
使用Android studio发布项目到jcenter
前不久写了一个路径动画的库,想上传到jcenter让其他人可以通过complile的方式来依赖使用. 在网上找了很多文章,自己也试了很多方法,最后还是参照鸿神这篇文章上传上去了.说起上传库的过程,真是太心酸了.本来想转载鸿神的 快速发布项目到jcenter,无奈没有找到转载的按钮,决定自己写一篇. 因为在上传的过程中,我也遇到了许多问题,也算是记录一下,希望能帮助其他人少踩一点坑吧,注:步骤与鸿原创 2016-06-20 11:03:59 · 946 阅读 · 0 评论 -
解决webview内存泄漏问题
在项目中遇到需要使用webview来显示一些内容的情况,在整体测试内存泄漏的时候发现这个webview存在内存泄漏的问题.仔细排查了之后,作者在activity销毁的时候调用了webview的destory并且置为了空,然后继续测试,竟然没有任何效果.后来通过在网上查找资料,算是解决了这个webview的内存泄漏的问题, 参考博客: http://my.oschina.net/zhibuji/bl原创 2016-06-06 15:16:46 · 4975 阅读 · 2 评论 -
android使用Leaks检测内存泄漏
Leaks 内存泄漏检测工具使用网址:https://github.com/square/leakcanary 在你的module中添加依赖debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-原创 2016-06-06 14:33:21 · 33006 阅读 · 4 评论 -
像使用插件一样为listview添加侧滑,上拉加载等功能
像使用插件一样为recyclerView/listview添加侧滑,上拉加载等功能(几乎无需改动原有代码)RecyclerView 和Listview在项目中算是非常常用的了,不过在博客的开头,我还是要重申一下这个库的特点,几乎无需修改原有代码,而且所有功能全都独立。RecyclerView 和Listview用法大家都非常清楚,有时候我们经常在编写好listview和Recyclerview中的内原创 2016-08-03 16:10:41 · 1422 阅读 · 1 评论 -
Android Annotation框架初步实践
Android Annotation框架初步实践实现模拟访问服务器数据和获取验证码倒计时的功能 关于集成别的文章里都有很多,这里就不说了 集成Android Annotation可以参考链接: http://blog.csdn.net/caiwenfeng_for_23/article/details/45801151 ,记录下集成失败的解决方案,在module的build gradle中加原创 2016-06-07 16:40:22 · 770 阅读 · 0 评论