Android
文章平均质量分 60
zqlee808qa
有梦想并为之奋斗的普通青年
展开
-
好博客要记录:Activity的launchMode分析 及 Intent.FLAG_NEW_TASK详解
Activity的启动模式共有四种,分别如下:1、standard2、singleTop3、singleTask4、singleInstance这里我们分两种情况讨论上述四种启动模式:app内和app之间首先讨论app内standard:不论当前任务栈中是否存在该Activity,都会新建一个Activity,如 任务栈为A B,要启动B 那么任务栈为 A B Bs转载 2015-11-12 23:03:54 · 391 阅读 · 0 评论 -
自我实现ArrayList
面试者经常遇到集合类源码的问题。我们不求将所有的细节都记住,但ArrayList与LinkedList比较、add、get、remove、扩容、及相关时间复杂度等核心思想要说得一清二楚。ArrayList底层用数组实现,可以快速访问某一节点的值,但插入删除会调用System.arraycopy方法,数组容量不够时需进行扩容,扩容采用新的大数组取代旧的数组。 public class原创 2015-11-12 23:02:54 · 415 阅读 · 1 评论 -
搬迁学习笔记1——Handler的基本使用、子线程更新UI的方式
Handler是Android消息传递的一种机制,可用于在子线程做更新UI(实际上还是在UI线程中更新),与Handler相关联的类有Looper,Message等。Handler的方法有post() sendmessage()等。子线程更新UI的方式: 1) handler.post(new Runnable())方法。 注意:这个Handler必须为主线程的原创 2015-11-06 15:33:21 · 352 阅读 · 0 评论 -
Activity onNewIntent方法浅析
onNewIntent方法一般用于lanchmode为singleTop,singleTask,singleInstance等可复用的activity中,当这些已实例化的activity重新被复用时,就会调用onNewIntent方法。正如字面上的意思,onNewIntent负责处理activity收到的新的intent。Activity中onNewIntent源码如下:/** * Thi原创 2015-11-20 12:30:46 · 809 阅读 · 0 评论 -
常用的GitHub UI框架
很好的下拉刷新实现 https://github.com/chrisbanes/Android-PullToRefreshTab指示器 https://github.com/astuetz/PagerSlidingTabStrip原创 2015-12-25 09:45:54 · 640 阅读 · 0 评论 -
利用Canvas saveLayer手动绘制圆角View
项目中包含了一个腾讯地图,由于该mapView 不支持圆角背景,so决定自己画四个圆角view,覆盖在mapView上以实现圆角矩形的效果。public class CornerView extends View { public static final int TYPE_LEFT_TOP = 1; public static final int TYPE_RIGHT_TOP = 2原创 2015-12-29 18:54:09 · 2499 阅读 · 0 评论 -
IntentFilter
当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。 顾名思义,IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理。 IntentFilter实行“白名单”管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤转载 2016-01-21 10:31:00 · 291 阅读 · 0 评论 -
Date和String.format常见用法
目前的java版本Date类主要通过SimpleDateFormat和Calendar类进行处理。SimpleDateFormat按照一定的格式对Date和String进行转换,Calendar类根据国际化标准,构造Date.举例两个常见用法: 计算两个日期的天数/** * 计算两个日期间的天数 */ public static long getDayNum(Strin原创 2015-11-17 19:26:33 · 655 阅读 · 0 评论 -
Android handler机制浅析
在安卓中,Handler负责消息的传递,它提供了一套在线程间传递消息的机制。Handler与looper、message、messageQueue一起,共同构成了安卓的消息发送框架。初学安卓的朋友可能对安卓的线程模型感到疑惑,也会感到有很多限制,UI线程既不能等待,又不能做耗时操作,非UI线程又不能改变UI,但这些问题却可以通过handler轻松解决。那么handler内部是怎么实现的呢?它的实现原原创 2015-12-10 14:47:40 · 347 阅读 · 0 评论 -
高效加载Bitmap(Displaying Bitmaps Efficiently)
注:看英文版的Api Guide总觉得蛋疼,现在翻译一篇比较重要的内容:Bitmap的高效加载,希望翻译过后能真正理解该篇文章的核心思想。一般来说,我们在网络上加载的图片的的尺寸都要大于手机屏幕的分辨率,而手机的内存又极其有限,所以,在安卓开发中,对图片进行高效的处理是一块很重要的环节。在安卓开发中有条不成文的规矩:遇到图片,一定要狠狠处理。高效加载BitmapBitmapFatory类提供了许多解翻译 2015-12-29 15:06:44 · 460 阅读 · 0 评论 -
LinearLayout和RelativeLayout的特殊属性
Relativelayout属性: 属性名称 描述 android:layout_centerHorizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全 居中 android:layout_alignParentBottom 贴紧父元素的下边缘原创 2015-11-17 13:03:52 · 1632 阅读 · 0 评论 -
AsyncTask原理详解
在Android中,Handler和AsyncTask都是与异步执行相关的类,Handler主要负责各线程间接收、传递消息,而AsyncTask则主要负责异步操作的处理,其中,doInBackGround()方法负责异步任务的处理、onProgressUpdate()方法则在异步执行过程中调用publishProgress()时回调,以随时更新UI。onPostExecute()方法则是当异步执行原创 2015-11-12 23:03:56 · 1348 阅读 · 1 评论 -
LayoutInflater.inflate方法浅析
在Android中,LayoutInflater.inflate()方法一般用于加载布局,相信很多朋友对它已经很熟悉了,但inflate()方法是如何实现的可能有些朋友还不是很清楚,inflater()在使用的时候都有哪些注意事项呢?让我们来简单分析下:首先不妨来看看Fragment的onCreateView方法,它包含了几个参数,一个LayoutInflater,一个ViewGroup,和一个传递原创 2015-11-30 13:19:59 · 448 阅读 · 0 评论 -
浅析Android View的Measure过程
我们知道,View从创建到展示给用户包含了三大过程:measure过程、layout过程、draw过程,即测量、布局、绘制。而measure过程则是其中之首,它测量并确定了view的宽高。现总结下view的measure过程。View的measure过程包含了两个核心方法:onMeasure() 方法:protected void onMeasure(i原创 2015-11-07 16:47:20 · 378 阅读 · 0 评论 -
浅析Android View的Layout过程
Layout过程是View的三大过程之一,它负责确定一个View和它的子元素的最终位置。与measure过程类似,layout过程也分为layout()和onLayout()两个核心方法。layout负责确定view本身的位置,而layout主要负责确定所有子元素的位置。首先让我们来看看layout方法:public void layout(int l, int t, int r, int b)原创 2015-11-12 22:05:27 · 375 阅读 · 0 评论 -
搬迁学习笔记2——The specified child already has a parent的解决方法
Activity通过setContentView()方法来设定它的布局文件,而布局文件一般都是一个viewGroup,ViewGroup是个view的容器,可以放置很多个View 常见的有LinearLayout RelativeLayout等等。View的继承关系如下:View -> ViewGroup -> 各种Layout。我们有时需要改变一个Activity的布局文原创 2015-11-06 15:43:01 · 363 阅读 · 0 评论 -
Activity launchmode和Intent flag详解
学习安卓,首先就要接触和学习Activity,想必大家在学习activity的过程中一定对activity的launchmode有过困惑。好在网络上关于activity launchmode的博客、解释一大堆,可以方便我们去理解和使用activity launchmode模式,但我强烈建议大家还是要自己动手实践做一些例子,这样才能真正理解activity的launchmode,而且经过实践后你会发现原创 2015-12-03 14:52:43 · 1361 阅读 · 0 评论