文档库 最新最全的文档下载
当前位置:文档库 › 如何在android中调用office文档处理服务

如何在android中调用office文档处理服务

如何在android中调用office文档处理服务
如何在android中调用office文档处理服务

如何在Android中

调用Office

文档处理服务

方法:在程序中使用Intent直接打开OliveOffice 支持的文件

1.使用Intent发送指令直接打开OliveOffice支持的文件,需要在

Intent中设置三类数据,分别为Intent的Action,文件的MIME Type 类型,文件数据的URI。如果系统检测到没有安装OliveOffice的APK程序,则需要下载并安装。

2.其中Action值设置为”com.olivephone.edit”

3.MIME Type值根据文件类型不同而不同,参见下表

Word03(*.doc) application/vnd.ms-word

Word07(*.docx) application/vnd.openxmlformats-officedocument.wordprocessingml.

document

Excel03(*.xls) application/vnd.ms-excel

Excel07(*.xlsx) application/vnd.openxmlformats-officedocument.spreadsheetml.sh

eet

PPT03(*.ppt) application/vnd.ms-powerpoint

PPT07(*.pptx) application/vnd.openxmlformats-officedocument.presentationml.pr

esentation

TXT(*.txt) text/plain

HTML(*.html,*.ht

text/html

m)

MHT(*.mht) message/rfc822

CHM(*.chm) application/vnd.olivephone-chm

PDF(*.pdf) application/pdf

RTF(*.rtf) application/rtf

application/x-rtf

text/richtext

4.设置文件URI,根据文件在Android文件系统中的路径创建URI,

如Uri.fromFile(new File(filePath));

5.使用代码示例(打开一个word03文件):

Intent intent = new Intent();

intent.setAction("com.olivephone.edit");

String fileMimeType = "application/vnd.ms-word";

intent.setDataAndType(Uri.fromFile(new File("/mnt/sdcard/test.doc")), fileMimeType);

try{

activity.startActivity(intent);

} catch(ActivityNotFoundException e) {

//检测到系统尚未安装OliveOffice的apk程序

//请先下载并安装

}

Android系统哪些程序可以删除

Android系统哪些程序可以删除(仅供参考) 发布时间:2011-08-05 11:42:09 来源:本站原创浏览数:3605 资讯摘要:Android手机系统中默认会自带很多无用程序,这些应用,平时很少用不到,但因为是系统自带的,所以它们像牛皮癣一样内嵌在手机里,无法去除。下面列举一些能够删除和不能够删除的软件列表,希望对G友有用!怎么删除呢?当然是下载一个安卓优化大师 V2.0.2.apk来删除AccountsyncManager.apk(社交网络账号管理程序)#就是管理Facebook、Flickr账号的程序。删除了,未发现异... 字号:小中大 Android 手机系统中默认会自带很多无用程序,这些应用,平时很少用不到,但因为是系统自带的,所以它们像牛皮癣一样内嵌在手机里,无法去除。下面列举一些能够删除和不能够删除的软件列表,希望对G友有用!怎么删除呢?当然是下载一个安卓优化大师 V2.0.2.apk来删除 AccountsyncManager.apk(社交网络账号管理程序)#就是管理Facebook、Flickr账号的程序。删除了,未发现异常。 Browser.apk(浏览器) Calculator.apk(计算器) Calendar.apk(日历) CalendarProvider.apk(日历存储) checkin.apk(签入) CheckinProvider.apk(签入服务) com.htc.MusicWidget.apk(音乐小插件) com.htc.WeatherWidget.apk(天气小插件) Gmail.apk(GMail)#Google提供的免费网络邮件服务 GmailProvider.apk(Gmail存储) gtalkservice.apk(GTalk服务) Googlesubscribedfeedsprovider(同步供稿,不知道干什么的,删了) HTC_CIME.apk(Touch Input 中文)#可移除,但移除后在第一次进系统弹出的设置向导时要跳过键盘测试,否则会崩溃。 HTC_IME.apk(Touch Input)#同上 HTCAlbum.apk(相册) htccalendarwidgets.apk(日历小插件) HTCCamera.apk(相机) HtcClockWidget.apk(时钟小插件) HtcContacts.apk(联系人) htccontactwidgets.apk(联系人小插件) htcmailwidgets.apk(邮件小插件) htcmsgwidgets.apk(信息小插件) HtcMusic.apk(音乐) HtcPhotoWidget.apk(照片小插件) htcsearchwidgets.apk(搜索小插件)

Android系统精简列表对照表

