- 博客(45)
- 资源 (1)
- 收藏
- 关注

原创 Android利用谷歌Gson解析Json生成bean类详解
gson相对原生的jsonObject解析数据还是非常轻松的,鉴于fastJson存在不能区分大小写数据的bug,因此建议在项目中多使用Gson解析数据。 { "reason": "查询成功", "result": { "title": "泰坦尼克号", "tag": "剧情 \/ 历史 \/ 爱情", "act": "莱昂纳多·
2016-05-08 00:04:53
4889

原创 深入了解Android进度条——ProgressBar,SeekBar和RatingBar
Android常用的进度条有ProgressBar,SeekBar和RatingBar。ProgressBar继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,而SeekBar和RatingBar又是AbsSeekBar的子类,因此ProgressBar是RatingBar,SeekBar的父类。一、ProgressBarAndr
2016-05-07 23:08:12
3548

转载 ToolBar简介
ToolBar简介ToolBar是Android 5.0推出的一个新的导航控件用于取代之前的ActionBar,由于其高度的可定制性、灵活性、具有Material Design风格等优点,越来越多的应用也用上了ToolBar,比如常用的知乎软件其顶部导航栏正是使用ToolBar。官方考虑到仍有一部分用户的手机版本号低于5.0,所以,ToolBar也放进了support v7包内,使得低
2016-05-07 22:15:20
515

原创 Fragment,FragmentManager, FragmentTransaction详解
Fragment是3.0引入的新组件,在3.0之前需要引入v4包的Fragment进行向下兼容,在项目中会频繁用到。先说下3.0的Fragment用法。其中,Fragment的生命周期就不多说了,首先构建Fragment 的View对象。@Override public View onCreateView(LayoutInflater inflater, ViewGroup cont
2016-05-06 13:11:42
7334

原创 Android动画设置
最近学习了下动画,大致分为:属性动画(继承值动画),帧动画,补间动画。下面介绍下每一种的XML文件配置首先:普通动画:分为translate,scale,alpha,rotate,四种动画配置大题相同;<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1
2016-05-06 11:34:04
810
原创 JNI(C访问Java方法)
JNI(C访问Java方法)签名char *sig项目链接地址:https://github.com/jiangwei1517/JniTest1在项目bin目录下输入:javap -s -p com.jiangwei.JniTest1访问属性JNIEXPORT jstring JNICALL Java_com_jiangwei_JniTest1_changeFieldFromC(JNIEnv*
2017-05-17 10:28:42
449
转载 RxJava 使用debounce操作符 优化app搜索功能
1 抛出问题现在几乎所有的App都有搜索功能 , 一般情况我们监听EditText控件,当值发生改变去请求搜索接口. 如:etKey.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int cou
2016-06-18 18:22:16
537
转载 RxJAVA详解
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: R
2016-06-13 13:26:33
626
原创 Android Handler泄露问题
内部类引用导致Activity的泄漏:最典型的场景是Handler导致的Activity泄漏,如果Handler中有延迟的任务或者是等待执行的任务队列过长,都有可能因为Handler继续执行而导致Activity发生泄漏。此时的引用关系链是Looper -> MessageQueue -> Message -> Handler -> Activity。为了解决这个问题,可以在UI退出之前,
2016-05-30 14:23:57
418
转载 Android常用性能优化
本篇主要是对 google推出的性能优化典范 进行一个通篇的整理… 主要在于一些具体的优化技巧、至于 60fps、掉帧、gc、内存抖动、阈值…等等这些性能术语的概念里面不做多概括,请自行查阅…本篇从以下几点延伸扩展…
2016-05-30 13:09:02
333
原创 Android替代HashMap的SparseArray
一、概述最近在项目中看到了SparseArray,好奇研究了下。 SparseArray是Android框架独有的类,在标准的JDK中不存在这个类。它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseArray不需要对key和value进行auto-boxing(将原始类型封装为对象类型,比如把int类型封装成Integer类型),结
2016-05-20 14:26:16
691
原创 关于android中ListView的Adapter如何设计能通用的一些看法
我们都知道,在安卓中使用ListView显示多条数据的时候,必须要用一个适配器作为Data和View的桥梁,这种设计非常好, 能很简单就把ui和data分离开来,为ui的复用和维护代码提供方便。但是每次写一个适配器,都要实现一大堆的重复逻辑,其实每次getView中无非就是Holder对象不一样,加载的数据类型不一样,剩下的方法都是相同的,那么我们就可以将相同的元素抽取出来写成一个基类,整理下代码冗余。
2016-05-20 13:13:37
520
转载 Android通知栏的微技巧(5.0之后小图标与大图标的区别)
对于通知栏的使用,Android各个版本其实都有比较大的调整,包括即将发布的Android 7.0版本,通知栏功能上又要有大动作。那么新版本的通知栏API无法兼容老系统这就会是一个很头疼的问题。
2016-05-19 14:06:24
12495
转载 Android Viewpager+Fragment的懒加载优化问题
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的结果,我们当然不会满意。那么,能不能做到当切换到这个fragment的时候,它才去初始化呢?答案就在Fragment里的setU
2016-05-19 13:39:57
1110
转载 Android加载大图片,LRU缓存机制
高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面的代码看出每个应用程序最高可用内存是多少。
2016-05-17 21:13:01
363
转载 Android Handler(子线程Handler)异步消息处理机制的妙用(活用信号量) 创建强大的图片加载类
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/38476887 ,本文出自【张鸿洋的博客】最近创建了一个群,方便大家交流,群号:55032675上一篇博客介绍了Android异步消息处理机制,如果你还不了解,可以看:Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系 。那篇博客的最后,提出可以把异步消息处理机制不仅仅是在MainActivity中更新UI,可以用到别的地方,最近也一直在
2016-05-17 20:53:18
938
转载 Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Lo
2016-05-17 17:14:48
304
转载 Android-本地广播提高安全性
通常 我们大部分广播接收器的作用是为了处理我们的应用业务,在广播机制中,Android提供了LocalBroadcastManager类来为我们应用安全保驾护航
2016-05-17 15:22:21
415
转载 Android onTouchEvent,onClick,onLongClick的return值注意事项
android应用中常用的监听OnTouchListener、OnClickListener、OnLongClickListener,大家肯定经常使用。但是你真的知道它会产生的神奇效果么?不要忽视这些神奇效果哦!说不定这些神奇效果正是你想要的呢?好,下面请看我的示例。示例、首先在Activity中创建一个button,然后对这个button同时设置OnTouchListener、OnClickListener、onLongClickListener这三种监听方式。接着就是重写这三个接口的实现代码了。
2016-05-17 13:28:25
1747
原创 Android解决ListView头ViewPager事件冲突问题
在LIstView添加addHeader()时,会出现事件冲突,比较好的解决方法包括两种,一种是自定义ListView,重写他的拦截方法,另外一种就是自定义ViewPager。
2016-05-17 11:26:44
2056
转载 Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
1、概述众所周知,Activity在不明确指定屏幕方向和configChanges时,当用户旋转屏幕会重新启动。当然了,应对这种情况,Android给出了几种方案:a、如果是少量数据,可以通过onSaveInstanceState()和onRestoreInstanceState()进行保存与恢复。Android会在销毁你的Activity之前调用onSaveInstanceState()方法,于是,你可以在此方法中存储关于应用状态的数据。然后你可以在onCreate()或onRestoreInsta
2016-05-15 15:59:16
335
转载 Android 官方推荐 : DialogFragment 创建对话框
DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。
2016-05-15 14:51:43
287
转载 Android Fragment 真正的完全解析(下)
本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创建对话框,如何与ActionBar,MenuItem集成等~~
2016-05-15 14:50:05
227
转载 Android Fragment 真正的完全解析(上)
本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务;以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment如何与Activity交互?Fragment如何创建对话框?Fragment如何与ActionBar集成等等。
2016-05-15 14:48:33
286
转载 给Android ListView添加删除item动画
给listview删除一个item的时候加上一个折叠动画,感觉效果会好一点。步骤是当删除一个view,先用动画把view的高度改变,看上去就是折叠的效果。当动画完成的时候,再真正把item移除。做法大概分为两种,补间动画、属性动画
2016-05-12 21:14:20
6788
5
转载 Android GestureDetector方法详解
为了加强点击、拖动响应事件,Android提供了GestureDetector手势识别类。通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Tap Up、Show Press、Long Press、Scroll、Down、Fling)
2016-05-12 20:21:01
474
转载 ExpandableListView(可折叠列表)的基本使用
本节引言:本节要讲解的Adapter类控件是ExpandableListView,就是可折叠的列表,它是ListView的子类, 在ListView的基础上它把应用中的列表项分为几组,每组里又可包含多个列表项。至于样子, 类似于QQ联系人列表,他的用法与ListView非常相似,只是ExpandableListVivew显示的列表项 需由ExpandableAdapter提供。 下面我
2016-05-11 11:34:09
3728
转载 Android Intent之间传递数据
本节引言:上一节中我们学习了Intent的一些基本使用,知道了Intent的七个属性,显式Intent以及 隐式Intent,以及如何自定义隐式Intent,最后还给大家提供了一些常用的系统Intent! 而本节跟大家讲解的是Intent传递数据的问题~好的,开始本节内容~1.Intent传递简单数据还记得我们在Activity那里学过如何在两个Activi
2016-05-10 22:56:19
1003
原创 Android获取系统服务getSystemService与getService区别
android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据,
2016-05-10 17:34:01
14654
原创 Android在Service中注册动态广播接收者
广播接收器注册一共有两种形式 : 静态注册和动态注册.两者及其接收广播的区别:1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\2.动态注册广播不是 常驻型广播 ,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。静态注册是常驻型 ,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。3.同种广播如果在同一个优先级下,谁先启动的快,谁将先接收到广播。
2016-05-10 14:18:35
18630
转载 Android序列化Serializable和Parcelable区别
Intent在不同的组件中传递对象数据的应用非常普遍。下面介绍两种通过Intent传递对象的方法。1、实现Serializable接口2、实现Parcelable接口 为什么要将对象序列化? 1、永久性保存对象,保存对象的字节序列到本地文件中; 2、用过序列化对象在网络中传递对象;(网络间传递对象更倾向于使用Serializable方式) 3
2016-05-10 13:46:30
410
转载 Android 9.Patch图详解
1.本节引言:可能有的一些疑问:1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png这样的图片2. .9图片能干嘛? 答: 在图片拉伸的时候特定的区域不会发生图片失真,而不失真的区域可以由我们自己绘制3. .9图片用什么做? 答:工欲善其事,必先利其器,做.9图片的工具有:①Android SDK自带:draw9patch.bat,不过
2016-05-09 23:27:51
1799
转载 Android RSA非对称加密解密算法
转载请注明出处: http://blog.youkuaiyun.com/bbld_/article/details/38777491概述RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困 难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数组合成私钥。公钥是可发布的供任何人使用,私钥则为自
2016-05-09 17:49:03
1705
转载 Android Notification自定义PendingIntent 详解
本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 现在普遍的Android设备基本都在4.x以上,甚至是5.0以上的都有;他们各自的Notification 都是不一样的!而本节给大家讲解的是基于4.x以上的Notification,而5.0以上的N
2016-05-08 20:48:46
4336
转载 Android ListView的不同样式,getItemViewType,getViewTypeCount
给大家带来的是ListView多布局Item的实现, 何为ListView Item多布局,打个比方,QQ这种聊天列表:假如他是用一个ListView做的,那么一个ListView上不就有两种不同的Item咯! 一左一右,嘿嘿,本节就来教大家如何实现ListView的多布局!1.要点讲解:重写getItemViewType()方法对应View是哪个类别,
2016-05-08 19:00:24
712
转载 Android ViewPager与Fragment的延时切换,取消预加载优化
之前详细的向大家介绍过Fragment与ViewPager如何混合使用,但是在优化方面没做过多介绍,下面介绍下Fragment与ViewPager的xi'tong'you'hua在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方。例如你在ViewPager中添加了三个Fragment,当加载ViewPage
2016-05-08 13:41:54
1007
转载 Android实现ViewPager+Fragment
1.ViewPager简单介绍1)是怎么样的一个控件?答:一个页面切换的组件,我们可以往里面填充多个View,然后我们可以通过触摸屏幕左右滑动 切换不同的View,和前面学习的ListView一样,我们需要一个Adapter(适配器),将要显示的View和 我们的ViewPager进行绑定,而ViewPager有他自己特定的Adapter——PagerAdapter!另外,
2016-05-08 13:09:54
783
转载 Android利用Fragment实现新闻客户端界面切换(addBackStack,popBackStack)
Android3.0之后引入了一个轻量级组件Fragment,相对于Activity他有很多优点,这里不阐述了 ,有兴趣的同学可以参考我的博文:下面说下如何实现Activity与Fragment合理切换。原型工具画个大概吧:大概就这样,中间区域是一个布局容器,一般是FrameLayout,然后我们将一个Fragment replace 到这个容器中或者add也行,而
2016-05-08 11:55:02
990
转载 android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l
2016-05-08 11:32:09
237
转载 Android的自定义View详解
Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高。 一个相对完善的自定义控件在布局文件中和Java代码中都应能灵活设置属性。另外在普通的布局中和AdapterView中都应能正确绘制,这就要求合理设计onMeasure方法,下文中会做比较详细的讲解。 本文原创,如需转载,请注明转载地址
2016-05-07 10:19:32
435
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人