Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
编辑Java源代码可以使用任何无格式的文本编辑器,在Windows操作系统上可以使用记事本(Notepad)、EditPlus等程序,在Linux平台上可使用VI工具等。
2.5    Intent
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在SDK中给出了Intent作用的表现形式为:
1.    通过Context.startActivity() orActivity.startActivityForResult() 启动一个Activity;
2.    通过 Context.startService() 启动一个服务,或者通过Context.bindService() 和后台服务交互;
3.    通过广播方法(比如 Context.sendBroadcast(),Context.sendOrderedBroadcast(),  Context.sendStickyBroadcast()) 发给broadcast receivers。
Intent属性的设置,包括以下几点:(以下为XML中定义,当然也可以通过Intent类的方法来获取和设置)
(1)Action,也就是要执行的动作
SDk中定义了一些标准的动作。当然,也可以自定义动作(自定义的动作在使用时,需要加上包名作为前缀,如"com.example.project.SHOW_COLOR”),并可定义相应的Activity来处理我们的自定义动作。
(2)Data,也就是执行动作要操作的数据
Android中采用指向数据的一个URI来表示,如在联系人应用中,一个指向某联系人的URI可能为:content://contacts/1。对于不同的动作,其URI数据的类型是不同的(可以设置type属性指定特定类型数据),如ACTION_EDIT指定Data为文件URI,打电话为tel:URI,访问网络为http:URI,而由content provider提供的数据则为content: URIs。
(3)type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。
(4)category(类别)被执行动作的附加信息。例如LAUNCHER_CATEGORY 表示Intent 的接受者应该在Launche中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。
(5)component(组件),指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。
(6)extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。
Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者;另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,有利于降低发送者和接收者之间的耦合。
上一篇:超市库存系统的国内外研究现状和发展趋势
下一篇:JSP+mysql药品销售及管理系统设计与实现+用例图

考证平台静态网页设计与制作

搭建Linux桌面环境的影音平台【1261字】

抖音短视频平台视频推荐模式研究【2528字】

J2ME平台的SOAP协议研究与應用【2420字】

构建下一代网络的开放业...

Linux嵌入式系统开发平台选型探讨【2295字】

Android课程同步练习系统的设计

医院财务风险因素分析及管理措施【2367字】

C#学校科研管理系统的设计

10万元能开儿童乐园吗,我...

神经外科重症监护病房患...

国内外图像分割技术研究现状

公寓空调设计任务书

AT89C52单片机的超声波测距...

中国学术生态细节考察《...

承德市事业单位档案管理...

志愿者活动的调查问卷表