安卓系统精简列表对照表,适用于大部分Android系统,大家请参考对照精简。AirkanPhoneService 可删 AntiSpam 可删 AdupsFot.apk无线升级(可删) AdupsFotaReboot.apk重启升级操作(可删) ApplicationGuide.apk-应用程度指南(不可删)ApplicationsProvider.apk-应用程序存储服务(不可删) AtciService.apk--系统服务(不可删) Backup.apk 可删 BackupRestoreConfirmation.apkGoogle邮箱的备份,可删BasicDreams.apk 4.2新增,休眠模式,不可删 BatteryWarning.apk--电池警告(建议保留) Browser.apk-谷歌浏览器(可删) BugReport 可删 Calculator.apk---计算器(可删) Calendar.apk日历(可删,换第三方日历) CalendarImporter.apk日历服务(同上) CalendarProvider.apk-日历存储(同上) CDS_INFO.apk--常见数据服务(不可删) CellBroadcastReceiver.apk小区广播(可删) CellConnService.apk---电话连接服务(不可删) CertInstaller.apk-证书安装,可删(亲测,没发现问题)

Cit可删 CloudService可删 ChromeBookmarksSyncAdapter.apk-Google书签同步(可删) com.google.android.apps.docs.apk--云端硬盘(可删) com.google.android.apps.maps.apk-谷歌地图(可删) com.google.android.googlequicksearchbox.apk-Google搜索(可删) com.google.android.street.apk--街景视图(可删) Contacts.apk--通讯录/联系人(不可删) ContactsProvider.apk--通讯录/联系人数据存储服务(不可删)DataHubProvider.apk. 会导致流量红圈不可删 DataTransfer.apk-备份与恢复(可删) DataUsageLockScreenClient.apk数据应用和锁定屏幕客户端(不可删)DefaultContainerService.apk-默认存储服务(不可删) DeskClock.apk闹钟,时钟(建议保留) DownloadProvider.apk 下载管理器,可删(删了就不能在谷歌电子市场和谷歌浏览器下载东西了,需要的留着) DownloadProviderUi.apk 下载内容,可删(同上) DrmProvider.apk 受DRM保护的内容的存储,可删(有DRM保护的东西就留着这个)Email.apk-电子邮件(可删) EngineerMode.apk--工程模式(不可删) EngineerModeSim.apksim卡工程模式(不可删) EventReceiver 翻译过来就是事件接收还是别删了这个网上没查到多少资料

Android的系统服务一览

Android的系统服务一览 System_Server进程 运行在system server进程中的服务比较多,这是整个android框架的基础 Native服务 SurfaceFlinger 这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuffer)的服务程序 Java服务: 这部分的服务大部分都有一个供应用进程使用的manager类,这就是一个RPC 调用,用户通过调用xxxManager的方法,实际上被Binder给迁移到system_server 进程中对应的xxxManagerService中对应的方法,并将结果再通过binder带回。 1. EntropyService 熵服务,周期性的加载和保存随机信息。主要是linux开机后,/dev/random的状态可能是可预知的,这样一些需要随机信息的应用程序就可能会有问题。这个无需提供应用程序接口。 2. PowerManagerService –> PowerManager Android 的电源管理也是很重要的一部分。比如在待机的时候关掉不用的设备,待机时屏幕和键盘背光的关闭,用户操作的时候该打开多少设备等等。 3. ActivityManagerService->ActivityManager 这个是整个Android framework框架中最为核心的一个服务,管理整个框架中任务、进程管理, Intent解析等的核心实现。虽然名为Activity的Manager

Service,但它管辖的范围,不只是Activity,还有其他三大组件,和它们所在的进程。也就是说用户应用程序的生命管理,都是由他负责的。 4. TelephonyRegistry->TelephonyManager 电话注册、管理服务模块,可以获取电话的链接状态、信号强度等等。<可以删掉,但要看的大概明白> 5. PackageManagerService -> PackageManager 包括对软件包的解包,验证,安装以及升级等等,对于我们现在不能安装.so文件的问题,应该先从这块着手分析原因。 6. AccountManagerService -> AccountManager A system service that provides account, password, and authtoken management for all accounts on the device。 7. ContentService -> ContentResolver 内容服务,主要是数据库等提供解决方法的服务。 8. BatteryService 监控电池充电及状态的服务,当状态改变时,会广播Intent 9. HardwareService 一般是ring和vibrate的服务程序 10. SensorService -> SensorManager 管理Sensor设备的服务,负责注册client设备及当client需要使用sensor时激活Sensor 11. WindowManagerService -> WindowManager -> PhoneWindowManager 和ActivityManagerService高度粘合 窗口管理,这里最核心的就是输入事件的分发和管理。 12. AlarmManagerService -> AlarmManager 闹钟服务程序

教你彻底删除Android系统自带程序

