Android
文章平均质量分 85
bj09
你的微笑
展开
-
handler 讲解
Handler 的定义 * 主要接受子线程发送的数据,并用此数据配合更新主线程更新UI, 当应用程序启动时,Android首先会开启一个 主线程 (也就是UI线程) 主线程管理界面中的UI控件,并进行事件分发。 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。如果 此时需要一个耗时的操作,例如: 联网读取数据, 或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中。如果你把耗时 操作放在主线程中原创 2011-03-03 10:49:00 · 1245 阅读 · 0 评论 -
android 系统文件文件层解析
Android系统文件夹结构说明/system/app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中。下面是详细的介绍:/system/app/AlarmClock.apk 闹钟/system/app/AlarmClock.odex/system/app/Browser.apk 浏览器/system/app/Browser.odex/system/app/Bugreport.apk原创 2011-03-04 11:33:00 · 1665 阅读 · 0 评论 -
将android工程导入eclipse中找不到 R文件的解决方法
<br />情况一:<br /> 千万不要重启Eclipse、也不自己创建R.java 类文件<br /> 右击你的工程(项目)——>Android Tools——>Fix Project Properties<br /> 将会再次创建出R文件,数据不丢失<br /> <br /> <br />情况二:<br /> <br /> 工程中没有R 文件,主要的原因是我们的工程没有编译,所以我们要手动编译导入的工程。<b原创 2011-03-08 21:38:00 · 11836 阅读 · 5 评论 -
android looper 详解
<br />(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)<br />Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。<br /> <br /> <br /> <br />(2) 通常是通过Handler对象来与Looper交互的。Handler可看做是Looper的一个接口,用来向指定的L原创 2011-05-17 21:49:00 · 2477 阅读 · 0 评论 -
菜单(1)
<br />菜单是android 系统的用户接口之一, 主要包括系统菜单, 上下文菜单。 <br /> <br /> <br />选项菜单<br /> <br /> Activity类的OnCreateOptionsMenu( Menu menu) 事件方法用来创建选项菜单。一般将创建选项菜单的代码放在该方法中。通过menu接口的<br /> add方法添加选项。该方法有四种重载的形式。<br /> <br /> 定义如下:<br /> public MenuItem add (int title原创 2011-05-18 16:06:00 · 663 阅读 · 0 评论 -
typearrary attrs 相关
在 实现gallery组件的应用时,会使用如下的代码。 //Retrieve styled attribute information in this Context's theme TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery); 获取Gallery组件的属性集合。 //Retrieve the resource i原创 2011-05-19 17:12:00 · 1066 阅读 · 0 评论 -
接收和发送广播
intent 对象不仅可以启动应用程序内部或者其他应用程序的Activity, 还可以发送广播动作(Broadcast)。Broadcast Action 和 Activity Action 一样,既可以由系统进行广播,也可以由自己的程序进行广播。利用广播,我们可以实现特殊的功能,例如,在开机的时候自动启动一个应用程序,当接受到短信自动提示或保存短记录等。实际上,在手机中发生这样的事件时,android 系统都会向整个系统发送相应的Broadcast Action,如果应用程序对这个广播感兴趣的话,就可以接原创 2011-05-23 17:38:00 · 2116 阅读 · 0 评论 -
url urlMatcher ConentUris
<br />1.Uri<br />通用资源标志符(Universal Resource Identifier, 简称"URI")。<br />Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。<br />URI一般由三部分组成:<br />访问资源的命名机制。 <br />存放资源的主机名。 <br />资源自身的名称,由路径表示。 <br /><br />Android的Uri由以下三部分组成: "content://"、数据的路径、标示ID(可选)<br转载 2011-05-23 09:56:00 · 2292 阅读 · 0 评论 -
什么是AIDL服务
<br />跨进程访问(AIDL服务)Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。我们知道4个Android应用程序组件中的3个(Activity、Broadcast和Content Provider)都可以进行跨进程访问,另外一个Android应用程序组件Service同样可以。这就是本节要介绍的AIDL服务。<br />什么是AIDL服务<br />为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(转载 2011-05-25 10:11:00 · 4462 阅读 · 0 评论 -
android service
service基础service 和activity 一样, 也有一个从启动到销毁的过程,但是Service的声明周期相对要简单些,如下3个阶段: * 创建服务 * 开始服务 * 销毁服务 一个服务实际上是一个继承android.app.Service的类。当service经历上面3个阶段时候,会调用相应的方法。 public void onCreate(); public void onStart(intent intent , int startId); public void on原创 2011-05-24 14:30:00 · 4569 阅读 · 0 评论 -
android中跨进程通讯的4种方式
<br />由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provider可以跨进程访问其他应用程序中的数据(以Cursor对象形式返回),当然,也转载 2011-05-25 11:25:00 · 41418 阅读 · 2 评论 -
Android Service学习之AIDL, Parcelable和远程服务
AIDL的作用<br /> 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。<br /> 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。<br /> AIDL (Android Interface Definitio转载 2011-05-25 17:33:00 · 1770 阅读 · 0 评论 -
使用风格化Android的GridView元素背景
刚刚学习Android的时候,GridView上元素的背景把我搞得很狼狈,那个背景的大小难以控制,导致一个元素背景经常会覆盖到相邻的元素.我费了好大力气才把GridView调整好,但是元素的背景依然没有好的办法去调整. 风格化Android的GridView元素背景" src="http://s10.sinaimg.cn/middle/4b650d65g992a3f804609&690"转载 2011-06-18 12:33:00 · 9111 阅读 · 0 评论 -
SeekBar的拖动的事件监听
实现OnSeekBarChangeListener接口,覆写方法方法调用:在拖动条的任何地方按下鼠标时先调用onStartTrackingTouch一次,再调用onProgressChanged一次。以后每拖动一下调用onProgressChanged一次。松开鼠标时调用onStopTrackingTouch一次//当拖动条发生变化时调用该方法public void onP转载 2011-06-19 17:42:00 · 16208 阅读 · 2 评论 -
Android Error: Unable to open class file R.java
<br /> <br /> <br />You’ve just installed Eclipse , and attempted to create your first Android Application. When clicking create, you see an error similar to this: "Error: Unable to open class file R.java" <br />如果出现 “Error: Unable to open class f转载 2011-04-28 16:58:00 · 873 阅读 · 0 评论 -
android sdk content loader 加载很慢的解决方法
<br />eclipse 每次启动会出现这样的情况,右下角的Android SDK Content Loader:一直是 0%不变 一直卡。<br /><br />我的解决方法是把网线给拔了。原创 2011-05-03 20:39:00 · 7793 阅读 · 9 评论 -
Eclipse显示日文乱码解决方法
不是当前编码的文字的Eclipse中显示会是乱码,解决办法: project->propertiesresource 修改 text file coding属性,如果Other下拉列表中没有需要的编码,直接在文本框里边填入SHIFT-JIS转载 2011-05-03 20:49:00 · 28290 阅读 · 1 评论 -
android 源码下载
<br />http://rgruet.free.fr/public/原创 2011-05-03 21:35:00 · 662 阅读 · 0 评论 -
在实机和模拟器上,android 程序启动时前期输出信息的区别
<br />下午运行程序时,忘记手机还连在电脑上,一直很郁闷模拟器为什么出不来,最后恍然大悟。借此比较了两者的不同<br /> <br />连接实机时控制台显示的输出信息:<br />[2011-05-04 17:17:30 - ch05_ratinglistview] Android Launch!<br />[2011-05-04 17:17:30 - ch05_ratinglistview] adb is running normally.<br />[2011-05-04 17:17:30原创 2011-05-04 17:32:00 · 941 阅读 · 0 评论 -
View.setTag()的作用
<br />这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用<br />Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用<br /><br />public View getView(int position, View convertView, ViewGroup parent) {<br /> ViewHolder vh;<br /><br /> if (convertView == null) {<br />转载 2011-05-03 23:27:00 · 10202 阅读 · 2 评论 -
实现Android 中的TreeView效果
<br /> TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。<br /> 思路是:按照类似于“树”的结构组织转载 2011-05-03 22:56:00 · 1899 阅读 · 1 评论 -
各种Adapter的用法
<br />同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapter,以及重写BaseAdapter等方法。<br /> ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果,SimpleCursorAdapter则可以从数据库中读取数据显示在列表上,通过从写BaseAdapter可以在列表上加处理的事件等。<br />转载 2011-05-03 23:41:00 · 1419 阅读 · 0 评论 -
android 模拟器上网问题
<br />方法一<br />首先,Windows下,配置Adroid环境变量(Win7为例)<br />1、桌面右键——》我的电脑——》高级系统设置<br />2、高级——》环境变量——》系统变量——》Path<br />3、添加AndroidSDK目录到系统变量Path中,如下图:<br /><br />注:F:/Pro-files/android-sdk-windows/tools,添加到系统Path<br />如果有F:/Pro-files/android-sdk-windows/platf转载 2011-05-06 17:00:00 · 1576 阅读 · 0 评论 -
android 之屏幕适配
不同手机屏幕的大小不同,我们的软件就要适应不同屏幕。 要实现屏幕适配,要针对不同的屏幕提供对应的界面。 屏幕分辨率 HVGA:320×480 (标准的屏幕大下)QVGA:240x320 WQVGA400:240X400WQVAG432:240X432WVGA800:原创 2011-07-17 22:13:30 · 1153 阅读 · 0 评论 -
android传感器(2)
自从苹果公司在2007年发布第一代iPhone以来,以前看似和手机挨不着边的传感器也逐渐成为手机硬件的重要组成部分。如果读者使用过iPhone、HTC Dream、HTC Magic、HTC Hero以及其他的Android手机,会发现通过将手机横向或纵向放置,屏幕会随着手机位置转载 2011-07-18 17:31:12 · 1997 阅读 · 0 评论 -
Android 多媒体扫描过程(Android Media Scanner Process)
下面是系统图 MediaScannerReceiver会在任何的ACTION_BOOT_COMPLETED, ACTION_MEDIA_MOUNTED或 ACTION_MEDIA_SCANNER_SCAN_FILE 意图(intent)发出的时候启动。因为解析媒体文件的元转载 2011-07-20 16:19:10 · 2048 阅读 · 1 评论 -
Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate()、onPause()等生命周期方法,它们并不一定会被触发。当应用遇到意外情况(如:内存不足、用户直接按Home键原创 2011-07-19 15:44:30 · 2526 阅读 · 1 评论 -
android 4种动画
动画类型Android的animation由四种类型组成XML中alpha 渐变透明度动画效果scale 渐变尺寸伸缩动画效果translate 画面转换位置移动动画效果rotate 画面转移旋转动画效果JavaCode中AlphaAnimatio转载 2011-07-19 17:24:03 · 1033 阅读 · 0 评论 -
关于 Activity 中 startActivityForResult 和 onActivityResult
如果你想在Activity中得到新打开Activity 关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activ原创 2011-07-19 15:38:06 · 3005 阅读 · 2 评论 -
应用的响应性(Responsive)
在Android中,应用的响应性被活动管理器(Activity Manager)和窗口管理器(Window Manager)这两个系统服务所监视。当用户触发了输入事件(如键盘输入,点击按钮等), 如果应用5秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出原创 2011-07-19 15:48:15 · 1272 阅读 · 0 评论 -
onInterceptTouchEvent和onTouchEvent
onInterceptTouchEvent和onTouchEvent调用时序onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各转载 2011-12-05 22:35:27 · 669 阅读 · 0 评论 -
android.mk 用法解析3
Android.mk详解 想请教下Android.mk中一些属性、方法、定义,总之就想详细了解下Android.mk文件,我先抛砖引玉。 LOCAL_PATH必须位于Android.mk文件的最开始。它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目录的路径。Android.mk 定义 属性 方法 Android.mk文件是G转载 2014-03-31 11:43:39 · 1092 阅读 · 0 评论 -
android 传感器(1)
下面是API中定义的几个代表sensor的常量。nt TYPE_ACCELEROMETER A constant describing an accelerometer sensor type. 加速度传感器原创 2011-07-18 16:34:28 · 2199 阅读 · 0 评论 -
gallery ,imageSwitcher 结合使用
Gallery组件的传统用法 Gallery组件可以横向显示一个图像列表,当单击当前图像的后一个图像时,这个图像列表会向左移动一格,当单击当前图像的前一个图像时,这个图像列表会向右移动一样。也可以通过拖动的方式来向左和向右移动图像列表。p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; line-height: 125%; font-size: 10.5pt; font-famil原创 2011-05-19 16:03:00 · 1014 阅读 · 0 评论 -
Bitmap和Drawable
Bitmap - 位图,一般位图的文件格式后缀为bmp,编码器有很多,如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显,即存储效率低。将其理解为一种存储对象比较好。Drawable - 作为Android平台下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,除此之外,还提供一些高级的可视化对象,比如渐转载 2015-01-05 17:59:00 · 477 阅读 · 0 评论 -
Preferece(1)
在Android系统中,当我们点击Menu按钮时,则会弹出Menu的菜单选项,其中一项是设置选项,点击了设置选项后,则会弹出系统的设置 Activity界面,这些设置功能是如何实现的呢?Android系统本身就大量用到了PreferenceActivity来对系统进行信息配置和管理,那么它是怎么保存数据的呢,如何创建PrefenceActivity的呢,更关键是怎样触发相应事件的呢。A原创 2014-12-29 19:38:25 · 1001 阅读 · 0 评论 -
Android.mk 用法解析2
package/app/Settings/Android.mkLOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_PACKAGE_NAME := Se转载 2014-03-31 11:09:22 · 6869 阅读 · 0 评论 -
Android--自定义控件的xml属性
1. 定义一些自定义属性 建立一个属性xml文件: values/attrs.xml, 内容如下: <!-- 如果某个属原创 2015-01-07 10:26:33 · 3905 阅读 · 0 评论 -
Handler(5)
Android之Handler用法总结方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { my转载 2014-12-26 14:59:31 · 553 阅读 · 0 评论 -
Android.mk 用法解析1
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中列出头文件和依赖文件。NDK编译系统将会为你自动处理这些问题。这转载 2014-03-31 10:47:24 · 742 阅读 · 0 评论