Android
文章平均质量分 62
心之所向123
这个作者很懒,什么都没留下…
展开
-
onMeasure
转自:http://blog.sina.com.cn/s/blog_61fbf8d10100zzoy.html View在屏幕上显示出来要先经过measure(计算)和layout(布局).1、什么时候调用onMeasure方法? 当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasu转载 2015-12-11 15:07:41 · 445 阅读 · 0 评论 -
关联supportv4源码
查看外部依赖的jar包的源码,以v4包为例 正常情况是: 在libs下新建android-support-v4.jar.properties文件,即与引用的jar包同名最后加上.properties的文件 其内容如下: src = F:\\adt-bundle-windows-x86-20150710\\adt-bundle-windows-x86-201407原创 2016-02-18 13:46:54 · 354 阅读 · 0 评论 -
convertView和viewholder
最近碰到的面试题中经常会碰到问”ListView的优化”问题。所以就拿自己之前写的微博客户端的程序做下优化。 自己查了些资料,看了别人写的博客,得出结论,ListView优化大致从以下几个角度: 1.复用已经生成的convertView; 2.添加viewHolder类; 3.缓存数据(图片缓存); 4.分页加载。 一、复用convertView 首先讲下ListView的原理:Li转载 2016-03-05 13:57:36 · 516 阅读 · 0 评论 -
回调
回调实际上是多态的应用 利用回调来监听button的点击事件自定义的RecordButton.java public class RecordButton extends Button {private Context mContext; public RecordButton(Context context) { super(context); init(context); }原创 2015-12-16 21:29:35 · 356 阅读 · 0 评论 -
单例模式
单例:即这个类只能有一个对象, 如果类的构造函数是公有的,那么就能创建多个对象,所以类的构造函数应该是私有的,随之而来的问题是,构造函数私有在类的外部还怎么创建对象,static帮我们解决了这个问题, 所以初步的单例我们写成这样class Test{ private Test mTest; private Test(){//将构造函数声明为私有的,只有类的内部才能构造对象原创 2016-02-24 15:19:34 · 261 阅读 · 0 评论 -
用badgeview实现tab的角标
首先看一下程序在手机上运行的效果:用ViewPager + Fragment实现了Tab界面,用第三方的框架badgeView来实现Tab上的角标FirstFragment的布局文件tab01.xml的代码<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/a原创 2016-03-12 15:09:00 · 1731 阅读 · 0 评论 -
Android中的Message
一,Message 我的理解是消息就是数据的载体,它就是用来存放数据的,它的实例化有以下几种方式: 1.通过构造函数Message msg = new Message();2通过obtain方法Message msg = Message.obtain();3.通过handlerHandler handler; Message msg = handler.obtainMessage();推荐使用第原创 2016-04-07 19:20:37 · 601 阅读 · 0 评论 -
onActivityForResult不执行
首先说说本人碰到的于onActivityResult不执行的情况。(网上找了很久都没有人碰到) 1.直接上代码说明 ActivityA的代码:(放在onCreate方法中)Intent intent = new Intent(ActivityA.this, ActivityB.class); Bundle bundle = new Bundle();转载 2016-03-26 13:49:41 · 481 阅读 · 0 评论 -
onWindowFoucusedChanged
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。 译注:从onWindowFocusChanged被执行起,用户可以与应用进行交互了,而这之前,对用户的操作需要做一点限制。比如我们在做OTT项目时候,我们就是在这onWindowFocusChan转载 2016-03-27 18:55:33 · 733 阅读 · 0 评论 -
Bitmap和LruCache
一,Bitmap1.什么是bitmapBitmap表示的是一张图片,这个图片是原图。BitmapFactory的四个方法:decodeFile, decodeResource, decodeStream,decodeByteArray,分别用于支持从文件系统,资源,输入流,和字节数组中生成一个bitmap对象。 2.bitmap占据的内存大小以一张512 * 512分辨率,采用ARGB8888格式存原创 2016-04-13 10:34:04 · 814 阅读 · 0 评论 -
android中消息机制
一,MessageQueue 消息队列故名思意是用来存储消息的,不过它不是队列,是链表,消息队列有两个操作,一个是入队操作enqueueMessage(),另一个是读取操作next(),入队操作是往消息队列中插入一条消息,读取消息是从消息队列中取出一条消息并将其从消息对列中移除。二,Looper 在消息机制中扮演着消息循环的角色,具体来说就是它不停的从MessageQueue中查看是否有新消息,原创 2016-04-09 21:41:58 · 291 阅读 · 0 评论 -
Activity的启动模式
Activity有四种启动模式:1.standard:标准模式,该模式的Activity每次启动时都会创建实例,也就是说每次启动都会在任务栈中对该Activity的实例进行入栈操作。 以一个实例进行说明:手机当前显示的Activity为A,在A上有一个Button,点击该Button会跳转到A,点击两次Button,它的入栈过程如下 我们怎么知道栈中有三个Activity A呢,点击手机上的原创 2016-03-16 21:36:11 · 440 阅读 · 0 评论 -
在ViewPager中获取Fragment
用Fragment来填充ViewPager是,Fragment都是通过创建对象来添加到ViewPager中的, mFirstFrag = new FirstFragment(MainActivity.this); mSecondFrag = new SecondFragment(MainActivity.this); mT原创 2016-03-02 16:01:55 · 1410 阅读 · 1 评论 -
缩略图Thumbnails
【Android】缩略图Thumbnails 在Android,多媒体文件(视频和图片)都是有缩略图的,在很多应用中,我们需要获取这些缩略图。比如最近在做一个类似相册的应用,需要扫描相册里面的图片,然后获取其缩略图,使用GridView去展示缩略图,当点击之后,我们需要获取其原始图,所以相关的需求如下:1)获取缩略图(一个问题是:是否所有的图片以及视频都有缩略图?);2)将缩略图和原始图关联起来;转载 2015-12-13 15:06:46 · 1255 阅读 · 0 评论 -
java.lang.RuntimeException: setAudioSource failed.
录音权限没加原创 2015-12-16 20:14:52 · 491 阅读 · 0 评论 -
重写ViewPager的方法时参数为arg0, arg1
class PageChange implements OnPageChangeListener { @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) {原创 2015-11-30 14:49:51 · 755 阅读 · 0 评论 -
为图片创建缩略图
概述:缩略图是对原图片进行压缩之后的结果 图片的压缩分种:1是比例压缩, 2是质量压缩 这两者压缩的区别见Android图片压缩(质量压缩和尺寸压缩) 下面介绍一下根据原图创建缩略图并保存到本地的方法,代码如下 originalUri是原图片的路径,thumbnaiUri是你将缩略图要保存的路径如sdcard/abc.jpg public static void get原创 2015-12-18 10:27:14 · 488 阅读 · 0 评论 -
路线
转自:http://blog.csdn.net/qinjuning 前言:公司最近来了很多应届实习生,看着他们充满信心但略带稚气的脸庞上,想到了去年的自己,那是的我是不是也和 现在的他们一样呢?现在的我又改变了什么?公司的给这些实习生指定的相关培训制度还是比较完善的(我可是个菜鸟)。但我反 过来想,假如是我,我会制定一个怎转载 2015-12-18 15:34:33 · 357 阅读 · 0 评论 -
底层
我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径。根据前辈的经验,Android底层完全入门需要两年。 先说下我的入门过程: 第零步,下载源码,我下的4.2的,框架层源码10G,内核2G多,ctags给框架层建的标签文件都有600M,当时让我有点震撼,用的vim+ctags+cscope来阅读,还算不错,架构挺清晰的。 第一步,我找到了一本好转载 2015-12-18 15:21:28 · 558 阅读 · 0 评论 -
显示Intent
3、显式Intent小结 有两种方式来显示的指示要启动的Activity: 方式一:(通过setClassName) [java] view plain copy Intent intent = new Intent(); //表示希望启动com.example.test_permission包中的com.example.te转载 2016-01-21 11:21:47 · 391 阅读 · 0 评论 -
Touch事件
点击事件的处理包括三个函数: 分别为传递——dispatchTouchEvent()函数、拦截——onInterceptTouchEvent()函数、消费——onTouchEvent()函数 拥有这三个方法的类: Activity类: Activity dispatchTouchEvent(); onTouchEvent(); View容器(ViewGro转载 2015-12-22 11:37:17 · 613 阅读 · 0 评论 -
Intent详解
总结:Intent是的中文翻译是"意图",也就是我们想要干什么,对于implicit Intent,可以用来启动本应用程序的Activity,service,和其他的应用程序,隐式启动时我们没有告诉系统我们究竟是想启动那个具体的Activity或应用程序,那么系统怎么根据Intent来选择我们想要启动的应用程序呢,首先是action, 之前一直不理解aciton(动作)到底是什么意思,比如我们转载 2015-12-23 16:56:20 · 933 阅读 · 0 评论 -
android中获取坐标
###视图坐标和布局坐标: 视图坐标中,视图的大小取决于视图本身包含多少内容,它是不受屏幕大小的限制的,比如说一个ListView它的内容超出了屏幕,该ListView视图的大小是整个ListView的大小,而不是显示在屏幕中的那块区域的大小 布局坐标是有限的,是指父视图给子视图分配的大小, 所以getX()的值是该点或view距离它的父视图的左边界的距离转载 2016-01-27 21:21:30 · 529 阅读 · 0 评论 -
Application
转自:http://blog.csdn.net/lieren666/article/details/7598288 学习Android挺长时间了,但是对于Appliction还不是很了解。今天花一些时间研究了一下Application。 What is Application Application和Actovotu,Service一样是android框转载 2016-04-20 15:54:29 · 376 阅读 · 0 评论