教你彻底删除Android系统自带程序,注意是“彻底”。 新手升级必读| 性吧地址发布软件| 加入VIP会员- 享受尊贵待遇(官方唯一加入点) | 进入会员互助区得到帮助删除系统自带程序,估计有一定玩机经验的人都会说这很简单,root后通过root explorer或者专门的软件就行了。 是的,种方法是可以让程序消失达到删除的目的。 但是对于一些追求完美的人来说这还远远不够,因为这时候你只相当于把这个讨厌的客人赶出了你的房间,但是这个客人曾经在房间拉的大小便还在!! 高尚的狼亲们,你们允许吗当然不会,那么看完这个帖子后就顶我一下吧。 一般的删除方法仅仅删除了system/app里的文件,这样是没删干净的,还有许多没删掉。可以删除的区域有三: 区域一. system/app里的可删除文件如: 手机QQ QQ空间 支付宝 词酷 邮件 邮件插件 芒果TV 爱读 开心网 影音圈 QQ浏览器 办公软件 蜜蜂新闻 悦读圈 人人 三星App市场 三星App市场服务 新浪博客 新浪天气 新浪新闻 新浪股票 sns 账户 同花顺 社交圈 VIVA手机杂志 优酷

区域二:data/data里面(文件夹形式)如: 词酷 邮件 音乐 导航 爱读 支付宝 支付宝 QQ空间 人人网 影音圈 悦读圈 三星App市场 三星App市场服务 sns 账户 社交圈 邮件插件 新浪新闻 新浪天气 新浪股票 新浪微博 手机QQ 手机QQ 优酷 芒果TV VIVA杂志 区域三:data/dalvik-cache 里面(dex后缀文件)如@classes[/email] 支付宝 @classes[/email] 导航@classes[/email] 手机@classes[/email] QQQ空间 @classes[/email] 词酷@classes[/email] 芒果@classes[/email] 爱读@classes[/email] 开心网@classes[/email] 蜜蜂新闻@classes[/email] QQ浏览器@classes[/email] 办公软件@classes[/email] 人人网@classes[/email] 三星App市场@classes[/email] 三星App市场服务@classes[/email] 新浪博客@classes[/email] 同花顺@classes[/email] VIVA杂志 @classes[/email] 优酷 在这里说明下,这三个区域文件都是对应的 例如,删除开心网。先把区域一的删了,再删区域二,三的。 如此一来你就彻底抹除了这个程序。

最新Android应用程序绑定服务bindService的过程源代码分析汇总

A n d r o i d应用程序绑定服务b i n d S e r v i c e 的过程源代码分析

Android应用程序组件Service与Activity一样,既可以在新的进程中启动,也可以在应用程序进程内部启动;前面我们已经分析了在新的进程中启动Service的过程,本文将要介绍在应用程序内部绑定Service的过程,这是一种在应用程序进程内部启动Service的方法。 在前面一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划中,我们就曾经提到,在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中;在接下来的文章中,Android系统在新进程中启动自定义服务过程(startService)的原理分析一文介绍了在新的进程中启动Service的过程,Android应用程序启动过程源代码分析一文介绍了在新的进程中启动Activity的过程,而Android应用程序内部启动Activity过程(startActivity)的源代码分析一文则介绍了在应用程序进程内部启动Activity的过程;本文接过最后一棒,继续介绍在应用程序进程内部启动Service的过程,这种过程又可以称在应用程序进程内部绑定服务(bindService)的过程,这样,读者应该就可以对Android应用程序启动Activity和Service有一个充分的认识了。 这里仍然是按照老规矩,通过具体的例子来分析Android应用程序绑定Service的过程,而所使用的例子便是前面我们在介绍Android系统广播机制的一篇文章Android系统中的广播(Broadcast)机制简要介绍和学习计划中所开发的应用程序Broadcast了。 我们先简单回顾一下这个应用程序实例绑定Service的过程。在这个应用程序的MainActivity的onCreate函数中,会调用bindService来绑定一个计数器服务CounterService,这里绑定的意思其实就是在MainActivity内部获得CounterService的接口,所以,这个过程的第一步就是要把CounterService 启动起来。当CounterService的onCreate函数被调用起来了,就说明CounterService已经启动起来了,接下来系统还要调用CounterService的onBind函数,跟CounterService要一个Binder对象,这个Binder对象是在CounterService内部自定义的CounterBinder类的一个实例,它继承于Binder类,里面实现一个getService函数,用来返回外部的CounterService接口。系统得到这个Binder对象之后,就会调用MainActivity在bindService函数里面传过来的ServiceConnection实例的onServiceConnected函数,并把这个Binder对象以参数的形式传到onServiceConnected函数里面,于是,MainActivity就可以调用这个Binder对象的getService函数来获得CounterService的接口了。 这个过程比较复杂,但总体来说,思路还是比较清晰的,整个调用过程为MainActivity.bindService->CounterService.onCreate->CounterService.onBind- >MainActivity.ServiceConnection.onServiceConnection->CounterService.CounterBinder.getService。下面,我们就先用一个序列图来总体描述这个服务绑定的过程,然后就具体分析每一个步骤。

