
5.Android
文章平均质量分 69
hxwhou
坚持就是胜利!
展开
-
(四)Activities and Tasks
一个Activity可以启动另一个Activity,即使这个Activity是定义在另一个应用里的,比如说,你想展示给用户一条街的地图,现在已 经有一个Activity可以做这件事,那么现在你需要做的就是将你请求的信息放进一个Intent对象里,并且通过startActivity()传递 给他,这个地图就可以显示出来了,但用户按下BACK键时,你的Activity又重新出现在屏幕上。对用户转载 2013-08-18 21:27:12 · 1008 阅读 · 0 评论 -
Android:SurfaceView学习
首先我们先来看下官方API对SurfaceView的介绍SurfaceView的API介绍Provides a dedicated drawing surface embedded inside of a view hierarchy. You can control the format of this surface and, if you like, its size; th转载 2013-08-23 17:22:17 · 926 阅读 · 0 评论 -
Android之五大布局
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。 Linear原创 2013-08-24 16:47:40 · 1027 阅读 · 0 评论 -
startActivityForResult()的用法
举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。/*****************************/ 华丽丽的分割线 /*****************************/目的: A.java 是主转载 2013-08-26 17:35:11 · 1046 阅读 · 0 评论 -
Android之startActivityForResult的使用
在Android中startActivityForResult主要作用就是:A-Activity需要在B-Activtiy中执行一些数据操作,而B-Activity又要将,执行操作数据的结果返回给A-Activtiy//看效果代码如下:package sn.len.actres;import android.app.Activity;imp转载 2013-08-26 17:41:50 · 912 阅读 · 0 评论 -
LayoutInflater作用及使用
作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素. 方法: Android里面想要创建一个画面的时候, 初学一般都是新建一个类, 继承Activity基类, 然后在onCreate里面使用setCo转载 2013-08-27 10:03:36 · 1053 阅读 · 0 评论 -
LayoutInflater的用法总结
在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会根据情况在代码中自定义控件,这就需要用到LayoutInflater。LayoutInflater在Android中是“扩展”的意思,作用类似于findViewById(),不同的是LayoutInflater是用来获得布局文件对象的,而findViewById()是用来获得具体控件的。LayoutInflater经常在Base原创 2013-08-27 10:15:29 · 1273 阅读 · 0 评论 -
(二)启动组件:intent
当有一个来自于content resolver的请求指向Content provider时,content provider启动,其他的三个组件(Activity,service,broadcast receiver)是通过一个叫做intent的异步的消息来启动的,一个intent持有一个message的内容,对Activity和 service来说,他是一个被要求的动作(action)和在该动作转载 2013-08-18 21:10:27 · 1001 阅读 · 0 评论 -
(七)清理堆栈
当用户离开一个task一段时间后,系统就会清理掉task里出了rootActivity以外的Activity,如果用户又回来了,显示的是rootActivity,就像是用户离开又回来,是放弃以前的东西,开始新的东西。上面说的是默认的情况,有一些Activity的属性可以用来控制和修改这些行为。alwaysRetainTaskState如果一个task里的root Activ转载 2013-08-18 22:10:13 · 1755 阅读 · 0 评论 -
(一)Android应用程序及组件简介
Android应用程序是用Java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件,这个文件是一个将应用安装到手机上的一个载体。有很多方式,每个Android应用程序存在于不同的世界:(1)默认的,每个应用在他自己的Linux进程中运行,当应用中的任何代码需要执行时Android就启动相应的进程,当不需要执行时并且系统资源被其他应用请求时and转载 2013-08-18 21:05:10 · 1008 阅读 · 0 评论 -
(三)关闭组件(Shutting down components)
当对来自于content resolver的请求作出回应时content provider就启动了,当有一个感兴趣的broadcast message被广播时,broadcast receiver启动,所以我们需要知道怎么关闭这些组件。(1)Activity可以通过调用它自己的finish()方法来关闭,一个Activity也可以通过调用finishActivity()来关闭 另一个Act转载 2013-08-18 21:14:41 · 1087 阅读 · 0 评论 -
Android:帧布局实现霓虹灯的效果
关于帧布局的参考:http://blog.youkuaiyun.com/canlets/article/details/10274729下面我们就用该布局实现霓虹灯的效果,如图:布局文件中定义七个视图组件,最大的在最下面,先定义,最小的在最上面,最后定义<LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr原创 2013-08-29 13:52:25 · 1810 阅读 · 0 评论 -
android:layout_gravity和android:gravity的区别
1.首先来看看android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Bu转载 2013-08-30 13:26:29 · 1053 阅读 · 0 评论 -
浅谈MIME
多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。这个标准被定义在;RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。 由RFC 822转变而来的RFC 2822,规原创 2013-09-07 16:39:02 · 1183 阅读 · 0 评论 -
Android之SimpleAdapter和ListView
一、SimpleAdapter SimpleAdapter是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图。你可以指定数据支持的列表如ArrayList组成的Map。在ArrayList中的每个条目对应List中的一行。Maps包含每行数据。你可以指定一个定义了被用于显示行的视图XML文件,通过关键字映射到指定的视图。 构造函数 pu转载 2013-09-02 17:31:39 · 1354 阅读 · 0 评论 -
Android学习笔记之AndroidManifest.xml文件解析
一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Inte转载 2013-09-14 10:31:55 · 971 阅读 · 0 评论 -
Android之SurfaceView
想要学习SurfaceView,必须了解SurfaceView、Surface、SurfaceHolder。1.Surfacesurface的意思就是界面,可以理解为我们要显示的画面,不过只是先将它存储到内存中,完成后,才显示到屏幕中,也就是SurfaceView中。2.SurfaceHolderSurfaceHolder是一个抽象的接口,用来支持显示一个surface(也就是说S原创 2013-10-01 20:27:48 · 1084 阅读 · 0 评论 -
Android:Uri、UriMatcher、ContentUris详解
1.Uri通用资源标志符(Universal Resource Identifier, 简称"URI")。Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。 URI一般由三部分组成:访问资源的命名机制。存放资源的主机名。资源自身的名称,由路径表示。 Android的Uri由以下三部分组成: "content:转载 2013-08-23 17:40:53 · 1105 阅读 · 0 评论 -
Android:Looper类,Looper.prepare()和Looper.loop()
工作线程:在android应用程序中,我们创建的Activity、Service、Broadcast等都是在主线程(UI线程)处理的,但一些比较耗时的操作,如I/O读写的大文件读写,数据库操作以及网络下载需要很长时间,为了不阻塞用户界面,出现ANR的响应提示窗口,这个时候我们可以考虑创建一个工作线程(继承Thread类或者实现Runnable接口)来解决。使用工作线程容易出现的问题:对于And原创 2013-08-23 11:31:32 · 3808 阅读 · 1 评论 -
(五)Affinities and new tasks
默认的,一个应用里的所有Activity都有联系,所有都是属于一个task的,然而,可以通过下的taskAffinity属性来为每个 Activity单独的设置属性关系,定义在不同应用中的Activity可以共享一种关系(affinity),或者定义在同一个应用中的 Activity可以分配不同的关系(affinity)。这种关系在两种情况下生效,当启动Activity的 Intent对象包含有F转载 2013-08-18 21:35:54 · 954 阅读 · 0 评论 -
Activity的四种LaunchMode(启动方式)
合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。我们今天要讲的是Activity的四种launchMode。转载 2013-08-18 21:59:59 · 1057 阅读 · 0 评论 -
Android完全退出应用程序的三种方法
当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:第一种方法:首先获取当前进程的id,然后杀死该进程。 建议使用这种方式android.os.Process.killProcess(android.os.Process.myPid())第二种方法:终止当前正在运行的Java虚拟机,导致程序终止System.exit(0);第三种方法:强制关闭与该原创 2013-08-18 22:12:19 · 1285 阅读 · 0 评论 -
(八)进程和线程(Processes and Threads)
当一个应用的第一个组件需要运行时,android系统就为这个组件启动一个只有一个线程的Linux进程,默认的,应用的所有组件都运行这个进程中的这个线程中。但是,你可以安排组件运行在其他的进程中,并且为你的任意的进程增加若干线程。1、 进程组件运行的进程是在manifest文件里控制的,四大组件都一个process属性可以指定进程来运行,这些属性可以被设置为了每个组件都可以运转载 2013-08-18 22:23:52 · 950 阅读 · 0 评论 -
(九)进程的生命周期(Processes and lifecycles)
Android系统总是尽最大的努力来维持一个应用的进程,但系统的内存不足时就可能需要关闭一些旧的进程了,但是决定关闭哪个进程呢,android系统把所有的进程放进一个重要性树里,最低重要性的进程将会被停止,系统有5种重要性等级,重要性从高到低如下:(1)、前台进程。一个前台进程是当前执行用户请求的进程,如果有如下的一种情形的那么他就是前台进程:a、这个进程里运行着一个正在和用户交互转载 2013-08-18 22:39:51 · 1524 阅读 · 0 评论 -
Unable to get view server version from device emulator-5554 解决办法
情况描述:exlipse下编写好android应用程序时候,右键项目 run as android application 弹出一对话框说出现问题 点击详细说 空指针异常。打开ddms模式,里面提示 Unable to get view server version from device emulator-5554 ,此时我的android模拟器是运行着的。解决办法:删除工作空转载 2013-08-19 11:38:33 · 1730 阅读 · 0 评论 -
Android Activity和Intent机制
ActivityAndroid中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态)。对于Activi转载 2013-08-20 15:31:31 · 761 阅读 · 0 评论 -
Android生命周期
在 Android 中,多数情况下每个程序都是在各自独立的 Linux 进程中运行的。当一个程序或其某些部分被请求时,它的进程就“出生”了;当这个程序没有必要再运行下去且系统需要回收这个进程的内存用于其他程序时,这个 进程就“死亡”了。可以看出,Android 程序的生命周期是由系统控制而非程序自身直接控制。这和我们编写桌面应用程序时的思维有一些不同,一个桌面应用程序的进程也是在其他进程或用户请求转载 2013-08-20 15:54:49 · 877 阅读 · 0 评论 -
Android Bundle类
Bundle类根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html)Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”类继承关系:java.lang.O转载 2013-08-20 16:10:57 · 760 阅读 · 0 评论 -
Parcelable接口的使用
Parcelable接口的使用什么是Parcelable ? Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为“可打包的”了。 Parcelable 传递对象 Android序列化对象主要有两种方法: 1.实现转载 2013-08-20 16:52:26 · 734 阅读 · 0 评论 -
Android 中的Parcelable序列化对象
Android序列化对象主要有两种方法,实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是Java SE本身就支持的,而Parcelable是Android特有的功能,效率比实现Serializable接口高,而且还可以用在IPC中。实现Serializable接口非常简单,声明一下就可以了,而实现Parcelable接口稍微复杂一些,但效率更高转载 2013-08-22 20:25:44 · 987 阅读 · 0 评论 -
Android开发:什么是IBinder
IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,是为高性能而设计的轻量级远程调用机制的核心部分。但它不仅用于远程调用,也用于进程内调用。这个接口定义了与远程对象交互的协议。不要直接实现这个接口,而应该从Binder派生。IBinder的主要API是tran转载 2013-08-22 20:44:59 · 1730 阅读 · 2 评论 -
PendingIntent详解
PendingIntent描述了一个Intent和目标action。这个类的实例是用getActivity(Context,int,Intent,int)方法和getBroadcast(Context,int,Intent,int)和getService(Context,int,Intent,int)方法创建的。创建出的pending intent可以交给其它程序,于是它们可以在以后的某个时间原创 2013-08-22 21:50:47 · 1396 阅读 · 0 评论 -
Android中的Parcel是什么
Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是100000,j原创 2013-08-22 21:20:56 · 1791 阅读 · 2 评论 -
Android:线程使用来更新UI--Thread、Handler、Looper、TimerTask等
方法一:(java习惯,在android不推荐使用)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题new Thread( new Runnable() { public void run() { myView.invalidate(); } }).s原创 2013-08-23 09:50:31 · 1354 阅读 · 0 评论 -
Android 开发之多线程处理、Handler 详解
Android开发过程中为什么要多线程我们创建的Service、Activity以及Broadcast均是一个主线程处理,这里我们可以理解为UI线程。但是在操作一些耗时操作时,比如I/O读写的大文件读写,数据库操作以及网络下载需要很长时间,为了不阻塞用户界面,出现ANR的响应提示窗口,这个时候我们可以考虑使用Thread线程来解决。 Android中使用Thread线程会遇到哪些转载 2013-08-23 09:23:51 · 1364 阅读 · 0 评论 -
Android的系统架构
不积跬步,无以至千里;不积小流,无以成江海虽然关于Android系统架构的文章已经很多了,但是作为自己学习Android的心路历程,记录下来是必要的,老鸟就速度飞过吧~如果说一个成功男人的背后会有一个默默支持的女人的话,那么一个优越稳定的平台背后必有一个成熟的系统架构所支撑着。那么,Android的系统架构是怎么样的呢?从下图我们可以从整体上有个大致的了解(图片来源互联网):从转载 2013-10-11 08:20:03 · 5068 阅读 · 0 评论