
Android四大组件
文章平均质量分 82
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Android如何获得系统版本
如何获得Android系统版本项目移植中,遇到需要区分不同系统版本的问题。于是查找相关方法如下:android.os.Build类提供了当前系统信息。可用if (Build.VERSION.SDK_INT 有人用这样一个函数来获取版本号:public static int getAndroidSDKVersion() { int version; try {原创 2013-10-23 09:37:13 · 2446 阅读 · 0 评论 -
Android菜鸟的成长笔记(22)——Android进程间传递复杂数据(AIDL)
在上一篇中介绍了Andorid中的进程间的通信方式AIDL,本篇文章将介绍传递复杂数据的AIDL Service下面通过一个示例说明:本例子中用到了两个自定义类型:Person与Pet, 其中Person对象作为调用远程Service的参数,而Pet将作为返回值。就像RMI要求远程调用的参数和返回值必须实现Serializable接口,Android要求调用远程Service的参数和返回值原创 2013-12-24 10:53:01 · 4256 阅读 · 0 评论 -
Android菜鸟的成长笔记(24)——Android中的振动器
在某些时候,程序需要启动系统振动器,比如手机静音时使用振动提示用户;再比如玩游戏时,当系统碰撞、爆炸时使用振动带给用户更逼真的体验等。总之,振动是除视频、声音之外的另一种“多媒体”,充分利用系统的振动器会带给用户更好的体验。系统获取Vibrator也是调用Context的getSystemService()方法即可,接下来就可以调用Vibrator的方法来控制手机震动了。package c原创 2013-12-24 16:23:22 · 3178 阅读 · 1 评论 -
Android菜鸟的成长笔记(16)——Service简介
Service是Android四大组件之一1、Service与Activity的区别在:Service一直在后台运行,没有用户界面。2、选择Activity与Service的标准:如果某个程序组件需要在运行时向用户呈现某种界面,或者改程序需要和用户进行交互,就需要用Activity,否则需要考虑使用Service.3、Android系统本身提供了大量的Service组件,开发者可以通过原创 2013-12-18 16:13:00 · 3240 阅读 · 1 评论 -
Android菜鸟的成长笔记(21)——跨进程调用Service
我们都知道在Android中的每一个应用是一个进程,其实每一个应用就相当于Linux系统里面的一个用户,进程和进程之间的通信其实就相当于用户和用户之间的通信,为了实现这种跨进程通信,Android提供了AIDL Service ( Android Interface definition language).与邦等本地Service不同的是,本地Service的onBind()方法会直接把IB原创 2013-12-23 15:34:03 · 2663 阅读 · 1 评论 -
Android菜鸟的成长笔记(23)——获取网络和SIM卡信息
TelephonyManager是一个管理手机通话状态、电话网络信息的服务类,该类提供了大量的getXxx()方法来获取电话网络的相关信息。这些信息包括设备编号、软件版本、网络运营商代号、网络运营商名称、手机制式、设备当前位置、SIM卡的国别、SIM卡序列号等。下面来实际看一下:MainActivity.javapackage com.example.telephonymanager;原创 2013-12-24 11:44:58 · 3540 阅读 · 0 评论 -
Android菜鸟的成长笔记(19)——Service的生命周期
前面两篇文章介绍了关于Service的两种启动方式,简要总结如下:Context.startService() Context.bindService()1. startService()的目的是回调onStart()方法,onCreate() 方法是在Service不存在的时候调用的,如果Service存在(例如之前调用了bindService,那么Service的onCreate方原创 2013-12-18 18:11:05 · 2863 阅读 · 0 评论 -
Android菜鸟的成长笔记(26)——普通广播与有序广播
BroadcastReceiver是Android系统的四大组件之一,BroadcastReceiver是一个全局的系统级监听器,它拥有自己的独立进程。我们来写一个最简单的广播接收过程先在manifest中定义一个广播接受者 <application android:allowBackup="true" android:icon="@drawable/ic_l原创 2014-02-26 18:12:12 · 4795 阅读 · 1 评论 -
Android菜鸟的成长笔记(9)——Intent与Intent Filter(下)
接着上一篇的内容,下面我们再来看看Intent的Data与Type属性。一、Data属性与Type属性Data属性通常用于向Action属性 提供操作的数据,Data属性接受一个Uri对象格式:scheme://host:port/path例如:content://com.android.contacts/contacts/1tel:123其中prot部分被省略了,原创 2014-02-16 13:45:51 · 3461 阅读 · 0 评论 -
Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值
前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候可能会遇到需要传值的需要。Activity之间传值是通过Bundle来实现的。一、通过Bundle传值介绍Intent提供了多个重载方法来携带数据putExtras(Bundle data):向Intent中放入需要的数据包Bundle getExtras():取出Intent所原创 2014-02-16 14:38:00 · 7756 阅读 · 1 评论 -
Android菜鸟的成长笔记(20)——IntentService
前面介绍的Service在官方文档介绍中说Service存在着如下两个问题:1.A Service is not a separate process. The Service object itself does not imply it is running in its own process; unless otherwise specified, it runs in the原创 2013-12-19 13:56:01 · 2948 阅读 · 1 评论 -
Android菜鸟的成长笔记(18)——绑定本地Service并与之通信
在上一篇中介绍了Service与Activity的区别及Service两种启动方式中的第一种启动方式startService().我们会发现用startService()、stopService()方法启动和关闭一个Service时,Service与访问者之间基本上不存在太多的关联,因此Service和访问者之间也无法进行通信和数据交换。如果要实现Service与Activity之间的通信就要原创 2013-12-18 16:54:59 · 2959 阅读 · 1 评论 -
Android菜鸟的成长笔记(17)—— 再看Android中的Unbounded Service
前面已经写过关于startService(Unbounded Service)的一篇文章:《Service与BroadcastReceiver——(1)Service简介》本篇将在这一篇的基础上再来看一下startService的用法。先看一段代码:原创 2014-02-23 23:10:05 · 3306 阅读 · 0 评论 -
Android之消息推送实现
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初转载 2013-10-21 11:04:09 · 2810 阅读 · 0 评论 -
Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
记得我之前参与开发过一个华为的项目,要求程序可以支持好几种终端设备,其中就包括Android手机和Android Pad。然后为了节省人力,公司无节操地让Android手机和Android Pad都由我们团队开发。当时项目组定的方案是,制作两个版本的App,一个手机版,一个Pad版。由于当时手机版的主体功能已经做的差不多了,所以Pad版基本上就是把手机版的代码完全拷过来,然后再根据平板的特性部分稍转载 2013-08-04 23:19:05 · 2020 阅读 · 1 评论 -
Android客户端后台发送邮件(JMail)
今天在做项目的时候要处理用户注册问题,里面有个邮箱验证,网上找了一下果然有人做过,但是我拿过来都运行不起来,或者是发送不了邮件。后来我对这个浅浅的研究了一下,贴出来和大家共享。Activitypackage e.m;import android.app.Activity;import android.os.Bundle;import android.util.Log;impo原创 2013-10-18 22:20:40 · 4528 阅读 · 0 评论 -
Android Service与Activity之间通信的几种方式
在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会常常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中我们可以传递数据给Service,而当我们Service执行某些操作之后想要更新UI线程,我们应该怎么做呢?接下来我就介绍两种方式转载 2013-08-05 10:25:50 · 1950 阅读 · 0 评论 -
Android Fragment完全解析,关于碎片你所需知道的一切
我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界面放在平板上可能会有过分被拉长、控件间距过大等情况。这个时候更好的体验效果是在Activity中嵌入"小Activity",然后转载 2013-08-05 08:22:09 · 1962 阅读 · 2 评论 -
Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话来了,当接完电话游戏继续玩),某些应用甚至会保留你离开时候的状态及数据,这些原理是什么?怎么去实现这样的应用?这将是我们这一篇文章要解开的问题。有一句很常见的代码如下,很多人不知道为什么要加这么一句话 @Override protected void onCreate(Bundle s原创 2014-02-22 17:34:14 · 3746 阅读 · 0 评论 -
Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)
在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据及恢复数据的过程。下面我们先来看一个现象......原创 2014-02-23 19:21:51 · 3509 阅读 · 0 评论 -
PreferenceActivity的使用
PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存。Android专门为这种Activity提供了便捷的基类PreferenceActivity。如果继承自Preference则不需要自己控制Preference的读写,PreferenceActivity会为我们处理一切。PreferenceAct原创 2014-02-12 10:35:22 · 6425 阅读 · 0 评论 -
Android菜鸟的成长笔记(7)——什么是Activity
前面我们做了一个小例子,在分析代码的时候我们提到了Activity,那么什么是Activity呢?我们先去官方网站上去看一下文档:http://developer.android.com/reference/android/app/Activity.htmlActivity是Android应用程序提供交互界面的一个重要组件,也是Android重要组件之一。Activity的启动过程1、原创 2014-02-12 22:54:06 · 8114 阅读 · 0 评论 -
Android菜鸟的成长笔记(8)——Intent与Intent Filter(上)
摘要:Intent代表了Android应用的启动“意图”,Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,取决于Intent的各个属性。一、显式的Intent明确指定了要启动的组件的Intent我们称为显式的Intent二、隐式的Intent没有明确指定要启动的组件的Intent我们称为隐式的Intent三、获取通讯录案例原创 2014-02-16 00:01:08 · 3819 阅读 · 2 评论