Android实现获取系统应用列表

Android实现获取系统应用列表 本文介绍在Android中如何获取系统应用程序列表。 Android系统为我们提供了很多服务管理的类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理) 等。除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程序包。通过它,我们就可以获取应用程序信息。 PackageManager的功能: ?安装,卸载应用 ?查询permission相关信息 ?查询Application相关信息(application,activity,receiver,service,provider及相应属性等)?查询已安装应用 ?增加,删除permission ?清除用户数据、缓存,代码段等 我们可以用PackageManager来显示系统安装的应用程序列表或者系统程序列表 相关类的介绍 PackageItemInfo类 说明:AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:a label、icon、meta-data。它并不直接使用,而是由子类继承然后调用相应方法。 常用字段: public int icon 获得该资源图片在R文件中的值(对应于android:icon属性) public int labelRes 获得该label在R文件中的值(对应于android:label属性) public String name 获得该节点的name值(对应于android:name属性) public String packagename 获得该应用程序的包名(对应于android:packagename属性) 常用方法: Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像 CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label

能够删除的安卓(Android)系统自带程序详细列表

能够删除的安卓(Android)系统自带程序详细列表 注:删除前请先备份 有机友因为删除了系统自带的一些程序,使得手机出现很大的问题,只有重新刷机才可以解决。这份表单,供各位在删除程序的时候做个参考。Android手机系统中默认会自带很多无用程序,这些应用,平时很少用不到,但因为是系统自带的,所以它们像牛皮癣一样内嵌在手机里,无法去除。下面列举一些能够删除和不能够删除的软件列表,希望对G友有用!怎么删除呢?当然是下载一个Root Explorer来删除(需要完全ROOT) 注意: 1. 有*号是绝不可删的,否则会出现严重问题; 2. 删除系统自带程序前,请注意备份; 3. 因不同版本的Android系统和不同品牌手机的定制,会有差异导致系统自带程序列表有差异,但大体上一致,请大家自己斟酌。 自带的软件列表: *AccountAndSyncSettings.apk 同步与帐户设定(绝不能删除) *ApplicationsProvider.apk 应用程序支持服务(绝不能删除)Bluetooth.apk 蓝牙(删除后蓝牙功能消失)Browser.apk 系统自带浏览器(可用其他手机浏览器替代) Calculator.apk 计算器(可删,可用其他替代)Calendar.apk 日历(可删) CalendarProvider.apk 日历程序支持服务(可删) *Camera.apk 自带相机(绝不能删除) *CertInstaller.apk 证书服务(绝不能删除) Contacts.apk 通讯录/联系人(用第三方通讯录的可删)*ContactsProvider.apk 通讯录/联系人数据存储服务(绝不能删除)*DefaultContainerService.apk 默认通讯录服务(绝不能删除) DeskClock.apk 自带闹钟(用第三方闹钟的可删) *DownloadProvider.apk 下载管理器(绝不能删除) *DrmProvider.apk DRM受保护数据存储服务(绝不能删除)DSPManager.apk DSP音频管理(可删) Email.apk Email(不用自带Email接受邮件的可删)FileManager.apk 简易文件管理器(可删,可用ES文件管理器替代) Gallery3D.apk 3D图片浏览器(可删) GenieWidget.apk 天气与新闻(可删) Gmail.apk Gmail(可删)GoogleBackupTransport.apk ***(未知程序,可删)GoogleCalendarSyncAdapter.apk 存储日历信息(可删)GoogleContactsSyncAdapter.apk 存储联系人信息(可删) GoogleFeedback.apk ***(据说删除后开机会提示GoogleFeedback.apk,根据自身情况决定是否删除) GooglePartnerSetup.apk Google助手(可删)

6.1 系统服务概述

6.1系统服务概述

第1节 Android服务概述第2节系统服务 第3节自定义服务 第4节多线程

?理解Android服务的作用。 ?理解Android服务的运用场合。 ?理解访问Android系统服务的方法。 ?能熟练访问各种多媒体服务 ◆定时服务:Alarm Service ◆壁纸服务:Wallpaper Service ◆媒体服务:Audio Service ?能熟练访问各种系统服务 ◆通知服务:Notification Service ◆窗口服务:Window Service ◆活动服务:Activity Service ◆电话服务:Telephony Service ◆网络服务:Connectivity Service

6.1 系统服务概述 知识点预览 # 知识点重点难点应用说明 1 Windows服务理解Windows操作系统中服务的作用。 2 Android服务√理解Android系统中服务的作用。 3 Android服务分类√√理解Android系统中服务的各种分类。 4 Android系统服务创建过程√理解Android系统服务存在的意义和地位。 5 Android系统服务应用场景√√理解Android系统服务的应用场景和作用。

