1-Android开发入门篇-v20110622_第1页
1-Android开发入门篇-v20110622_第2页
1-Android开发入门篇-v20110622_第3页
1-Android开发入门篇-v20110622_第4页
1-Android开发入门篇-v20110622_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,Android系列培训课程,Android开发入门篇,Mac OS X课程内容,功能键 输入法 资源管理器 Dock 应用程序在哪儿? 菜单栏 系统设置-控制面板 全局搜索 命令行和活动监视器(任务管理器) F8,F9,F10,F11,F12 关机,Who am i,?,Android的前世今生,创立了:,Andy Rubin,Android的前世今生,名称来源: Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件

2、。,Android的前世今生,成长历程: 2007.11.5 Android 平台发布 2008.9.22 T-Mobile G1上市 2009年1季度 G1销售100万支 2009.3 MWC华为发布Android手机 Moto,三星,LG计划2009年下半年推出Android手机 2009 获得Orange, Vodafone, O2, Telefonica支持 2009进军上网本 2010已出货4,600万支 2010.10月份谷歌Android应用商店内的程序数量达到了10万项下载量超过10亿,Android的前世今生,新时代: 手机成武器 美研究Android战争防卫系统 NIST透

3、露将用Android设备充当战场翻译 Android步入外太空,Android的前世今生,智能手机操作系统有: Android iPhone Windows Mobile RIMBlackBerry Symbian.,Android的优势,Android的优势,一、开放性 Android 是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。,Android的优势,二、应用平等 所有的Android应用之间

4、是完全平等的。所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎Android的所有其他的东西都是“应用”。,Android的优势,三、应用无界限 Android打破了应用之间的界限 比如:开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。,Android的优势,四、快捷方便 Android平台为开发人员提供了大量的实用库和工具,开发人员可以很快速的创建自己的应用。 例如:在别的手机平台上要进行基于位置的应用的开发是相当的复杂的,而Android将Google M

5、ap集成了进来,开发人员通过简单的几行代码就可以实现一个应用。,Android的系统结构,Android依赖Linux 2.6来提供核心的服 务,例如存储管理、进程(Process)管理等,Java语言层级的 Virtual Machine,根据用户的期望而将 AF的组件及Libraries 组件组合而成的服务,Android里已经提供的C/C+组件。如:SQLite、OpenGL 3D等,这是结合Applications 和Libraries的主架构,让Libraries組件能不断地为Applications所重复使用。,Android的系统结构,Android的系统结构,Android平台

6、架构的汉堡情缘,芝麻:Android的应用程序,上层面包:Android的应用框架,牛肉:框架和硬件之间的C/C+组件,底层面包:硬件,Android的系统结构,Android系统版本,Android辅助工具,更多精彩请到Android Market下载!,Android软件,Android论坛, 开发论坛 安卓网 机锋网 ,环境搭建,准备工作,开发第一个Android应用,新建项目:,开发第一个Android应用,开发第一个Android应用,1.创建一个新项目 ProjectName Application Name Package Name Activity Name Mini SDK

7、Version 2.创建ApiDemo项目,开发第一个Android应用,运行程序 创建AVD:,开发第一个Android应用,命令行方式: 创建AVD: 查看AVD 启动模拟器,开发第一个Android应用,目录结构: src/ java原代码存放目录 gen/ 自动生成目录 res/ 资源(Resource)目录 assets/是存放不进行编译加工的原生文件 AndroidManifest.xml 功能清单文件 perties 项目环境信息,一般是不需 要修改此文件,开发第一个Android应用,res目录结构 res/anim/: 它们被编译进逐帧动画 res/dr

8、awable/: 编译进以下的Drawable资源子类 res/layout/:被编译为屏幕布局 res/values/:可以被编译成很多种类型的资源的XML文件 res/xml/:任意的XML文件,在运行时可以通过调用 Resources.getXML()读取 res/raw/:直接复制到设备中的任意文件,开发第一个Android应用,AndroidManifest.xml解析:,开发第一个Android应用,1. 2. ,开发第一个Android应用,3. ,Android 入门课程,学而不思则罔,二千多年前的一天,在古希腊的叙拉古城上演了科学史上极其悲壮的一幕:一个罗马士兵闯入了一位老人

9、的屋子,老人正在炭灰地上专心致志地画着几何图形。士兵的脚踩在了图上,老人气冲冲地喊道:“别弄乱了我的这些图!”勃然大怒的士兵,拔出剑刺向了手无寸铁的老人。就这样,这位七十五岁高龄的老人走完了自己的一生,临终前仍像他活着时一样,执着于他所喜爱的科学研究。,回顾,Android系统架构有几层?能分别说明吗? 安装Android开发环境都需要几个必要条件? 有谁还记得用命令行创建AVD的具体命令格式?,Android应用程序基本组件,Android应用程序基本组件,Activity简介 Activity是应用程序的表示层。应用程序中的每屏幕显示都通过继承和扩展基类Activity来实现。Activi

