
Android知识点
文章平均质量分 75
sadsadsadsadsazcAS
这个作者很懒,什么都没留下…
展开
-
ActivityLifeCycle官方demo解析
1.关于Activity的生命周期的几篇文章:http://1.duoinfo.sinaapp.com/?p=330http://1.duoinfo.sinaapp.com/?p=332http://1.duoinfo.sinaapp.com/?p=335http://1.duoinfo.sinaapp.com/?p=337training课程给的图是这样的:原创 2015-03-14 09:19:25 · 2503 阅读 · 0 评论 -
78 使用getIdentifier()获取资源Id
使用getIdentifier()方法可以方便的获各应用包下的指定资源ID。主要有两种方法:(1)方式一Resources resources = context.getResources();int indentify = resources.getIdentifier(org.loveandroid.androidtest:drawable/icon",null,null);i原创 2015-01-15 17:01:06 · 621 阅读 · 0 评论 -
复用convertView的原理
ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。如果当Item的数量足够大,再为每一个Item都创建一个View对象,必将占用很多内存,创建View对象(mInflater.inflate(R.layout.lv_item, null);从xml中生成View,原创 2015-01-15 13:52:11 · 1872 阅读 · 0 评论 -
77自定义EditText用来复制粘贴(包括图片)
实现的效果如下:要在这里能够粘贴图片,只能自定义了:创建一个类,继承自EditText:实现他的构造方法: private Context context; public PasteEditText(Context context) { super(context); this.context = contex原创 2015-01-15 15:56:18 · 1127 阅读 · 0 评论 -
Managing Bitmap Memory
In addition to the steps described in Caching Bitmaps, there are specific things you can do to facilitate garbage collection and bitmap reuse. The recommended strategy depends on which version(s) of原创 2015-02-02 14:39:38 · 654 阅读 · 0 评论 -
75android:scrollbarStyle属性及滚动条和分割线覆盖问题
android:scrollbarStyle可以定义滚动条的样式和位置,可选值有insideOverlay、insideInset、outsideOverlay、outsideInset四种。其中inside和outside分别表示是否在view的padding区域内,overlay和inset表示覆盖在view上或是插在view后面,所以四种值分别表示:insideOverlay:默认值转载 2015-01-15 15:13:43 · 672 阅读 · 0 评论 -
Processing Bitmaps Off the UI Thread
The BitmapFactory.decode* methods, discussed in the Load Large Bitmaps Efficiently lesson, should not be executed on the main UI thread if the source data is read from disk or a network location (原创 2015-02-02 14:38:29 · 717 阅读 · 0 评论 -
85ViewTreeObserver.addOnGlobalLayoutListener(listener)
有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息,而直接调用View组件的getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight()、getTop()、getLeft()等方法是无法获取到真实值的,只会得到0。这是因为View组件布局要在onResume回调后完成。下面提供实现方法,onGlobalLayout原创 2015-02-02 17:22:42 · 749 阅读 · 0 评论 -
GridView属性集合 drawSelectorOnTop
android:fastScrollEnabled="true"是让ListView出现快速滚动的按钮,一开始,我的记录只有十条,我在拉动的时候都不见出现快速滚动,后来才发现,原因是数据不多的原因,只要数据足够多,才会自动出现的。 还有一个属性:android:drawSelectorOnTopWhen set to true, the selector wil原创 2015-02-02 15:16:35 · 961 阅读 · 0 评论 -
Caching Bitmaps
Loading a single bitmap into your user interface (UI) is straightforward, however things get more complicated if you need to load a larger set of images at once. In many cases (such as with components原创 2015-02-02 14:39:06 · 579 阅读 · 0 评论 -
84Android drawable-nodpi 的作用
把一些不能被拉伸的图片放在 drawable-nodpi 中,此图片将不会被放大,以原大小显示。看下图:drawable-nodpi 的作用" title="Android drawable-nodpi 的作用" style="margin:0px; padding:0px; border:0px; list-style:none">这两个图片被放到了dra转载 2015-02-02 15:09:25 · 710 阅读 · 0 评论 -
Displaying Bitmap小结
Google的关于展示位图的课程学习完毕了。主要的内容主要包括了下面的几个部分:1.高效的加载大图(Loading Large Bitmaps Efficiently)2.非UI线程处理Bitmap(Processing Bitmaps Off the UI Thread)3.缓存Bitmaps(Caching Bitmaps)(LruCache和DiskLruCache,原创 2015-02-02 14:42:06 · 646 阅读 · 0 评论 -
76android ListView几个比较特别的属性
首先是stackFromBottom属性,设置该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true" 第二是transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件trans转载 2015-01-15 15:21:36 · 541 阅读 · 0 评论 -
Google官方demo(displayingBitmaps)
在这个demo里面,他使用的是GridView(在Fragment中)来显示图片的缩略图,当点击缩略图的时候,显示大图,使用了DiskLruCache和AsyncTask。原创 2015-01-19 10:12:11 · 1256 阅读 · 0 评论 -
Custom Drawing
Override onDraw()The most important step in drawing a custom view is to override the onDraw() method. The parameter to onDraw() is a Canvasobject that the view can use to draw itself. The Ca原创 2015-03-11 08:56:19 · 595 阅读 · 0 评论 -
81ACTION_GET_CONTENT和ACTION_PICK的区别
即时通讯做到选择图片的功能:我是这样处理的: public void selectPicFromLocal() { Intent intent; if (Build.VERSION.SDK_INT < 19) { intent = new Intent(Intent.ACTION_GET_CONTENT); int原创 2015-01-23 09:34:28 · 3781 阅读 · 0 评论 -
Android组件设计思想
内容来自罗升阳的PPT从四个方面说起:组件化背景组件化设计组件化支持一、组件化背景从PC客户端应用程序说起:开发者角度复杂,同时兼顾UI、交互和业务逻辑运行载体是进程进程只有一个入口点—main使用者角度流畅的UI、友好的交互、正确的结果不知进程是何物//===========================PC客户端应用程序原创 2015-01-05 14:09:37 · 1212 阅读 · 0 评论 -
Android知识点(两种单例)
1.什么是状态机?项目中什么时候用到状态机,举例说明。(了解)--->关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。群里一哥们的解释原创 2015-01-05 10:57:46 · 610 阅读 · 0 评论 -
高效显示Bitmap3--->Cached Bitmap
加载单个Bitmap到UI是简单直接的,但是如果你需要一次加载大量的图片,事情则会变得复杂起来。在大多数情况下(例如在使用ListView,GridView或ViewPager时), 屏幕上的图片和因滑动将要显示的图片的数量通常是没有限制的。通过循环利用子视图可以抑制内存的使用,GC(garbage collector)也会释放那些不再需要使用的bitmap。这些机制都非常好,但是为了保持一个原创 2015-01-21 15:51:14 · 1227 阅读 · 0 评论 -
高效显示Bitmap2--->非UI线程处理Bitmap
当数据源是网络或者是磁盘时(或者是任何实际源不在内存的),这些方法都不应该在main UI 线程中执行。那些情况下加载数据是不可以预知的,它依赖于许多因素(从网络或者硬盘读取数据的速度, 图片的大小, CPU的速度, etc.)。如果其中任何一个任务卡住了UI thread, 系统会出现ANR的错误。使用 AsyncTask 在后台线程中处理bitmap并且演示了如何处理并发(concurre原创 2015-01-21 15:40:19 · 646 阅读 · 0 评论 -
80使用相机录像
请求相机权限(Request Camera Permission)为了让别人知道你的应用依赖照相机,在你的manifest文件中添加标签:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dystu.videodemo" android:versionCode原创 2015-01-22 15:59:40 · 656 阅读 · 0 评论 -
79使用相机拍照
请求使用相机权限(Request Camera Permission)如果拍照是你的应用的必要功能,那么限制它在在Google Play中仅对有相机设备可见。为了让别人知道你的应用依赖照相机,在你的manifest文件中添加标签:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package原创 2015-01-22 15:39:48 · 693 阅读 · 0 评论 -
Android事件分发机制
事件分发机制的几个主要的方法:事件分发(dispatchTouchEvent(MotionEvent ev))事件拦截(onInterceptTouchEvent(MotionEvent ev))事件响应(onTouchEvent(MotionEvent ev)),其中ViewGroup响应这三个方法,View要看它是否有子View,没有子View时不响应事件拦截,Activity不响转载 2015-01-21 14:33:35 · 1000 阅读 · 0 评论 -
高效显示Bitmap1--->高效加载大图
当我们使用下面的代码加载内存中的一张图片时,显示了下面的错误:package com.dystu.bitmapdemo;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import and原创 2015-01-21 10:17:30 · 755 阅读 · 0 评论 -
Android性能优化典范
我的站点:http://duoinfo.sinaapp.com/ (需要这个模板的问我要吧,我的QQ:619189810)2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提原创 2015-01-20 18:26:21 · 952 阅读 · 0 评论 -
Loading Large Bitmaps Efficiently
Images come in all shapes and sizes. In many cases they are larger than required for a typical application user interface (UI). For example, the system Gallery application displays photos taken using原创 2015-02-02 14:36:54 · 679 阅读 · 1 评论 -
Displaying Bitmaps Efficiently
Learn how to use common techniques to process and loadBitmap objects in a way that keeps your user interface (UI) components responsive and avoids exceeding your application memory limit. If you’re原创 2015-02-02 14:35:57 · 755 阅读 · 0 评论 -
Displaying Bitmaps in Your UI
This lesson brings together everything from previous lessons, showing you how to load multiple bitmaps intoViewPager and GridView components using a background thread and bitmap cache, while dealing原创 2015-02-02 14:40:16 · 654 阅读 · 0 评论 -
EditText的一些属性
我在IM即时通讯项目中,想在输入文字的时候,输入法上面显示发送,然后去响应我的发送消息的事件,但是不知道怎么做,于是我去查下了EdiText的文档(Google guide),获得了下面的消息:Specifying Keyboard Actions(指定action)In addition to changing the keyboard's in原创 2015-01-28 10:48:43 · 854 阅读 · 0 评论 -
TextView的一些重要属性
Here are some of the common input type values that define keyboard behaviors:"textCapSentences"Normal text keyboard that capitalizes the first letter for each new sentence.(大写第一个字母)"textCapWords"N原创 2015-01-28 10:27:52 · 589 阅读 · 0 评论 -
Borderless button
读Google的文档的时候发现的这个,想起来,我之前在即时通讯项目是这样干的,直接在button的xml属性中指定下面的属性:android:background=null;One design that can be useful is a "borderless" button. Borderless buttons resemble basic buttons except原创 2015-01-28 10:14:09 · 979 阅读 · 0 评论 -
Android数据库事务操作
Android中的SQLite可以很好的支持事务操作,所谓的事务,就是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全不执行,不能执行某些操作,而不执行其他操作。打个比方,银行的转账操作,A转给B1000块钱,则A的账户中要扣除1000块,B的账户中要增加1000块,这两个行为要么都执行,要么都不执行,不能只执行其中一个操作。使用Android的SQLite的事务也很简单,原创 2015-01-07 20:53:43 · 914 阅读 · 0 评论 -
Android 一张图理解getWidth和getMeasuredWidth
一张图理解getWidth和getMeasuredWidth" title="Android 一张图理解getWidth和getMeasuredWidth" style="margin:0px; padding:0px; border:0px; list-style:none">view.getMeasuredHeight()可能隐藏在上头.可能在下头.如果view没有超出屏幕的时候view.转载 2015-01-27 09:11:06 · 684 阅读 · 0 评论 -
Android获取状态栏,标题栏,视图的尺寸
效果如下:在onWindowFocusChanged方法中执行测量的代码。package com.dystu.viewdimen;import android.app.Activity;import android.graphics.Rect;import android.os.Bundle;import android.view.View;import android原创 2015-01-27 09:05:28 · 978 阅读 · 0 评论 -
ListView+CheckBox实现全选和反选
实现的效果图如下:(在《第一行代码的例子上加以修改的》),当点击全选的时候,效果如下:当只选中下面的几个:此时按下,反选,如图:首先是布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s原创 2015-01-08 08:31:14 · 2265 阅读 · 0 评论 -
64ListView中item中有CheckBox带来的选择状态混乱的解决
如图:当选择第二个条目的时候,往下翻:看到下面有的居然自己勾上了:再网上翻,发现上面的有的也自己勾上了:第一次遇到这个问题(手机管家项目第一次遇到这个问题,这里是拿《第一行代码》复习了),感觉好奇怪,甚至感觉有点不可思议。但是静下来想想,不过是因为复用convertView带来的问题。解决方式:第一步:在bean中新增 一个fil原创 2015-01-07 18:10:34 · 1978 阅读 · 2 评论 -
60BaseAdapter导致notifyDataSetChanged()无效的几个原因及处理方法
暂时只碰到这几个问题:一、ScrollView中嵌套ListView或GridView原因:两个的滚动监听冲突解决方法:重写ListView或GridViewpackage com.meritit.lottery.view; import android.content.Context; import android.util.AttributeSet原创 2015-01-07 15:04:00 · 791 阅读 · 0 评论 -
62MeasureSpec介绍及使用详解
MeasureSpec的源码: /** * A MeasureSpec encapsulates the layout requirements passed from parent to child. * Each MeasureSpec represents a requirement for either the width or the height. *原创 2015-01-07 15:56:35 · 635 阅读 · 0 评论 -
61自定义view--onMesure、MeasureSpec详解
转自:http://blog.youkuaiyun.com/mwj_88/article/details/41210373一、自定义view逻辑1、测量--onMesure():决定View的大小2、布局--onLayout():决定View在ViewGroup中的位置3、绘制--onDraw():如何绘制这个View第3步的onDraw系统已经封装的很好了,基本不用我们操心。现在讲讲第1转载 2015-01-07 15:12:13 · 709 阅读 · 0 评论 -
83Android实战技巧:深入解析AsyncTask
AsyncTask的介绍及基本使用方法关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复。AsyncTask引发的一个问题上周遇到了一个极其诡异的问题,一个小功能从网络上下载一个图片,然后放到ImageView中,是用AsyncTask来实现的,本身逻辑也很简单,仅是在doInBackground中用HT转载 2015-01-26 16:00:29 · 612 阅读 · 0 评论