Android大神之路
文章平均质量分 64
丿天下丶第一
这个作者很懒,什么都没留下…
展开
-
Android_优化查询加载大数量的本地相册图片
在讲解优化查询相册图片之前,我们先来看下PM提出的需求,PM的需求很简单,就是要做一个类似微信的本地相册图片查询控件,主要包含两个两部分:进入图片选择页面就要显示出手机中所有的照片,包括系统相册图片和其他目录下的所有图片,并按照时间倒叙排列切换相册功能,切换相册页面列出手机中所有的图片目录列表,并且显示出每个目录下所有的图片个数以及封面图片这两个需求看似简单,实则隐藏着一系列的性能优化问原创 2016-07-16 10:54:31 · 10549 阅读 · 11 评论 -
Android-两个小球不停的绕中心旋转的进度条
最近做了一个比较清新的进度条,两个小球绕中心旋转,没啥难度的,就是涉及到属性动画和canvas绘制圆形的知识,因为群里有一个问怎么实现的,这里就稍微写了一下原理原创 2015-08-08 23:11:31 · 10426 阅读 · 0 评论 -
ViewDragHelper的用法
ViewDragHelper是Google2013年IO大会提出来用于解决界面控件拖拽移动的问题(位于v4兼容包下),最近在做QQ侧滑菜单那样的效果,用到了ViewDragHelper,做个笔记记录下。结合简单的demo一点一点介绍ViewDragHelper,首先创建一个类DragLayout,继承自LinearLayout[LinearLayout继承自VIewGroup的嘛],提供相转载 2015-07-27 23:42:35 · 4053 阅读 · 0 评论 -
RecyclerView的拖动和滑动 第一部分 :基本的ItemTouchHelper示例
英文原文:Drag and Swipe with RecyclerView 在安卓中,有许多关于如何使用RecyclerView实现“drag & drop”与swipe-to-dismiss”的教程,库和例子。即使现在已经有了新的,更优的实现方式,大多数仍然是使用老旧的View.OnDragListener以及Roman Nurik在SwipeToDismis转载 2015-07-26 23:19:43 · 11044 阅读 · 5 评论 -
RecyclerView的拖动和滑动 第二部分 :拖块,Grid以及自定义动画
原文:Drag and Swipe with RecyclerView Part Two: Handles, Grids, and Custom Animations 转载请注明出处:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0724/3219.html 在第一部分,我们介绍了ItemTouchHelp转载 2015-07-26 23:23:54 · 11538 阅读 · 4 评论 -
Android-Webview支持缩放并隐藏讨厌的缩放控制条
这里讲解一下实现Webview缩放以及隐藏缩放控制条所遇到的问题和坑原创 2015-07-02 00:20:53 · 32752 阅读 · 2 评论 -
Android-通过SlidingMenu高仿微信6.2最新版手势滑动返回(二)
通过SlidingMenu来高仿微信6.2版本右滑手势返回,这里借助了SlidingMenu的手势滑动,支持边缘右滑动返回,也支持全屏幕右滑动返回!原创 2015-06-11 09:44:07 · 10421 阅读 · 11 评论 -
Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)
最近更新了微信版本到6.2,发现里面有个非常好的体验,就是在第二个页面Activity能手势向右滑动返回,在手势滑动的过程中能看到第一个页面,这种体验非常赞,这里高仿了一下。这里使用的是v4包里面的SlidingPaneLayout来手势滑动,在下一篇博文中将采用SlidingMenu来高仿,下面是SlidingPaneLayout高仿后的效果,效果还是蛮不错的。最重要的是,每一个页面都是Activ原创 2015-06-09 23:16:39 · 16239 阅读 · 17 评论 -
三种代码中特殊的注释-TODO、FIXME、XXX详解
在eclipse中,TODO、FIXME和XXX都会被eclipse的task视图所收集TODO: + 说明: 如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明: 如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。XXX: + 说明: 如果代码中有该标识,说明标识处代码虽然实现了原创 2015-06-09 00:15:19 · 6012 阅读 · 0 评论 -
Android-报错总结之一:WebView加载本地JS
webview加载本地h5、js报错,报错内容是Cannot read property 'giftDoctorUserInfo' of null原创 2015-08-11 23:41:48 · 6453 阅读 · 0 评论 -
base-adapter-helper之recyclerview版本,支持多种viewtype布局
base-adapter-helper是一个非常不错的封装了BaseAdapter的库,极大简化了写适配器的时间,但是有一个问题,那就是只支持listview、gridview等组件,这里扩展了支持recyclerview原创 2015-09-09 00:12:00 · 8673 阅读 · 4 评论 -
React-Native移植-Android
简介参考链接: Integrating with Existing Apps由于公司业务需要,部分模块需要将native代码转移到react-native,并且由于是已有项目,所以我这里单独把react-native移植到项目来,移植的过程中遇到了一些问题,这里也记录了下。网上的一些教程资料都不是很全,而且一些关键的步骤说的都不是很详细,这里我们从零开始。还有就是环境配置这里不讲了,都是很基础的原创 2016-04-24 22:03:13 · 8462 阅读 · 1 评论 -
Rebound-Android的弹簧动画库
简介官方网站githubRebound是facebook出品的一个弹簧动画库,与之对应的IOS版本有一个pop动画库,也是非常的强大给力。Facebook真是互联网企业中的楷模,开源了很多的实用开源库,大赞一个!!!原创 2016-02-18 17:18:09 · 21809 阅读 · 4 评论 -
Android-Mac电脑如何进行APK反编译-第二季
前言离上次介绍apktool反编译apk有一段时间了,没看的请移步Android-Mac电脑如何进行APK反编译-使用apktool、jd-gui,之前介绍的apktool版本比较老了,版本是1.5.2的,反编译之前的apk大部分是可以成功的,但是如果是最近开发的apk,反编译就无能为力了,基本上会报如下错误: 这里来介绍最新版本的apktool,版本号是2.0.3下载地址现在我在这里上传一个原创 2016-01-07 11:46:31 · 3645 阅读 · 12 评论 -
Android进阶之ProGuard代码混淆
简介Proguard工具通过移除无用的代码以及使用语义隐晦的名称来重命名类、字段和方法,从而达到压缩、优化和混淆代码的目的。最终您将获得一个较小的 .apk 文件,此文件更难于进行反向工程。由于 ProGuard 会使应用更难于进行反向工程,因此当应用使用对安全性要求极高的功能时(例如,当您向应用授予许可时),您必须使用此工具。ProGuard 已集成到 Android 构建系统,所以您无需手动调用。原创 2015-12-28 22:37:38 · 2459 阅读 · 0 评论 -
Android版本-编译VLC
公司项目极客学院在线播放器要加一个需求:支持播放倍数加速、支持字幕;之前用的是一个第三方的开源库ijkplayer,这个库也非常的给力,它对ffmpeg做了很好的封装,不过不支持加速减速播放,所以弃用改成VLC-Android,IOS的在这VLC-IOS.原创 2015-11-24 13:35:47 · 9172 阅读 · 15 评论 -
Android-教你自作一个简单而又实用的流式Tag标签布局
在这一章节,我们继续学习Android自定义控件。这里要自定义的是Android里面的一个常用控件-Android流式Tag布局,这里我们命名为:FlowTagLayout,我们要实现的流式布局,有如下特色:填充数据和ListView、GridView用法一样使用Adapter,更新数据直接通过adapter.notifyDataChanged来更新支持点击、单选、多选三种模式原创 2015-10-20 22:02:02 · 14056 阅读 · 10 评论 -
Android-通过自定义ViewPager来高仿土巴兔选择装修风格效果(中间放大效果)
看到有同事在用土巴兔这个app,看了里面的一些效果非常的不错,就试着模仿了一下,这里通过ViewPager来实现的原创 2015-09-28 08:00:07 · 7473 阅读 · 7 评论 -
AndroidEventBus新特性:添加粘性事件、不需要手动注销事件总线
刚看了下作者发布的新版本AndroidEventBus v1.0.4版本,发现加了很多好东东,最大的两个特性就是添加了粘性sticky事件和无需手动注销事件 AndroidEventBus的github地址为:github原创 2015-06-01 17:36:54 · 4101 阅读 · 2 评论 -
Android-自动化埋点
原文:http://www.imwillsun.com/pages/2014/01/10/auto-monitor-on-android.html当我们开发一款Android应用上线后,希望能收集一些用户操作的行为数据,比如用户在某个页面点击了多少次,在某个控件被点击了多少次,在某个页面停留了多少时间等。这些数据收集起来可以交给数据分析师,他们可以统计出应用的PV或UV;或者统计应用中哪些页面最受欢转载 2015-06-01 17:42:00 · 2326 阅读 · 0 评论 -
详解嵌套ListView、ScrollView布局显示不全的问题
在项目开发中,可能经常遇到嵌套ListView、ScrollView的问题,百度一搜,都是现成的代码,而且都是一样的,就是重写onMeasure方法,但是为什么要那么写,估计就没多少人知道了,这里进行深入的剖析一下下,重点看onMeasure方法,代码如下:/** * Created by hailonghan on 15/5/28. */public class ExpandListView原创 2015-05-28 22:28:18 · 19359 阅读 · 19 评论 -
Android Edittext设置android:imeOptions="actionSearch"不起作用
最近在做一个搜索的输入框,在edittext上加入android:imeOptions="actionSearch"这个属性也不好使,最后发现在2.3及以上版本不起作用,2.3一下就好使,经过试验,最后加上android:singleLine="true"就好使了,其实,也不难理解了,因为键盘上的回车键本来就是换行用的,当设置当行后,回车换行就失去作用了,进而就可以用作其他用途了,例如原创 2014-12-10 15:06:05 · 16006 阅读 · 0 评论 -
Android硬件加速问题
Android的硬件加速 Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存。 开启或关闭硬件加速: 由于硬件加速自身并非完美无缺,所以Android提供选项来打开或者关闭硬件加速,默认是关闭。可以在4个级别上打开或者关闭硬件加速:转载 2014-12-04 16:25:51 · 1034 阅读 · 0 评论 -
Android中Canvas中drawPath或drawTextOnPath画不出来bug总结
今天遇到一个匪夷所思的问题,在小米2上到自定义的一个折线图,canvas执行drawPath的时候死活画不出来,经过研究发现,这是Android SDK(4.1下)的一个bug,有两种解决方案:一是Manifinest文件里面禁止硬件加速,但不推荐这种做法,这会使所有的view包括程序中的surfaceView都禁止加速了,损失太大。二是在自定义控件的够着函数里面执行this.setLayerTy原创 2014-12-04 15:44:53 · 9485 阅读 · 3 评论 -
Android开发Google自带的ADTBundle里面的eclipse功能被阉割修复
AndroidStudio1.0正式版发布了,为啥我在这里还讲Eclipse呢,毕竟现在公司大部分项目还是用Eclipse开发的,移植到AndroidStudio不是一时半会就能搞定的,尤其是大型项目。目前最新的ADT Bundle版本下载的是adt-bundle-windows-x86_64-20140702.zip,之后估计也不会出新的了,AndroidStudio替代它了。原创 2014-12-16 16:01:48 · 2662 阅读 · 0 评论 -
Android ListView适配器BaseAdapter中getItemViewType需要注意的问题
在今天做一个显示多样视图的listview时,用到了getItemViewType和getViewTypeCount,但是我一运行程序就会报数组越界异常,经过查资料发现,getItemViewType的值一定要从0开始,我开始设置的type类型是从1开始的,结果就悲催了,app一直崩溃。最后把type类型改成从0开始就好了,最后注意一点,getViewTypeCount返回值一定要大于等于getI原创 2014-12-15 15:06:36 · 3606 阅读 · 0 评论 -
Android WebView开发问题及优化汇总
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些是老生常谈,有些则是个人摸索得出解决方法。下面就是整理得到的些干货。1.加快HTML网页装载完成的速度默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,会异转载 2014-11-18 15:36:19 · 6711 阅读 · 0 评论 -
AndroidStudio配置AndroidAnnotations
第一步:添加apt插件原创 2014-10-29 13:26:58 · 8532 阅读 · 7 评论 -
Android IM即时通讯初期调研
Android已经学了有一阵子了,打算做一个IM,初期调研了一下,无非就是客户端和服务端原创 2014-08-21 18:34:16 · 1204 阅读 · 0 评论 -
Android-Mac电脑如何进行APK反编译-使用apktool、jd-gui
最近群里有人问如何在mac下进行apk反编译,我也没试过,以前都是在windows下进行反编译的,windows下很简单,有许多比较好的集成工具,如apkide(改之理),不过我猜mac下应该和windows下差不多,趁着嗑瓜子的功夫,我研究了下mac下如何进行apk反编译,其实和windows下是一样,我在这里记录了下:第一步:下载反编译工具集,apktool、dex2jar、jd-原创 2015-01-03 20:57:01 · 50492 阅读 · 28 评论 -
xcode关联git,并将代码提交到远程remote服务器
以前管理项目都是用svn,最近新项目开始用git管理代码,所以研究了下,大体上分成这几步:第一步:cd 到项目根目录,执行git init第二步:git add . 后面的.是必须要加的第三步:git commit -m "commit init"第四步:git remote add origin 远程地址第五步:git pull -u origin master第六步原创 2015-03-29 01:01:56 · 9673 阅读 · 0 评论 -
AndroidStudio-Parcelable自动生成代码插件安装和使用
这里用的mac版本的AndroidStudio 1. 执行组合快捷键command+”,”,打开AS偏好设置页面,找到plugin选项,输入Parcelable搜索,搜索出来的第一个五颗星的就是,点击右边的install plugin,等装完后会提示你重启as2.等插件装完了就可以使用了,随便建立一个Person类,例如有四个属性username,password,age,isGay/** *原创 2015-05-28 21:13:05 · 22275 阅读 · 0 评论 -
fragment保存页面不销毁
Fragment保存页面不销毁在用fragmenttabhost做页面切换的时候,发现只要一来回切换fragment,fragment页面就会重新初始化,也就是执行onCreateView()方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态解决方案:在Fragment onCreateView方法中缓存View代码实现:protected WeakReference<V原创 2015-05-21 18:05:59 · 8503 阅读 · 1 评论 -
面向对象设计六大基本原则-以Volley为例
面向对象设计六大基本原则-以Volley为例作者 : Mr.Simple这里的显示效果较好 : 原文链接概述在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等等,自己回头看的时候都觉得汗颜。再看那些知名的开源库,它们大多有着整洁的代码、清晰简单的接口、职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫才能写出这样转载 2015-05-21 09:32:42 · 1376 阅读 · 0 评论 -
Android Studio--Gradle多渠道打包
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。友盟多渠道打包废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段:meta-data android:name="UMENG_CHANNEL" a转载 2015-04-29 19:41:21 · 763 阅读 · 0 评论 -
mac-开启NDK编程第一章
从今天开始开始学习mac电脑上怎么配置NDK环境开发,这里前提是你事先装好Android SDK去下载NDK,你可以去Android Developer下载,下载地址为:https://developer.android.com/tools/sdk/ndk/index.html,打不开的可以在百度网盘上下载:http://pan.baidu.com/s/1bn53jOV下载完后,会看到如下原创 2015-04-29 23:01:16 · 649 阅读 · 0 评论 -
Android Studio--Gradle脚本初识
其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DS转载 2015-04-29 19:44:09 · 1975 阅读 · 0 评论 -
Android-自定义Actionbar左侧覆盖不全的bug修复
今天遇到一个很蛋疼的问题,就是在自定义Actionbar的时候,setCustomView中,自定义的view怎么也覆盖不了整个视图,左侧一直留有一个空白,看下图:所有能加的代码都已经加上了,actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayHomeAsUpEnabled(false);原创 2015-03-29 21:58:15 · 4759 阅读 · 0 评论 -
Android NDK开发篇(一) windows免cygwin搭建ndk环境
NDK7以上不需要用cygwin进行编译了原创 2014-07-13 18:56:12 · 848 阅读 · 2 评论