- 博客(23)
- 资源 (12)
- 收藏
- 关注
原创 Android-->我走过的坑
场景回放今天在开发项目中,本来想在用户退出应用程序后(按两次返回退出)利用SharePreferences在onDestory中保存某些数据。结果发现在Activity的onCreate中总不能获取到上次保存的数据。最开始以为是SharePreferences未调用正确,结果不是。接着发现一个比较坑的事情,Activity的所有生命周期方法都执行了,但是onDestory方法没有执行,这也导致
2016-03-15 19:58:50
702
原创 Android-->反编译初探(mac环境配置)
最近在读《Android软件安全与逆向分析》,这本书很早以前就看过,但是当时觉得太深奥,就搁置下了。目前这段时间工作不太忙,因此决心攻读此本书。学习反编译相关知识,我们可以借鉴别人成果,当然也会更有成就感。入门开始,首先要配置相关的环境。
2016-02-25 16:07:24
724
原创 读书笔记-->Java虚拟机垃圾收集算法
前言熟悉虚拟机的垃圾收集算法有助于我们更好的了解Java内存的分配策略。对我来说,以前也有去了解过虚拟机相关的知识点,但是比较零碎。这次拜读《深入理解Java虚拟机》,真是相当后悔自己为啥不早点去读它。标记-清除算法该算法可以说是最基础的收集算法(因为后续的收集算法都是基于这种思路并对其缺点加以改进得到的),显而易见,该算法分为两个阶段:“标记”和“清除”。首先标记出所有需要回
2016-02-03 17:24:01
574
原创 读书笔记-->Java内存分配策略初识
作为Java或Android程序员,大多时候我们不需要关系对象在内存中是如何分配,也不用担心对象占用的内存何时被系统回收。如果在开发过程中完全依赖系统帮助我们进行内存管理,那么后果将不堪设想。内存溢出,内存泄露,频繁GC等这些常见内存问题都是未对内存进行合理分配导致的,因此掌握JAVA内存分配策略是至关重要的。最近在读神作《深入理解Java虚拟机》,因此写下本文记录自己的读书心得。
2016-02-02 14:29:43
537
翻译 Android-->Fragment生命周期详解(下)
Fragment的隐藏和销毁和其的建立和显示一样,也有类似于Activity的生命周期。下图是Fragment隐藏和销毁的生命周期。 在Fragment隐藏和销毁开始之初,Fragment的生命周期和Activity类似。当用户跳转到其他的Activity之时,每个Fragment的onPause、onSaveInstanceState和onStop方法将被调用。对于这些方法而言,Frag
2016-01-04 18:43:41
1137
翻译 Android-->Fragment生命周期详解(上)
理解Fragment的生命周期 我们开发Android应用程序的挑战之一是确保应用程序能成功地处理Activity的生命周期。在应用程序的生命周期中,一个给定的activity可能被创建、销毁和重新创建多次。比如用户旋转屏幕,会引起可见的activity被完全销毁,并且系统会使用合适的资源重新创建一个的activity。应用程序如果不能有效地处理好Activity生命周期会导致程序经
2015-12-29 15:06:32
872
原创 Android-->实现可滑动删除的Layout
做Android开发,经常会碰到仿照IOS实现某种功能的需求。每当碰到这种需求的时候,我其实很抵触的。类似滑动删除的需求更是家常便饭。比如微信、QQ的会话列表都是有滑动删除的功能,Android也有比较成熟的开源项项目SwipeListview来实现列表的滑动删除功能。前不久,碰到一个需求是某个布局带滑动删除的功能。正好以前有读过某大神的博文高仿微信对话列表滑动删除效果,所以本文实现在其基础上加以
2015-12-15 17:50:39
4352
原创 Android开发艺术探索学习-View的事件分发机制(一)
View的事件分发机制是很重要的一个知识点,特别是一些复杂的自定义View,我们需要重写其事件分发的相关方法,以防止事件冲突。与事件分发相关的主要方法如下:
2015-12-08 15:02:33
622
原创 Android开发艺术探索学习-View的滑动
滑动是View的一个很重要的特性,Android也提供了很多支持滑动的控件,可以说滑动无处不在。因此掌握View的滑动是相当重要的。常见的滑动三种方法有:使用scrollTo和scrollBy、使用动画、改变布局参数。使用scrollTo和scrollBy 在View中提供了scrollTo和scrollBy方法来实现View的滑动,按惯例看下这两个方法的实现: /**
2015-12-02 11:13:24
795
原创 Android开发艺术探索学习-View的基本知识
What is view? View代表用户界面最基本组成部分。一个View在屏幕上占据一个矩形区域并负责绘图和相应地事件处理。View是所有控件的基类,View的子类被用于交互UI的组件。View有个很重要的子类ViewGroup,它是用于布局的基类。ViewGroup是一个不可见的容器,里面有其他的View或者ViewGroup并且定义它们的布局属性。View和ViewGroup采用
2015-11-26 15:26:38
682
原创 Android开发艺术探索学习-IPC之Binder(三)
其实正常情况下,项目中能用到AIDL的机会不多,但是有一种情况是比较常用的,比如一些大厂,开发了好几个App,如果这些App都是热门应用,那么他们之间就会出现相互“勾结”的情况,AIDL就有了用武之地。以前我在某一个项目中使用到好几次AIDL,不过是给白盒测试留有接口用的。那么这里就会有一个安全问题,默认情况下我们的远程服务任何人都可以连接使用,如果不进行权限认证,将会带来某些安全隐患。因此,本节
2015-11-23 18:56:43
1275
原创 Android开发艺术探索学习-IPC之Binder(二)
1.Binder死亡代理 这一节首先将介绍Binder类中比较重要的两个方法linkToDeath和unlinkToDeath。我们知道Binder是运行在服务进程,若服务端进程因为某种原因“死亡”,那么Binder对象也将随之而去,因为Binder对象是寄宿在服务端进程中的,这个时候我们的远程调用将会失败,客户端进程的功能也将受到影响。Binder类提供linkToDeath方法在客户
2015-11-19 17:24:30
4055
原创 Android开发艺术探索学习-IPC之Binder(一)
1. Binder简介1.1 What is Binder? Android Dev Doc:Base class for a remotable object, the core part of a lightweight remote procedure call mechanism defined by IBinder. This class is an imp
2015-11-18 19:19:53
1212
原创 Android开发艺术探索学习-Activity跳转时的生命周期
前言:在阅读《Android开发艺术探索》中,关于Activity生命周期的介绍中,作者提出了一个问题:“假设当前Activity为A,如果这时用户打开一个新ActivityB,那么B的onResume和A的onPause哪个先执行呢?”。看到这个问题,当时立马倍感亲切,因为自己在面试过程中就被问到这个问题。当时虽然是答对的结果,但是要分析原因的时候就如哏在喉。所以借着这个机会结合源码好好分析下。
2015-11-06 10:18:24
789
原创 Android开发艺术探索学习-老生常谈Activity生命周期
前言:最近看到一本比较适合自己的好书叫《Android开发艺术探索》,发现该书对自己提升技术非常有好处,然后就想着用该书结合android官方开发文档从头开始细细品味一下,深入理解知识点(因为目前项目不是很忙,所以学习的时间比较多)。当然我给自己的学习规划还是从Activity开始,按照该书的目录一路看书去,希望自己看完这本书后技术能力能有一个很大的提升。下面都是自己记录在印象笔记中的笔记,感觉用
2015-11-02 18:13:57
686
原创 Android-->关于ScrollView、ListView嵌套ListeView所出现的问题(心得)
ListView是开发过程中经常打交道的控件之一,但是使用过程中需要主要很多事项。譬如,如果ListView的高度不是设置为match_parent或者高度值确定的话,那么在getView()方法你会发现,getView()方法被调用多轮而且所以的ListView item都会跑到不管是否正在屏幕上显示。此时我们所使用的ListView缓存机制感觉就是无效的。自己查了资料发现,如果ListView
2015-08-20 13:41:03
1304
原创 Android-->改造Xlistview完成自动下拉刷新(类似网易)效果
有时候项目需要能够自动下拉刷新,类似网易新闻的效果,网易新闻是更新时间超过半个小时,就会自动下拉刷新,listview自动下拉。这种交互在体验上非常不错。这里我对Xlistiew进行稍微修改,完成了自动下拉刷新。只需要调用setAutoRefreshing()方法即可。因为程序比较简单,因此就不介绍了,各位直接看源码吧!
2015-07-30 11:23:09
2089
原创 Android-->巧用XListView,打造万能的下拉刷新控件
摘要:想必大家做开发的时候都会用到下拉刷新的控件,现在各种第三方的下拉刷新控件不胜枚举。当然最NB的还是XListView。其他也有针对GridView,ScrollView,LinearLayout进行重写的下拉刷新控件。本文针对xListView采取一种巧用办法,可以实现各种控件的下拉刷新。
2015-06-30 18:11:08
1461
原创 Android-->自定义无限循环轮播图控件(仿京东、天猫等)
声明:本文是在灵台斜月的基础上改动而成。目前轮播图的样式总结出大概三种。分别是“饿了么”、“京东“、”淘宝“。大家可以去感受下。这三种轮播图主要是indicator(小圆点索引)的效果不同。灵台斜月的这篇文章的效果是和”饿了么“类似,当轮播图片的过程中,indicator也是滑动的。”淘宝“的效果是,当轮播图片完成后,indicator才改变,这种效果对于有强迫症的人来说,总感
2015-06-02 10:01:26
3212
原创 Android-->仿主流壁纸App壁纸设置界面
项目中做到在线壁纸应用,在壁纸设置界面也是参考了主流壁纸应用的做法,例如小米,oppo,搜狗等都是采用了类似下图的界面布局。这里将介绍如何做出类似布局和功能。
2015-03-19 16:32:49
961
原创 Android-->网络图片下载的三级缓存策略
项目中做了一个关于在线壁纸的App,其中对于网络图片的处理是至关重要的,既要考虑性能,又要考虑图片所占用内存的限制。因此这里就把网络图片下载部分的代码整理处来,这里主要介绍图片三级缓存的策略。
2015-03-14 16:56:33
2291
1
原创 Android-->将布局文件放在服务器上,动态改变布局。
目前在做项目时候有这样的需求:布局文件的控件类型大致相同,例如某布局文件由GridView、ScrollView、TextView、Button四个控件组成,但是控件的摆放位置不同。因为摆放的方式很多,不可能把所有摆放方式都写一个布局文件,因为这样不利于迭代开发。这时候就想出能不能把布局文件放在服务器上,当需要某布局的时候,从服务器下载布局文件保存到存储卡上,然后读取存储卡上的布局文件。
2015-03-11 16:14:17
4394
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人