您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 智能终端-Android应用编程
浙江大学软硬件协同设计实验室智能终端软件开发浙江大学计算机学院/软件学院2010.06.浙江大学软硬件协同设计实验室、应用程序智能终端开发浙江大学软硬件协同设计实验室!第一个运行程序浙江大学软硬件协同设计实验室浙江大学计算机学院4HelloAndroidEclipse自动生成newandroidprojectHelloAndroid浙江大学软硬件协同设计实验室浙江大学计算机学院5HelloAndroid.javaJava程序packagecom.android.helloAndroid;importandroid.app.Activity;importandroid.os.Bundle;publicclassHelloAndroidextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}浙江大学软硬件协同设计实验室浙江大学计算机学院6R.javaJava程序/*AUTO-GENERATEDFILE.DONOTMODIFY.*/packagecom.android.helloAndroid;publicfinalclassR{publicstaticfinalclassattr{}publicstaticfinalclassdrawable{publicstaticfinalinticon=0x7f020000;}publicstaticfinalclasslayout{publicstaticfinalintmain=0x7f030000;}publicstaticfinalclassstring{publicstaticfinalintapp_name=0x7f040001;publicstaticfinalinthello=0x7f040000;}}浙江大学软硬件协同设计实验室浙江大学计算机学院7main.xmlXml文件?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:orientation=verticalandroid:layout_width=fill_parentandroid:layout_height=fill_parentTextViewandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:text=@string/hello//LinearLayoutResources浙江大学软硬件协同设计实验室浙江大学计算机学院8strings.xmlXml文件?xmlversion=1.0encoding=utf-8?resourcesstringname=helloHelloAndroid,2010./stringstringname=app_nameHelloAndroid/string/resources将要显示内容:HelloAndroid,2010.浙江大学软硬件协同设计实验室浙江大学计算机学院9RUNRUN浙江大学软硬件协同设计实验室浙江大学计算机学院10模拟运行显示内容:HelloAndroid,2010.浙江大学软硬件协同设计实验室浙江大学计算机学院11命令行运行启动模拟器emulator-avdandroid1.6-skinHVGA-p连接模拟器:telnetlocalhost5554拨打电话:gsmcall13810000086发送短信:smssend13810000086HelloAndroid浙江大学软硬件协同设计实验室浙江大学计算机学院12显示图像增加ImageView浙江大学软硬件协同设计实验室浙江大学计算机学院13Android虚拟机DalvikDalvik和标准Java虚拟机(JVM)的差别Dalvik更适合手机所用的嵌入式环境,占用内存少。JVM通用Java虚拟机。Dalvik虚拟机特点Dalvik允许在有限的内存中同时运行多个虚拟机实例。每一个Dalvik应用作为一个独立的Linux进程执行。独立进程可防止在虚拟机崩溃的时候所有程序都被关闭。Dalvik提供了一个拥有较Java少限制许可证的平台。浙江大学软硬件协同设计实验室浙江大学计算机学院14重要包的描述Android.app:提供高层的程序模型、提供基本的运行环境Android.content:包含各种的对设备上的数据进行访问和发布的类Android.database:通过内容提供者浏览和操作数据库Android.graphics:底层的图形库,可以将它们直接绘制到屏幕上.Android.location:定位和相关服务的类Android.media:提供一些类管理多种音频、视频的媒体接口Android.net:提供帮助网络访问的类,超过通常的java.net.*接口Android.os:提供了系统服务、消息传输、IPC机制Android.opengl:提供OpenGL的工具Android.provider:提供类访问Android的内容提供者Android.telephony:提供与拨打电话相关的API交互Android.view:提供基础的用户界面接口框架Android.util:涉及工具性的方法,例如时间日期的操作Android.webkit:默认浏览器操作接口Android.widget:各种UI元素(大部分可见)在应用程序的屏幕中使用浙江大学软硬件协同设计实验室浙江大学计算机学院15Android的相关文件类型Java文件----应用程序源文件android本身相当一部分都是用java编写而成android的应用使用java来开发。Class文件----Java编译后的目标文件Google使用Dalvik来运行应用程序Android的class文件是编译过程中的中间目标文件,需要链接成dex文件才能在Dalvik上运行。浙江大学软硬件协同设计实验室浙江大学计算机学院16Dex文件Dex文件----Android平台上的可执行文件Android虚拟机Dalvik支持的字节码文件格式。这种虚拟机执行的并非Java字节码,而是另一种字节码:dex格式的字节码。在编译Java代码之后,通过Android平台上的工具可以将Java字节码转换成Dex字节码。DalvikVM针对手机程式/CPU做过最佳化,可以同时执行许多VM而不会占用太多Resource。浙江大学软硬件协同设计实验室浙江大学计算机学院17Apk文件Apk文件----Android上的安装文件Apk是Android安装包的扩展名,一个Android安装包包含了与该Android应用程序相关的所有文件。apk文件将AndroidManifest.xml文件、应用程序代码(.dex文件)、资源文件和其他文件打成一个压缩包。一个工程只能打进一个.apk文件。apk文件的本质是一个zip包。浙江大学软硬件协同设计实验室浙江大学计算机学院18android的AndroidManifest.xml文件AndroidManifest.xml是每一个应用都需要的文件,位于应用根目录下,它描述了程序包的全局变量,包括暴露的应用组件(activities,services等等)和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行。主要包括以下各个元素。A.包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时,编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。B.认证(certificate):指定本应用程序所授予的信任级别,目前有的认证级别有platform(system)、shared、media以及应用自定义的认证。不同的认证可以享受不同的权限。浙江大学软硬件协同设计实验室浙江大学计算机学院19android的AndroidManifest.xml文件C.权限组(permission-group):权限组的定义是为了描述一组具有共同特性的权限。D.权限(permission):权限用来描述是否拥有做某件事的权力。Android系统中权限是分级的,前分为普通级别(Normal),危险级别(dangerous),签名级别(signature)和系统/签名级别(signatureorsystem)。系统中所有预定义的权限根据作用的不同,分别属于不同的级别。对于普通和危险级别的权限,我们称之为低级权限,应用申请即授予。其他两级权限,我们称之为高级权限或系统权限,应用拥有platform级别的认证才能申请。当应用试图在没有权限的情况下做受限操作,应用将被系统杀掉以警示。E.权限树(permission-tree)权限树的设置是为了统一管理一组权限,声明于该树下的权限所有者归属该应用。系统提供了API,应用可以在运行时动态添加。PackageManager.addPermission()F.使用权限(uses-permission):应用需要的权限应当在此处申请,所申请的权限应当被系统或某个应用所定义,否则视为无效申请。同时使用权限的申请需要遵循权限授予条件,非platform认证的应用无法申请高级权限。浙江大学软硬件协同设计实验室浙江大学计算机学院20android的AndroidManifest.xml文件G:SDK(uses-sdk):标识本应用运行的SDK版本。高兼
本文标题:智能终端-Android应用编程
链接地址:https://www.777doc.com/doc-3995690 .html