安卓系统中intent的定义和用途 为什么要实现序列化接口?
为什么要实现序列化接口?
首先你要明确parcelable接口是干什么用的!
为什么安卓上提供这个界面!只有知道这个道理,你才能知道它是否合适!
这个界面在Android中的常用是在aidl中!目的是夸进程传输数据!再进一步,就是内存共享!比如在intent中传递自定义对象的时候,也有实现这个接口的方法!当然,intent也提供了一种交付可序列化接口的方法!这是一个java序列化接口!和parcelable比,性能还不如parcelable!而且可序列化接口更适合持久化序列化保存在本地!所以持久存储推荐使用serializable,objectinputstream和objectOutputSTr
initent组件有哪些属性?
答:意图组件主要有以下四个重要属性:
Action属性的值是一个字符串,表示系统中已经定义的一系列常用动作。通过setAction()方法或在清单文件AndroidManif://.。
Category属性用于指定执行当前操作的环境。通过addCategory()方法或在清单文件AndroidManifest.xml中设置。默认值为CAT
安卓关键组件或特点有哪些?
对于一个Android应用程序,它由四个关键的构件组成:活动、意图接收者、服务和内容提供者。
但是,并不是每个Android应用都需要这四个构建模块,这不是必须的。有时,我们只需要将这四个构件中的几个组合到我们的应用程序中。
当我们知道我们的应用需要哪些构建模块时,我们需要在AndroidManifest.xml中注册这些构建模块的列表,这是一个xml配置文件,用来定义我们的应用的组件、功能和必要条件。每个Android应用程序都需要这个配置文件。为了机器人生活在st.xml的模式中,我们将解释四种构造块:
1、活动
活动是安卓最基本的积木。在应用程序中,一个活动通常是一个单独的屏幕。每个活动都作为一个独立的类实现,并从基类Activity继承。这个活动类将显示一个由几个视图控件组成的用户界面,并响应事件。大多数应用程序将包含多个屏幕。例如,短消息应用程序将具有用于显示联系人列表的屏幕、用于编写短消息的第二屏幕以及用于浏览旧短消息和设置系统的屏幕。每个这样的屏幕都是一个活动。从一个屏幕导航到另一个屏幕非常简单。在某些应用程序中,一个屏幕甚至会返回一个值给前一个屏幕。
当新屏幕打开时,前一个屏幕将暂停并保存在历史堆栈中。用户可以返回到历史堆栈中的上一个屏幕。当不再使用该屏幕时,也可以将其从历史堆栈中删除。默认情况下,Android会将运行屏幕从主屏幕保留到每个应用程序。
Android使用特殊的类意图在屏幕之间移动。Intent类用于描述应用程序将做什么。在意图的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:main(活动的门户)、VIEW、PICK、EDIT等。对应于该动作的数据以URI的形式表示。例如,查看一个人 的联系信息,您需要创建一个具有活动类型视图的意向和一个代表此人的URI。
与之相关的一个类叫做IntentFilter。与意图是做某事的有效请求相比,意图过滤器用于描述活动(或意图接收者)可以操作哪些意图。如果一个活动想展示一个人 联系信息,它需要声明一个IntentFilter,需要知道如何处理视图动作和代表一个人的URI。IntentFilter需要在AndroidManifest.xml中定义
通过解析各种意图,从一个屏幕导航到另一个屏幕非常简单。向前导航时,活动将调用startActivity(Intent myIntent)方法。然后,系统将在所有安装的应用程序中定义IntentFilter。找到与我的意图最匹配的意图对应的活动。在收到来自myIntent的通知后,新的活动开始运行。当调用startActivity方法时,它将触发解析myIntent的操作。这种机制提供了两个主要好处:
◆活动可以重用从其他组件以意图形式生成的请求;
◆活动可以随时被具有相同IntentFilter的新活动替换。
2、意向接受者
当您希望您的应用程序响应外部事件时(例如当有打进来时,当数据网络可用时,或者在晚上),您可以使用意向接收器。尽管意向接收方将使用NotificationManager在感兴趣的事件发生时通知用户,但它不能生成UI。Intent Receiver在AndroidManifest.xml中注册,但也可以用()在代码中注册。当触发了意图接收器时,您的应用程序不需要为请求调用意图接收器,系统将在必要时启动您的应用程序。各种应用程序也可以通过使用()向其他应用程序广播它们自己的意图接收器。
3、服务
服务是一个生命周期很长的程序,没有用户界面。一个很好的例子是媒体播放器播放播放列表中的歌曲。在媒体播放器的应用程序中,应该有多个活动,以便用户可以选择歌曲并播放它们。而音乐播放的功能却没有相应的活动,因为用户在导航到其他屏幕时肯定会认为音乐应该还在播放。在这个例子中,媒体播放器的活动将使用()来启动一个服务,这样音乐就可以在后台继续播放。同时,系统将保持该服务运行,直到该服务结束。此外,我们可以使用()方法连接到一个服务(如果服务没有运行,它将被启动)。连接到一个服务后,我们还可以通过服务提供的接口与它进行通信。以媒体播放器为例,我们也可以暂停和重放。
4、内容提供商
应用程序可以将其数据保存到文件、SQL数据库甚至任何有效的设备中。中等。当您希望与其他应用程序共享您的应用程序数据时,Content Provider将非常有用。内容提供者类实现一组标准方法,以便其他应用程序可以保存或读取由该内容提供者处理的各种数据类型。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。