收藏 分享(赏)

物联网系列专业课程:Android移动应用开发.pptx

上传人:Facebook 文档编号:3817986 上传时间:2018-11-19 格式:PPTX 页数:30 大小:1.05MB
下载 相关 举报
物联网系列专业课程:Android移动应用开发.pptx_第1页
第1页 / 共30页
物联网系列专业课程:Android移动应用开发.pptx_第2页
第2页 / 共30页
物联网系列专业课程:Android移动应用开发.pptx_第3页
第3页 / 共30页
物联网系列专业课程:Android移动应用开发.pptx_第4页
第4页 / 共30页
物联网系列专业课程:Android移动应用开发.pptx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、Android移动应用开发,中智讯(武汉)科技有限公司,Android移动操作系统 Android应用框架和组件 创建Android应用工程 Android应用工程解析,初识Android,Android是Google公司在2007年11月宣布的基于Linux平台的开源手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。 Android 采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分: 底层以Linux内核工作为基础,由C语言开发,只提供基本功能; 中间层包括函数库Library和虚拟机Virtua

2、l Machine,由C+开发; 最上层是各种应用软件,包括通话程序,短信程序等,应用软件由各公司自行开发,以Java作为编写程序的一部分。,简单的理解: Android是基于Java并运行在Linux内核上的轻量级的操作系统,它是轻量级,但功能很全面。并内置了很多软件,如打电话,发短信等。,Android系统版本历史,2008.09.23第一个版本Android1.0,2009.04.30 Cupcake Android 1.5,2009.09.15 Donut Android 1.6,2009.10.26 clair Android 2.0,2010.05.20 Froyo Android

3、 2.2,2010.12.06 Gingerbread Android 2.3,2011.02.22 Honeycomb Android 3.0,2011.10.19 Ice Cream Sandwich Android 4.0,2012.6.28 Jelly Bean Android 4.1,2014.10.15 Lollipop Android 5.0/5.1,2013.9.3 KitKat Android 4.4,2015.5.28 Marshmallow Android 6.0,2016.8.22 Nougat Android 7.0,2017.Q3?Android 8.0,Andro

4、id移动操作系统 Android应用框架和组件 创建Android应用工程 Android应用工程解析,Android应用框架,Android通过一个开放的开发平台,给开发人员在创建极为丰富创新性的应用程序上提供了有力的支持。开发者拥有使用相同的框架API访问核心应用程序的全部权利。应用程序架构旨在简化组件的重用。,Android应用框架,提供Android平台基本的管理功能和组件重用机制 Activity Manager(活动管理器)管理应用程序的生命周期,并提供一个导航使用的共同的返回栈 Window Manager(窗口管理器):对窗口进行控制 Content Providers(内容提

5、供者):使应用程序能够访问其他应用程序的数据(如通讯录)或共享自己的数据 View System(视图系统):丰富而又可以扩展的视图(View),可以用来构建应用程序,包括列表(ListView),网格(GridView),文本(TextView)可编辑文本框(EditView),按钮(Button)等,甚至可以嵌入的Web浏览器,Android应用框架,提供Android平台基本的管理功能和组件重用机制 Package Manager(包管理器):Android系统内的程序管理 Telephony Manager:获取与手机通讯相关的状态和信息 Resource Manager(资源管理器)

6、:提供非代码资源的访问,如本地化的字符串、图形、和布局文件 Location Manager(定位管理器):可获取手机当前所处的地理位置 Notification Manager(通知管理器):应用可以在状态栏中显示自定义的提示信息,Android组件,Activity Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件 Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动 在界面上的表现形式:全屏窗体,非全屏悬浮窗体,对话框,我是整个应用程序的门面,当然要长得漂亮啦

7、。我主要负责应用程序当中的数据的展示!,Android组件,Service Service用于没有用户界面,但需要长时间在后台运行的应用,我是Android里面的劳动模范,你们虽然看不到我,但是我却承担着大部分数据处理的工作!,Android组件,BroadcaseReceiver BroadcaseReceiver是用来接受并响应广播消息的组件 不包含任何用户界面 可以通过启动Activity或者Notification通知用户接收到重要信息(Notification能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标)。,我是Android里面的广播喇

8、叭,有什么消息新闻,我都会即使传达出去!,Android组件,ContentProvider ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider访问其他应用程序的私有数据 私有数据可以是存储在文件系统中的文件,也可以是SQLite中的数据库 Android系统内部也提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,我是Android王国的国家档案馆,我负责存储数据,并允许有需要的应用程序访问这些数据。,Android组件,Intent Intent负责对应用中一次操作的动作、动作涉及数据

