• 浙产纸尿裤能叫板国际大牌吗 2019-03-19
  • 关闭

    关闭

    关闭

    封号提示

    内容

    北京pk10是国家彩票吗 智能终端-Android应用编程

    北京赛车走势前五:智能终端-Android应用编程.ppt

    智能终端-Android应用编程

    教育文库
    2019-01-07 0人阅读 0 0 0 暂无简介 举报

    北京pk10是国家彩票吗 www.qdpo.net 简介:本文档为《智能终端-Android应用编程ppt》,可适用于高等教育领域

    浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab智能终端软件开发浙江大学计算机学院软件学院浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab、应用程序智能终端开发浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabHelloworld!第一个运行程序浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabHelloAndroidEclipse自动生成newandroidprojectHelloAndroid浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabHelloAndroidjavaJava程序packagecomandroidhelloAndroidimportandroidappActivityimportandroidosBundlepublicclassHelloAndroidextendsActivity{**Calledwhentheactivityisfirstcreated*OverridepublicvoidonCreate(BundlesavedInstanceState){superonCreate(savedInstanceState)setContentView(Rlayoutmain)}}浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabRjavaJava程序*AUTOGENERATEDFILEDONOTMODIFY*packagecomandroidhelloAndroidpublicfinalclassR{publicstaticfinalclassattr{}publicstaticfinalclassdrawable{publicstaticfinalinticon=xf}publicstaticfinalclasslayout{publicstaticfinalintmain=xf}publicstaticfinalclassstring{publicstaticfinalintappname=xfpublicstaticfinalinthello=xf}}浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabmainxmlXml文件<xmlversion=""encoding=""><LinearLayoutxmlns:android="http:schemasandroidcomapkresandroid"android:orientation="vertical"android:layoutwidth="fillparent"android:layoutheight="fillparent"><TextViewandroid:layoutwidth="fillparent"android:layoutheight="wrapcontent"android:text="stringhello"><LinearLayout>Resources浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabstringsxmlXml文件<xmlversion=""encoding=""><resources><stringname="hello">HelloAndroid,<string><stringname="appname">HelloAndroid<string><resources>将要显示内容:HelloAndroid,浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabRUNRUN浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab模拟运行显示内容:HelloAndroid,浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab命令行运行启动模拟器emulatoravdandroidskinHVGAp连接模拟器:telnetlocalhost拨打电话:gsmcall发送短信:smssendHelloAndroid浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab显示图像增加ImageView浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroid虚拟机DalvikDalvik和标准Java虚拟机(JVM)的差别Dalvik更适合手机所用的嵌入式环境占用内存少。JVM通用Java虚拟机。Dalvik虚拟机特点Dalvik允许在有限的内存中同时运行多个虚拟机实例。每一个Dalvik应用作为一个独立的Linux进程执行。独立进程可防止在虚拟机崩溃的时候所有程序都被关闭。Dalvik提供了一个拥有较Java少限制许可证的平台。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab重要包的描述Androidapp:提供高层的程序模型、提供基本的运行环境Androidcontent:包含各种的对设备上的数据进行访问和发布的类Androiddatabase:通过内容提供者浏览和操作数据库Androidgraphics:底层的图形库可以将它们直接绘制到屏幕上Androidlocation:定位和相关服务的类Androidmedia:提供一些类管理多种音频、视频的媒体接口Androidnet:提供帮助网络访问的类超过通常的javanet*接口Androidos:提供了系统服务、消息传输、IPC机制Androidopengl:提供OpenGL的工具Androidprovider:提供类访问Android的内容提供者Androidtelephony:提供与拨打电话相关的API交互Androidview:提供基础的用户界面接口框架Androidutil:涉及工具性的方法例如时间日期的操作Androidwebkit:默认浏览器操作接口Androidwidget:各种UI元素(大部分可见)在应用程序的屏幕中使用浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroid的相关文件类型Java文件应用程序源文件android本身相当一部分都是用java编写而成android的应用使用java来开发。Class文件Java编译后的目标文件Google使用Dalvik来运行应用程序Android的class文件是编译过程中的中间目标文件需要链接成dex文件才能在Dalvik上运行。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabDex文件Dex文件Android平台上的可执行文件Android虚拟机Dalvik支持的字节码文件格式。这种虚拟机执行的并非Java字节码而是另一种字节码:dex格式的字节码。在编译Java代码之后通过Android平台上的工具可以将Java字节码转换成Dex字节码。DalvikVM针对手机程式CPU做过最佳化可以同时执行许多VM而不会占用太多Resource。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabApk文件Apk文件Android上的安装文件Apk是Android安装包的扩展名一个Android安装包包含了与该Android应用程序相关的所有文件。apk文件将AndroidManifestxml文件、应用程序代码(dex文件)、资源文件和其他文件打成一个压缩包。一个工程只能打进一个apk文件。apk文件的本质是一个zip包。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabandroid的AndroidManifestxml文件AndroidManifestxml是每一个应用都需要的文件位于应用根目录下它描述了程序包的全局变量,包括暴露的应用组件(activities,services等等)和为每个组件的实现类什么样的数据可以操作以及在什么地方运行。主要包括以下各个元素。A包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。B认证(certificate):指定本应用程序所授予的信任级别目前有的认证级别有platform(system)、shared、media以及应用自定义的认证。不同的认证可以享受不同的权限。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabandroid的AndroidManifestxml文件C权限组(permissiongroup):权限组的定义是为了描述一组具有共同特性的权限。D权限(permission):权限用来描述是否拥有做某件事的权力。Android系统中权限是分级的前分为普通级别(Normal)危险级别(dangerous)签名级别(signature)和系统签名级别(signatureorsystem)。系统中所有预定义的权限根据作用的不同分别属于不同的级别。对于普通和危险级别的权限我们称之为低级权限应用申请即授予。其他两级权限我们称之为高级权限或系统权限应用拥有platform级别的认证才能申请。当应用试图在没有权限的情况下做受限操作应用将被系统杀掉以警示。E权限树(permissiontree)权限树的设置是为了统一管理一组权限声明于该树下的权限所有者归属该应用。系统提供了API应用可以在运行时动态添加。PackageManageraddPermission()F使用权限(usespermission):应用需要的权限应当在此处申请所申请的权限应当被系统或某个应用所定义否则视为无效申请。同时使用权限的申请需要遵循权限授予条件非platform认证的应用无法申请高级权限。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabandroid的AndroidManifestxml文件G:SDK(usessdk):标识本应用运行的SDK版本。高兼容性的应用可以忽略此项。Happlication:application是Android应用内最高级别(toplevel)的??槊扛鲇τ媚谧疃嘀荒苡幸桓鯽pplication如果应用没有指定该??橐桓瞿系腶pplication将被启用。application将在应用启动时最先被加载并存活在应用的整个运行时生命周期。因此一些初始化的工作适合在本??橥瓿葾pplication元素有许多属性其中:“persistent”表示本应用是否为常驻内存“enable”表示本应用当前是否应当被加载。<applicationandroid:icon="drawableicon"android:label="stringappname"><activityandroid:name="HelloOPhone"android:label="stringappname"><intentfilter><actionandroid:name="androidintentactionMAIN"><categoryandroid:name="androidintentcategoryLAUNCHER"><intentfilter><activity><application>浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabandroid的AndroidManifestxml文件在AndroidManifestxml文件中运行时??榈亩ㄒ宥甲魑灸?榈淖釉?。当运行时??楸坏鞫仁比绻τ妹挥衅舳紫绕舳τ媒谐跏蓟缓蟮鞫榷杂δ??。Iactivity:activity是application??榈脑诵惺弊釉乇晔读艘桓鯱I。除了application一个应用可以声明并实现零至多个其它运行时??閍ctivity也同样。activity也包含了许多定义它工作状态的属性其中:“name”是必须的它指定了该activity所在的文件名如果该文件所属包不同于该应用的包名(即本描述文件的最开始处)那么名字前面需要加入所在包名。activity通过增加intentfliter来标识哪些intent可以被处理同时intent也是调度activity的主要参数。Jreceiver:receiver也是application的运行时子元素。receiver通过增加intentfliter来标识它需要接受哪些intent。当收到intent后receiver将根据不同的intent进行不同的处理。当一个Intent发出后所有注册了该intent的receiver都将会收到系统会根据receiver在系统中的注册次序顺序发送。当一个receiver处理完该Intent后系统才会向下一个receiver发送。当一个receiver有多个未接收的intent时将按照intent发送的次序顺序接收。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabandroid的AndroidManifestxml文件例intentfilter如下:Kservice:service也是application的运行时子元素。Service属于后台??槠舳蠼な奔湓诵谐峭V垢胹ervice或所在应用进程被杀死。Lprovider:provider也是application的运行时子元素。它继承于ContentProvider是对该应用管理的用户数据的结构化接入是基于数据库操作方式的封装。如果应用允许外部应用访问/管理它的用户数据provider是Android平台提供的最佳方式。Mactivityalias:顾名思义是已有activity的别名。N:useslibrary:标识应用启动所必须的共享库。<actionandroid:name="androidintentactionMAIN"><categoryandroid:name="androidintentcategoryLAUNCHER">浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroidManifestxml的结构大纲<manifest>文件根节点,描述了程序包的所有内容<usespermission>请求一个安全授权,必须被授予该权限,您的程序包才能正确的操作~N<permission>声明一个安全授权,用来限制哪些应用可以访问您的程序包内的组件和特有机制~N<instrumentation><application>描述程序包内应用级别组件的根节点该节点能够描述应用程序的全局(和或)默认属性,例如标签,图标,主题,需要的授权,等等包含零个或一个这样的节点<activity>Activity是应用于用户交互的最主要机制当一个应用运行的时候,用户看到的第一个屏幕就是activity,并且,用户所使用的其他绝大多数屏幕(界面)也会是<intentfilter><action><category><type><scheme><authority><path><receiver>一个IntentReceiver可以让应用接收到一次数据变化和一次行为发生的通知,甚至这个应用没有在运行也可以同activity标签一样,你可以选择包含一个或多个<intentfilter>元素<service>Service是一个在后台任意时刻都可以运行的组件同activity标签一样,你可以选择包含一个或多个<intentfilter>元素<provider>ContentProvider组件是用来管理数据持久化及数据发布的,发布的数据可以被其他的应用访问浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroidAndroidManifestxml文件详细解释AndroidManifestxml是每一个应用都需要的文件位于应用根目录下,描述了程序包的一个全局变量,包括暴露的应用组件(activities,services等等)和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行这个文件的一个重要方面(概念)是其中的intent过滤器这个过滤器描述了何时何种情况下让activity启动当一个activity(或是操作系统)想要执行一个动作,例如打开一个Web页或是打开一个联系人选取屏幕,会创建一个Intent对象该对象包含了很多的描述信息,描述了你想做什么操作,你想处理什么数据,数据的类型,以及一些其他的重要信息Android拿这个Intent的信息与所有应用暴露的intent过滤器比较,找到一个最能恰当处理请求者要求的数据和action的activityintents的更多信息在Intent页另外还要声明您的应用的Activities,ContentProviders,Services,和IntentReceivers,你也可以在AndroidManifestxml文件中指定权限和instrumentation(安全控制和测试)xmlns:android属性是XML名空间声明语句用来告诉Android工具将使用Android名空间中定义的公共属性。每个Android布局文件的最外层的标签必须有该属性。在manifest中定义多个activity时系统在启动这个application时该如何判断哪个activity是入口activity。经过测试发现在manifest中定义的activity中如果该activity的action是MAIN属性并且category是LAUNCHER属性那么该activity就是入口程序。如果manifest中有多个这样情况的activity存在那么系统会将第一个查找到的复合条件的activity作为入口程序。manifest中至少应该有一个复合该条件的activity存在。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab一个AndroidManifestxml文件的例子<xmlversion=""encoding=""><manifestxmlns:android="http:schemasandroidcomapkresandroid"package="commydomainapphelloactivity"><applicationandroid:label="stringappname"><activityclass="HelloActivity"><intentfilter><actionandroid:value="androidintentactionMAIN"><categoryandroid:value="androidintentcategoryLAUNCHER"><intentfilter><activity><application><manifest>浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAdroid应用浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabActivity活动最基本的Android应用程序组件应用程序中一个活动通常就是一个单独的屏幕。每一个活动都被实现为一个独立的类并且从活动基类中继承而来活动类将会显示由视图控件组成的用户接口并对事件做出响应。大多数的应用是由多个屏幕显示组成。例如:一个文本信息的应用也许有一个显示发送消息的联系人列表屏幕第二个屏幕用来写文本消息和选择收件人再来一个屏幕查看消息历史或者消息设置操作等。这里每一个这样的屏幕就是一个活动很容易实现从一个屏幕到一个新的屏幕并且完成新的活动。在某些情况下当前的屏幕也许需要向上一个屏幕活动提供返回值比如让用户从手机中挑选一张照片返回通讯录做为电话拨入者的头像。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabActivity活动当一个新的屏幕打开后前一个屏幕将会暂停并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时还可以从历史堆栈中删除。默认情况下Android将会保留从主屏幕到每一个应用的运行屏幕。简单理解Activity代表一个用户所能看到的屏幕Activity主要是处理一个应用的整体性工作例如监听系统事件(按键事件、触摸屏事件等)、为用户显示指定的View启动其他Activity等。所有应用的Activity都继承于androidappActivity类该类是Android提供的基层类其他的Activity继承该父类后通过Override父类的方法来实现各种功能这种设计在其他领域也较为常见。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabActivity生命周期浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroid模拟器AndroidEmulator:可模拟电话本、通话等功能内置的浏览器和GoogleMaps都可以联网可以使用键盘输入可单击模拟器按键输入可以使用鼠标单击、拖动屏幕进行操作。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabAndroid模拟器模拟器和真机的不同之处不支持呼叫和接听实际来电但可以通过控制台模拟电话呼叫(呼入和呼出)。不支持USB连接。不支持相机视频捕捉。不支持音频输入(捕捉)但支持输出(重放)。不支持扩展耳机。不能确定连接状态。不能确定电池电量水平和交流充电状态。不能确定SD卡的插入弹出。不支持蓝牙。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlab模拟器使用注意事项遇到系统关于C盘空间不足之类的提示是由于Android模拟器每次运行时会临时生成几个tmp后缀的临时文件一段时间后其可能占用几G的磁盘空间。需要手工定期清理。浙江大学计算机学院浙江大学软硬件协同设计实验室http:multicorezjueducnfatlabThankyou!浙江大学计算机学院

    用户评价(0)

    关闭

    新课改视野下建构高中语文教学实验成果报告(32KB)

    抱歉,积分不足下载失败,请稍后再试!

    提示

    试读已结束,如需要继续阅读或者下载,敬请购买!

    评分:

    /33

    ¥20.0

    立即购买

    意见
    反馈

    立即扫码关注

    爱问共享资料微信公众号

    北京pk10是国家彩票吗

    举报
    资料

  • 浙产纸尿裤能叫板国际大牌吗 2019-03-19