1 Android 服务概述 ? 1 什么是Windows服务? ◆服务与运行在Windows操作系统中应用程序一样都是的一个进程。 ◆服务是一个特殊的进程,特点在于没有图形用户界面(GUI)。 ◆服务在操作系统的后台(Background)为用户默默提供各种业务技能和系统 状态的监控业务。

Android系统应用开发作业1

Android系统应用开发作业1 单项选择题 第1题关于主题的说法,不正确的是 A、它是属性集合 B、它可以在程序中来设置 C、它通常用于一个Activity或所有Activity上 D、它可以用于单个TextView上 答案:D 第2题下列说法不正确的是 A、javac.exe 能指定编译结果要置于哪个目录(directory)? B、在编译程序时,所能指定的环境变量不包括class path? C、javac 一次可同时编译数个java 源文件 D、环境变量可在编译source code时指定 答案:D 第3题如果希望自定义TabHost标题部分的显示内容需要使用下列哪个方法() A、tabHost.addTab(tabHost.newTabSpec("tab1") B、setIndicator() C、setContent() D、setView 答案:B 第4题对一些资源以及状态的操作保存,最好是保存在Activity生命周期的哪个函数中进行? A、onStart( ) B、onPause( ) C、onCreate( ) D、onResume( ) 答案:A 第5题继承了Canvas类必须实现的方法是() A、paint() B、keyPressed() C、run() D、main() 答案:A 第6题下列关于XML布局文件在Java代码中被引用的说明中,不正确的是? A、在Activity中,可以使用findViewById( )方法,通过资源id,获得指定视图元素 B、在Activity中,可以使用R.drawable-system.***方式引用Android系统所提供的图片资源 C、在Activity中,可以使用setContentView( )方法,确定加载哪一个布局文件

Android系统发展史及未来之路

Android系统发展史及未来之路 从2007年苹果发布第一代iPhone,引发智能手机的革命之后,移动互联网,这个全新的市场就此打开。经过短短几年时间的发展,移动互联网行业已经发生了翻天覆地的变化,拥有令人惊叹的发展速度,取得了举世瞩目的成就,甚至显现出取代传统PC互联网的趋势。 当今的智能手机市场是巨头之间的博弈 而这其中,以苹果所主导的iOS平台、谷歌所主导的Android平台以及微软所主导的WP平台最为引人关注。通过这三大巨头互联网公司之间的互相博弈与牵制,目前的移动互联网市场已基本形成三强鼎立,互相制约与抗衡的局面。 移动互联网市场三强鼎立的局面基本形成 我们网易手机也以此为话题,聊聊如今在移动互联网市场叱咤风云的三大移动操作系统平台背后的成长故事,首先我们从目前市场份额最大但也非议最多的Android平台开始。

Android标志性的绿色小机器人 五年时间疯狂的扩张让世人惊叹 虽然苹果在移动互联网市场上抢占了先机,但此后的谷歌也便凭借其敏锐的眼光以及对未来市场的洞察力,联合HTC、高通以及摩托罗拉等30家公司共同宣布开发一款开源性质的操作系统,借此挑战苹果在当时移动互联网市场的统治地位。 一年以后的2008年9月23日,首款搭载Android平台的智能手机T-Mobile G1问世。尽管当时G1上市后并未立即取得成功,创造iPhone那样辉煌的市场销售业绩。但它的出现却真正意义上向世人宣告了Android统治移动互联网市场的时代来临。 首款搭载Android系统的手机-T Mobile G1问世 Android平台之所以能够在短时间内迅速崛起,同样也因为其抓住了市场发展的良好契机。iPhone的发布重新定义了智能手机的用户体验,而当时如日中天的Symbian平台在用户体验方面则根本无法与之抗衡,并且已显现出疲软的态势,运营商与终端厂商急需寻求一个可以在未来与苹果iOS分庭抗礼的系统平台,开源的Android系统无疑是最佳的选择。 Android平台不仅能够提供与iPhone类似的用户体验,其同时还有开源且低成本的门

Android手机常见系统软件和应用软件一览表

360安全卫士 360省电王 360手机助手 Adobe Flash player11.1 Android 动态壁纸Android键盘 Android 系统Bluetooth share Certificate installer com.android.provision Com.qualcomm.privinit Cw_system_service Es文件浏览器 HTML查看器 Live wallpaper picker Pico tts Sleep up Tts service Uc 浏览器 Uim卡应用 user dictionary 天翼空间 114 114火车票 189邮箱 Wiper app 爱动漫 爱音乐 爱游戏 安智市场 百度 百度地图 百度魔图 白乐通 拨号器 拨号器存储 餐馆 打包安装程序 大众点评 翻转静音 飞信 疯狂钓鱼 高德地图 功夫木马专杀

号百彩票 号百商旅 号薄助手 号码百事通 互联网 互联星空 计算器 健身动画教程 开心网 客户服务 快速问医生 联系人存储 联想服务框架 录音机 媒体存储 平台同步服务 启动器 日历 日历存储 软件包访问帮组程序 软件更新 三国时代 设置 存储设置 时钟 收音机 Qq 受drm保护的内容的存储数码相册 甩动切换 搜狗输入法 搜狐新闻 搜索 状态栏 装配测试 账户与同步设置 掌上营业厅 掌上猫扑 有道词典 隐私权设置 音乐播放 翼聊 一键root 虚拟专用网服务

信息 相机 下载内容 下载管理器 我查查 微信 通讯录 通话记录 天翼阅读 天翼手机 天翼视讯 天翼宽带 天天动听 搜索应用程序提供商搜索

Android服务Service 详解

第8章 Android服务 ? 8.1 Service起步? 8.1.1 Service的生命周期 ? 8.1.2 绑定Activity和Service ? 8.1.3 在BroadcastReceiver中启动Ser.. ? 8.2.1 获得系统服务? 8.2.2 在模拟器上模拟重力感应 ? 8.3.1 计时器:Chronometer ? 8.3.2 预约时间Handler ? 8.3.4 在线程中更新GUI组件? 8.3.5 全局定时器AlarmManager(1) ? 8.3.5 全局定时器AlarmManager(2)? 8.3.5 全局定时器AlarmManager(3) ? 8.4.1 什么是AIDL服务? 8.4.2 建立AIDL服务的步骤(1) ? 8.4.2 建立AIDL服务的步骤(2)? 8.4.2 建立AIDL服务的步骤(3) ? 8.5 本章小结 第8章Android服务 服务(Service)是Android系统中4个应用程序组件之一(其他的组件详见3.2节的内容)。服务主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信,这也是服务的重要用途之一。 本章内容 Service的生命周期 绑定Activity和Service 在BroadcastReceiver中启动Service 系统服务 时间服务 在线程中更新GUI组件 AIDL服务 在AIDL服务中传递复杂的数据 8.1 Service起步 Service并没有实际界面,而是一直在Android系统的后台运行。一般使用Service为应用程序提供一些服务,或不需要界面的功能,例如,从Internet下载文件、控制Video播放器等。本节主要介绍Service的启动和结束过程(Service的生命周期)以及启动Service的各种方法。 8.1.1 Service的生命周期 本节的例子代码所在的工程目录是src\ch08\ch08_servicelifecycle Service与Activity一样,也有一个从启动到销毁的过程,但Service的这个过程比Activity简单得多。Service启动到销毁的过程只会经历如下3个阶段: 创建服务 开始服务 销毁服务

Android系统架构概述

Android的架构图如下,图中按照功能结构及面向人群进行划分,可以看出Android分成三个部分: 应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。 核心部分:Android系统中核心的功能实现,包括应用框架、核心类库等,每个Android 应用的开发者,都是在此基础上进行应用开发的。 底层部分:主要指Android寄宿的Linux操作系统及相关驱动。通常来说,只有硬件厂商和从事Android移植的开发者,才会基于此来进行开发。 除了上述划分方式以外,从系统实际的架构模型来看,Android则可以分成以下几个层次:

应用层 框架层 运行时 核心类库 硬件抽象层 Linux内核 本文的后续内容将针对以上各层逐一进行分析。 1.1.1应用层 对于普通的用户而言,只能通过具体的应用来判断移动平台的优劣。即便一个移动平台具有最华丽的技术,但是如果不能给用户提供最得心应手的应用,顶多也只能赢得无冕之王的名头,而无法抓住用户的心,赢得市场的认可。 Android应用层由运行在Android设备上的所有应用共同构成,它不仅包括通话、短信、联系人等系统应用(随Android系统一起预装在移动设备上),还包括其他后续安装到设备中的第三方应用。 第三方应用都是基于Android提供的SDK(Software Development Kit)进行开发的,并受到SDK接口的约束。而预装在设备中的系统应用,则可以调用整个框架层的接口和模块,其中的很多接口在SDK中是隐藏的,因此,系统应用具有比第三方应用更多的权利。 Android的应用都是基于Java语言来开发的,但在很多应用(尤其是游戏)中,需要进行大规模的运算和图形处理,以及使用开源C/C++类库。通过Java来实现,可能会有执行效率过低和移植成本过高等问题。因此在Android开发中,开发者可以使用C/C++来实现底层模块,并添加JNI(Java Native Interface)接口与上层Java实现进行交互,然后利用Android提供的交叉编译工具生成类库并添加到应用中。 为了让应用开发者能够绕过框架层,直接使用Android系统的特定类库,Android还提供了NDK(Native Development Kit),它由C/C++的一些接口构成,开发者可以通过它更高效地调用特定的系统功能。 但在Android上,开发者通常只能使用C/C++编写功能类库,而不是整个应用。这是因为,诸如界面绘制、进程调度等核心机制是部署在框架层并通过Java来实现的,应用只有按照它们规定的模式去编写特定的Java模块和配置信息,才能够被识别、加载和执行。 小贴士从Android 2.3(API 9)开始,新增了android.app.NativeActivity类,它是通过调用

Android系统完整的启动过程

Android系统完整的启动过程,从系统层次角度可分为Linux系统层、Android系统服务层、Zygote进程模型三个阶段;从开机到启动Home Launcher完成具体的任务细节可分为七个步骤,下面就从具体的细节来解读Android系统完整的初始化过程。 一、启动BootLoader Android 系统是基于Linux操作系统的,所以它最初的启动过程和Linux一样。当设备通电后首先执行BootLoader引导装载器,BootLoader是在操作系统内核运行之前运行的一段小程序。通过这段小程序初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境引导进入合适的状态,以便为最终调用操作系统内核准备好正确的运行环境。 而Linux系统启动时: 1)首先要加载BIOS的硬件信息,并获取第一个启动设备的代号 2)读取第一个启动设备的MBR的引导加载程序(lilo、grub等)的启动信息。 3)加载核心操作系统的核心信息,核心开始解压缩,并且尝试驱动所有的硬件设备。 ………… 在嵌入式系统中,通常不会有像BIOS那样的固件程序,因此整个系统的加载任务都是通过BootLoader完成的。 二、加载系统内核 Linux内核映像通常包括两部分代码,分别为实模式代码和保护模式代码。当BootLoader装载内核映像到代码段内存时,分别放置实模式代码和保护模式代码到不同的位置,然后进入实模式代码执行,实模式代码执行完成后转入保护模式代码。 实模式和保护模式的概念再次不做过多解释,读者可以自行查阅资料。 三、启动Init进程 当系统内核加载完成之后,会首先启动Init守护进程,它是内核启动的第一个用户级进程,它的进程号总是1。Init进程启动完成之后,还负责启动其他的一些重要守护进程,包括: Usbd进程(USB Daemon):USB连接后台进程,负责管理USB连接。 adbd 进程(Android Debug Bridge Daemon):ADB连接后台进程,负责管理ADB连接。 debuggerd 进程(Debugger Daemon) :调试器后台进程,负责管理调试请求及调试过程。 rild进程(Radio Interface Layer Daemon):无线接口层后台进程,负责管理无线通信服务。 四、启动Zygote进程 Init进程和一些重要的守护进程启动完成之后,系统启动Zygote 进程。Zygote 进程启动后,首先初始化一个Dalvik VM实例,然后为它加载资源与系统共享库,并开启Socket监听服务,当收到创建Dalvik VM实例请求时,会通过COW(copy on write)技术最大程度地复用自己,生成一个新的Dalvik VM实例。Dalvik VM实例的创建方法基于linux系统的fork原理。

