前言TabLayout相信大家都用过,2015年Google大会上发布了新的Android Support Design库里面包含了很多新的控件,其中就包含TabLayout,它可以配合ViewPager完成很好的效果。
继续阅读
|
转载请标明出处: http://www.weyye.me/detail/android-memory-leak-explaination/本文出自:【Wey Ye的博客】
前言内存泄漏也算是一个老生常谈的一个话题,在面试的时候也会经常被问到。这几天正在研究性能优化,所以我打算先从内存泄漏开始讲起
继续阅读
|
转载请标明出处: http://weyye.me/detail/framework-appcompatactivity-setcontentview/本文出自:【Wey Ye的博客】
前言在上一篇Android走进Framework之app是如何被启动的中讲到了从我们点击app一直到调用Activity.onCreate()的整个流程,今天来研究下我们最熟悉的一行代码setContentView()。网上也有很多关于setContentView的源码解析,但是都是基于Activity源码,而我们现在都是继承的AppCompatActivity,看源码发现改动还不少,所以我打算来研究下AppCompatActivity里是如何把我们的布局添加进去的。你是否也曾有过同样的疑惑,为什么创建Activity就要在onCreate()里面调用setContentView()?那就让我们来RTFSC (Read the fucking source code )。
继续阅读
|
前言今日头条是我最喜欢的app之一,当然喜欢并不是因为内容精彩,而是逗比的评论,而且看视频的没有广告,我这个人喜欢收藏,尤其是小视频(手动滑稽),可是却没有下载的按钮,之后在仿今日头条项目里也需要用到视频,进入网页右键另存为也比较麻烦,作为程序猿,这可不是我们的办事风格。于是动手撸了一个视频下载器,喜欢的记得给个Star,当作是给我的鼓励和动力吧。
继续阅读
|
起因看到众多大神纷纷有了自己的开源项目,于是自己琢磨着也想做一个开源项目来学习下,因为每次无聊必刷的app就是今日头条,评论简直比内容都精彩,所以我打算仿今日头条来练练手,期间也曾放弃过,也遇到很多坑,拿出来跟大家分享一下。该项目使用的是MVP+RxJava+Retrofit。喜欢的记得给个Star,当作是给我的鼓励和动力吧。
继续阅读
|
转载请标明出处: http://www.weyye.me/detail/android-source-activity-oncreate/本文出自:【Wey Ye的博客】
前言
一个app的程序是怎么启动的?入口在哪里?
听说ActivityManagerServices很屌,Why?
Activity生命周期到底是谁调用的?
Application又是在哪里初始化的?onCreate又是如何被调用的?
面试官常常会问:为什么主线程使用looper.loop不会卡死界面?
等等..
是不是一直有这样的疑问?很懵逼对不对 - - ,那我们就站在巨人的丁丁上来解决一下这些问题,如果文中出现一些错误,还望指正,互相学习
继续阅读
|
前言之前做项目一直使用的高德地图,这次做的项目客户必须使用腾讯地图,然后又去折腾了下腾讯地图,说说我遇到的哪些bug
Bug1:使用RxJava集成sdk报错由于先Rxjava比较火,为了赶上时代的脚步,现在做的这几个项目都用的是Rxjava,但是当我导入腾讯地图sdk后,却报了这个错
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties
File1: E:\Android Project\YiBangKe\app\libs\TencentMapSDK_Vector_v3.0.4.jar
File2: C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\io.reactivex\rxjava\1.1.1\b494968f6050d494de55dc3ce005e59c7eb40012\rxjava-1.1.1.jar
继续阅读
|
前言开发项目中,经常会使用到地图,于是我会使用一些第三方的sdk,但是基本上所有的sdk使用时都需要申请key,填包名和sha1值,使(Ji)用(Qi)方(Fan)便(Suo)。作为一个android攻城狮,简直不能忍啊,于是乎看了下源码,决定破解一下,演示使用的是高德地图,至于百度,呵呵,下面看我慢慢道来
所需工具
高德地图sdk最新版AMap_3DMap_V4.0.1_20160923.jar
Android Studio
jd-gui
分析代码在使用高德地图sdk的时候需要我们申请这个key,而这个key是需要我们提供包名和签名的sha1值生成的 因此 ,sdk在校验的时候肯定需要以下3个条件
签名的sha1值
包名
申请成功的key
继续阅读
|
前言自从google退出中国市场后,很多人使用百度搜索,但是作为程序员的我们,应该去使用google搜索,因为很多资料是百度搜索不到的,而且没有广告,毕竟墙外的世界是非常精彩滴。
如何科学上网
VPN: 这里不多做介绍
google浏览器插件:之前可以,现在很多插件都没和谐了
修改系统hosts: 这个是最简单粗暴的,而且速度又快,谁用谁知道
hosts下载地址
IP有一段的时效性,并不能保证能永久使用,我会持续更新最新的hosts的文件提供给大家
下载地址
继续阅读
|
前言在做项目的时候,经常会遇到列表数据为空的时候展示的空布局,如果你用的是ListView ,目测会经常使用ListView的一个方法setEmptyView ,如果你用的是RecyclerView,你也许会用自定义View来实现,但是,这些方法虽然使用起来简单,但是如果你提供一个复杂的布局,例如:
在数据加载失败后,添加一个Button让用户可以选择重新加载数据。
你肯定会说,findviewbyId找到这个button,给它设置点击事件,一个两个可以接受,但是,界面多了呢? 那你说了那么多,有没有好的解决办法呢? 当然有 而且是几行代码搞定的
继续阅读
|