10、ty利用View来实现应用程序的GUI(图形用户面),而我们的手机用户则通过GUI和应用程序做交互,如程序通过GUI向用户显示消息,用户通过GUI向应用发出指令。,Android应用程序基本组件,Service简介 与Activity相反,Service没有可见的用户界面,但Service的特点是能长时间在后台运行。例如:音乐播放器,你可以在播放音乐时候编辑短信,看网页。,Android应用程序基本组件,BroadcastReceiver简介 BroadcastReceiver是用户接受广播通知的组件。广播是一种同时通知多个对象的事件通知机制。Android中的广播通知要么来自系统,要么来自普

11、通程序。很多事件都可能导致系统广播,比如手机所在的时区发生变化,电池电量低、用户改变系统语言等.当然也有广播来自应用程序,比如:一个应用程序通知其他程序某些数据下载完毕。,Android应用程序基本组件,ContentProvider简介 在Android中,每个应用程序都是用自己的用户id并在自己的进程中运行。这样做的好处是可以保护系统和应用程序,避免被其他不正常的应用程序所影响,每个进程都拥有独立的进程地址空间和虚拟内存。ContentProvider能将应用程序特定的数据提供给另一个应用程序使用。数据的存储方式可以是Android文件系统,也可以是Sqllite数据库,或者其他方式。,A

12、ndroid应用程序基本组件,Intent简介 Activity、Service和Broadcast Receiver都是由Intent异步消息激活的。Intent在不同的组件之间传递消息,将一个组件的请求意图传给另一个组件。因此,Intent是包含具体请求信息的对象。,Intent的两种调用方法,startActivity(new Intent(Intent.ACTION_DIAL); startActivity(newIntent(ActivityLifecycle.this,AnotherActivity.class);,1.显式:指定具体的目标组建处理,2.隐式:由系统接受并决定如何处

13、理,Intent的两种用法,在AndroidManifest.xml中定义activity、service、broadcast receiver接受的intent。,几种Intent常规用法,Uri uri = Uri.parse(geo:38.899533,-77.036476); Intent it = new Intent(Intent.Action_VIEW,uri); startActivity(it);,Uri uri = Uri.parse(); Intent it= new Intent(Intent.ACTION_VIEW,uri); startActivity(it);,几

14、种Intent常规用法,Uri uri = Uri.parse(“tel:xxxxxx”);Intent it = new Intent(Intent.ACTION_DIAL, uri);startActivity(it);Uri uri = Uri.parse(“tel.xxxxxx”);Intent it =new Intent(Intent.ACTION_CALL,uri);要使用这个必须在配置文件中加入,几种Intent常规用法,Intent it = new Intent(Intent.ACTION_VIEW);it.putExtra(sms_body, The SMS text);

15、 it.setType(vnd.android-dir/mms-sms); startActivity(it);,Activity生命周期,Activity栈 Android系统中,所有的Activity被保存在Activity栈中,当启动一个新的Activity时,这个Activity就被压入Activity栈顶,如果用户通过“返回”键可以回到上一个Activity的画面,栈顶的Activity将被弹出。,Activity生命周期,在 android 中,Activity 拥有四种基本状态:,Activity生命周期,Activity生命周期,Activity状态变化 在 android.a

16、pp.Activity类中,Android 定义了一系列与生命周期相关的方法,在我们自己的 Activity 中,只是根据需要复写需要的方法;,public class HelloActivity extends Activity protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy();

17、,Anroid Log的使用,log.v(String tag, String msg); /verbose 冗余信息 log.d(String tag, String msg); /debug 调试信息 log.i(String tag, String msg); /info 普通信息 log.w(String tag, String msg); /warn 警告信息 log.e(String tag, String msg); /error 错误信息 Tag标识的用法,Android 入门课程,Android UI 组件,What is View?,要创建用户界面,首我们必须了解的是Vie

18、w类。 View是可视化控件的基类,它主要提供了控制绘制和事件处理的方法。而可视化控件,是指重新实现了View的绘制和事件处理方法,并最终生成与用户交互的对象如文本显示,按钮等。,Android UI 组件,下面我们用SDK2.2创建一个新项目,在res目录下我们看到和1.5有些不同,让我们看看这些是什么。,drawable-hdpi drawable-mdpi drawable-ldpi,Android UI 组件,Android UI 组件,创建我们的Login界面:,界面中我们应用的组件:,详见API,Android UI 组件,1.布局文件(编辑XML文件),UI操作的两种形式:,Android UI 组件,2.代码动态添加,Android UI 组件,调整Login界面:,Android UI 组件,小故事,传说老子骑青牛过函谷关,在函谷府衙为府尹留下洋洋五千言道德经时,一年逾百岁、鹤发童颜的老翁招招摇摇到府衙找他。 老子在府衙前遇见老翁。 老翁对老子略略

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论