Android 4.0.3系统软件精简列表

Android 4.0自带软件精简列表!! 相信很多机友都需要吧,删除一些没用的软件,节省出一定的内存空间,可以使系统更加流畅。 AccountAndSyncSettings.apk 搜索应用提供商(不建议删,如果不用同步则可删. 不用谷歌的同步功能就可以删除 BackupRestoreConfirmation.apk (不能删) Bluetooth.apk 蓝牙 (不能删,你懂的) BooksTablet.apk 谷歌读书软件(可删,没用的看书软件,可用GGbook或者其他代替,没啥用,我删了) Browser Google.apk 自带浏览器(可删,没啥用,我删了,反正我用UC浏览器) Calculator.apk 计算器(可删,鸡肋的计算器,可用其他多功能计算器代替,没啥用,我删了) CalendarGoogle.apk 日历(可删,鸡肋的日历,我删了,加个中华万年历)CalendarProvider.apk 日历储存(可删,上面删了这个也要删) CameraGoogle.apk 相机(不能删,系统自带的好过其他软件,我已经对比过很多照相软件都没自带的好.原生的强大啊!)QQ178505928 CarHomeGoogle.apk 车载模式(可删,没啥用,我删了) CertInstaller.apk 证书(不能删) ChromeBookmarksSyncAdapter.apk 书签同步(可删,没啥用,我删了) ContactsProvider.apk 联系人储存(不建议删,如果用QQ通讯录可直接删掉) Contacts.apk 通讯录(不建议删,自带通讯录) DefaultContainerService.apk 软件包访问(不能删,删了不能安装软件了) DeskClockGoogle.apk 时钟(可删,可用整点闹钟代替,没啥用,我删了) DownloadProviderUi.apk.下载提供UI(可删,没啥用,我删了) DownloadProvider.apk..下载提供(可删,那个下载内容,没啥用,我删了)DrmProvider.apk......DRM 受保护数据存储服务(不能删) EmailGoogle.apk 电子邮件(可删,没用手机看邮件的可删,可用其他代替) ExchangeGoogle.apk 电子邮件服务(可删,上面删了,这也删) GalleryGoogle.apk 图库(不建议删,自带的也挺好.) GenieWidget.apk新闻与天气(可删,没用的东西)

【Android自带系统程序对照表】

*Accountprovider 账号管理器 ApkManager.apk APK安装器(即N多安装器) advancedsettings.apk 高级设置 AlarmClock 闹钟 AndroidSyncService 系统同步服务 AndroidUI 索尼爱立信X10UI界面程序 appinstaller.apk app安装器 *ApplicationsProvider 程序管理器 AutoSettingDispatcher 自动设置修补 bootinfo 启动信息 Bluetooth.apk 蓝牙(删了就没有蓝牙了) Browser 自带浏览器 Bugreport.apk Bug报告 btoppservice 蓝牙设置服务 Calculator 系统自带计算器 Calendar 系统自带日历程序 CalendarProvider 系统自带日历管理器 *Camera 系统自带相机 CapabilitySetupReceiver 接收器安装能力 *CertInstaller.apk 证书服务 CdfInfoAccessor CDF信息访问器 *Contacts 联系人储存 CredMgrService CredMgr服务 *DefaultContainerService.apk 默认通讯录服务 DeskClock.apk 自带闹钟(用第三方闹钟的可删) DigitalClock 数字时钟 *DownloadProvider 下载管理器 *DrmProvider DRM信息管理器 SPManager.apk DSP音频管理(不太会使用这个的,可以删了 EMAIL 伊妹儿。。。 Emeual (干什么用的我毫不知情) Enhanced Google searchProvider 增强谷歌搜索管理器 Facebook 脸谱~ FaceRecognition 脸部识别程序(MS里面看照片的时候可以关联联系人) filemanager.apk 文件管理 FileCopier 文件复制器 Fota FOTA解决方案 Generic-app-Installer 全球版的APK安装器 GlobalSearch 全球搜索 Gmail 谷歌MAIL GmailProvider GMAIL管理器 Gallery3D.apk 3D浏览器(嫌弃它速度慢的,可删) GenieWidget.apk 天气与新闻(我自己不用他看新闻,删了) GoogleApps 谷歌程序 googlebackuptransport.apk googlecheckin.apk googlecheckinhelper.apk GoogleFeedback.apk ***(据说删除后开机会提示googlefeedback.apk,不过我删了没什么副作用)googlepartnersrtup.apk Google助手(删了没感觉有特殊)GoogleCalendarSyncAdapter.apk 存储日历信息(删了没感觉有特殊)

Android四大组件——Service后台服务、前台服务、IntentService、跨进程服务、无障碍服务、系统服务

Android四大组件——Service后台服务、前台服务、IntentService、跨进程服务、无障碍服务、系统服务 Service简介 Service是Android中实现程序后台运行的解决方案,它非常适用于去执行那些不需要和用户交互而且还要求长期运行的任务。Service默认并不会运行在子线程中,它也不运行在一个独立的进程中,它同样执行在UI线程中,因此,不要在Service中执行耗时的操作,除非你在Service中创建了子线程来完成耗时操作 Service的运行不依赖于任何用户界面,即使程序被切换到后台或者用户打开另一个应用程序,Service仍然能够保持正常运行,这也正是Service的使用场景。当某个应用程序进程被杀掉时,所有依赖于该进程的Service也会停止运行 后台服务 后台服务可交互性主要是体现在不同的启动服务方式,startService()和bindService()。bindService()可以返回一个代理对象,可调用Service中的方法和获取返回结果等操作,而startService()不行 不可交互的后台服务 不可交互的后台服务即是普通的Service,Service的生命周期很简单,分别为onCreate、onStartCommand、onDestroy这三个。当我们startService()的时候,首次创建Service会回调onCreate()方法,然后回调onStartCommand()方法,再次startService()的时候,就只会执行一次onStartCommand()。服务一旦开启后,我们就需要通过stopService()方法或者stopSelf()方法,就能把服务关闭,这时就会回调onDestroy() 一、创建服务类 创建一个服务非常简单,只要继承Service,并实现onBind()方法 public class BackGroupService extends Service { /** * 綁定服务时调用 * * @param intent * @return */ @Nullable

相关文档
相关文档 最新文档