9、、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。,我是运输大队长,应用程序当中所有的数据都要通过我来传递!,Android移动操作系统 Android应用框架和组件 创建Android应用工程 Android应用工程解析,新建工程HelloWorld,运行Eclipse IDE,新建一个Android工程: File-New-Others,在弹出的界面中,选择Android project。 填写工程的

10、信息: Project Name - 显示在IDE中工程的名字 Build Target Android SDK版本 Application Name - 应用运行后显示的名字 Package Name - 源码中包的名字 Activity Name - 源码中java文件的名字 编码实现; 调试运行。,新建工程HelloWorld,界面信息说明如下: Appication Name: HelloWorld # 应用程序的名称,将在程序的标题栏显示 Project Name: HelloWorld # 工程的名称 Package Name: com.example.helloworld # 包

11、名 Minimum Required SDK: API 14: Android 4.0 # 所支持的最小SDK版本 Target SDK: API 19: Android 4.4 # 程序目标SDK版本 Compile With: API 19: Android 4.4 # 编译器版本,一般与Target一致 Theme: None,HelloWorld工程,运行虚拟机,在Eclipse菜单栏,选择Window - AVD Manager,创建虚拟机,并运行 Device:7WSVGA(Tablet)(1024*600 mdpi) Target:Android 4.4.2 Skin:No sk

12、in Memory Option:RAM(1024) VM Heap(64),编译运行HelloWorld工程,待虚拟机启动进入到Android系统后,选择HelloWorld工程,右键单击,弹出菜单选择Run As - Android Application; HelloWorld程序将在虚拟机中运行,并打印消息。,编译运行HelloWorld工程,Android移动操作系统 Android应用框架和组件 创建Android应用工程 Android应用工程解析,Android工程结构,JAVA源文件,Android-4.4 SDK库文件,编译生成的文件,放置应用程序用到的资源文件,放置图片资

13、源,布局设计文件,存放字符串,颜色,尺寸等配置文件,应用程序的配置文件,记录SDK版本信息,MainActivity.java,package com.example.helloworld;import android.app.Activity; import android.os.Bundle; import android.view.Menu;public class MainActivity extends Activity Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedIns

14、tanceState);setContentView(R.layout.activity_main);Overridepublic boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true; ,res - layout - activity_main.xml,res - values - strings.xml,Hello

15、WorldHello world!Settings,gen - R.java,package com.example.helloworld;public final class R public static final class drawable public static final int ic_launcher=0x7f020000;public static final class layout public static final int activity_main=0x7f030000;public static final class menu public static

16、final int main=0x7f070000;public static final class string public static final int action_settings=0x7f050002;public static final int app_name=0x7f050000;public static final int hello_world=0x7f050001; ,AndroidManifest.xml文件,AndroidManifest.xml是每一个应用都需要的文件, 位于应用根目录下,它描述了程序包的全局变量, 包括暴露的应用组件(activitie

17、s, services等等)和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行。 主要包括以下各个元素: 包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时,编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。 认证(certificate):指定本应用程序所授予的信任级别,目前有的认证级别有platform(system)、shared、media以及应用自定义的认证。不同的认证可以享受不同的权限。 权限(permission/permission-group/permission-tree/uses-permission):

18、权限用来描述是否拥有做某件事的权力。 SDK(uses-sdk):标识本应用运行的SDK版本。 application:application:是Android应用内最高级别(top level)的模块,每个应用内最多只能有一个application,如果应用没有指定该模块,一个默认的application将被启用。application将在应用启动时最先被加载,并存活在应用的整个运行时生命周期。,AndroidManifest.xml文件结构大纲, 文件根节点, 描述了程序包的所有内容.请求一个安全授权, 必须被授予该权限, 您的程序包才能正确的操作. 0N声明一个安全授权, 用来限制哪些应

19、用可以访问您的程序包内的组件和特有机制. 0N描述程序包内应用级别组件的根节点. 该节点能够描述应用程序的全局(和/或)默认属性, 例如标签, 图标, 主题, 需要的授权, 等等.包含零个或一个这样的节点Activity 是应用于用户交互的最主要机制. 当一个应用运行的时候, 用户看到的第一个屏幕就是activity, 并且, 用户所使用的其他绝大多数屏幕(界面)也会是一个IntentReceiver 可以让应用接收到一次数据变化和一次行为发生的通知, 甚至这个应用没有在运行也可以. 同activity 标签一样, 你可以选择包含一个或多个元素Service 是一个在后台任意时刻都可以运行的组件. 同activity 标签一样, 你可以选择包含一个或多个元素ContentProvider组件是用来管理数据持久化及数据发布的, 发布的数据可以被其他的应用访问.,AndroidManifest.xml - HelloWorld工程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报