android应用程序开发流程要点.doc

上传人:w****2 文档编号:6593555 上传时间:2020-02-29 格式:DOC 页数:16 大小:2.43MB
返回 下载 相关 举报
android应用程序开发流程要点.doc_第1页
第1页 / 共16页
android应用程序开发流程要点.doc_第2页
第2页 / 共16页
android应用程序开发流程要点.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
目录 1 小结要点 1 2 JAVA 基础知识 1 3 ANDROID 应用程序开发环境搭建 2 4 ANDROID 应用程序目录结构 5 5 新建一个 ANDROID 应用 6 6 ANDROID 四大组件及界面 UI 元素 7 7 ANDROID 应用程序的工作机制 8 8 ANDROID 应用程序常用功能接口 12 1 小结要点 1 熟悉了解 java 面向对象编程思想及基础知识 2 Android 应用程序开发环境的搭建 3 了解 Android 应用程序的目录结构 4 新建一个 android 应用 Hello Android World 5 熟悉 Android 四大组件及控件 6 理解 Android 应用程序开发的工作机制 7 熟悉常用功能的接口 2 Java 基础知识 表一 JAVA 语法与 C 语言语法对比 C 语言语法规则 JAVA 语言语法规则 代码框架 从 main 函数开始 从 main 方法开始 但是必须是包 含在类中 类名一般以大写字母开 头 文件名与类名必须相同 数据类型 整型数 int unsigned int 4 字 节 long int unsigned long int 8 字节 浮点型 float 4 字节 double 8 字节 字符型 char signed char 1 字 节 布尔类型 没有此类型 字符串类型 没有此类型 整数型 byte 1 字节 short 2 字 节 int 4 字节 long 8 字 节 浮点型 float 4 字节 double 8 字节 字符型 char 2 字节 可当做无符 号整型 布尔型 boolean 不确定 只有 true 和 false 存储空间取决于 JAVA 虚拟机的实现 字符串类型 String 变量 运算 符 略 与 C 语言命令及运算规则基本一致 语句结构 略 与 C 语言基本一致 但没有 goto 语句 数组 声明和创建 例 int m 10 声明和创建 例 int m new int 10 常用修饰符 static 略 常量 define COUNT 100 static 与 C 语言相同 常量 private final int count 100 public static final int COUNT 100 类的定义 无 访问控制符 修饰符 class 类名 属性声明 方法声明 构造器声明 访问控制符 无 public private protected 对象属性初 始化 无 类名 对象名 new 构造器 this 关键字 略 参考相关书籍 指针 略 无 3 Android 应用程序开发环境搭建 使用的工具 java jdk android SDK eclipse ADT 插件 方法一 一 首先安装 java jdk 并设置环境变量 二 将别人已经安装好的 eclipse android SDK 目录拷贝到自己的电脑 三 打开 eclipse 设置 android SDK 路径 配置 ADT 1 Eclipse启动后 选择Window Preferences 在打开的属性框 选择Android 如下图 可 以看到 2 在 SDK location 中输入你的 Android SDK 所在的目录 然后按 Apply 按钮即可看到我们安装SDK包 如下图 四 android SDK 的配置 1 在Eclipse中选择Window Android SDK and AVD Manager 或者在android sdk windows文件 夹中双击SDK Manager exe 可以看到类似如界面 2 在上述界面中选择 Virtual Devices 按new 按钮创建虚拟设备 输入如下图所示 3 点击 Create AVD 按钮 如果安装成功 会在 Android SDK and AVD Manager 对话框中显示 方法二 略 安装步骤比较繁琐 网速比较慢的话需要大概一天的时间 对安装步骤不熟悉的话可能需要 两天 此安装方法关键就是安装 android SDK 和 ADT 插件 方法一是拷贝了已经安装好了的 所 以在方法一中可以直接省去而直接配置环境就 OK 了 4 android 应用程序目录结构 1 目录结构如下图所示 2 目录结构说明 src 放置的是编写的源文件 1 gen ADT 插件自动生成的 R java 文件 不可以修改它 2 Android 2 2 这是 android 提供的一个 jar 文件我们所引用的所有类都来源于这个 jar 文件 3 res 可放置文件 同时会在 R java 中自动生成 ID 4 drawable 存放的是图片资源 layout 存放的是布局文件 values 存放的是字符串 颜色 数组 AndroidManifest xml 这是整个应用程序的配置文件 起到关键性的作用 5 5 新建一个 android 应用 1 新建项目 打开Eclipse 选择File New Project Android Project 具体输入如下图 2 直接点击 Finish 按钮即可 6 Android 四大组件及界面 UI 元素 1 Activity 应用程序的界面容器 可以放置各种各样的控件 2 Broadcast Intent Receiver 可以使用 BroadcastReceiver 来让对一个外部事件做出响应 3 Service 是一种后台运行的服务程序 是没有用户界面的 4 Content Provider 用于数据共享 Activity 既然是一个容器那么就可以放置各种控件 如 按钮 Button 文本框 TextView 编辑框 EditText 多项选择 CheckBox 单项选择 RadioGroup 下拉列表 Spinner 等等 具体的用法可参考相关的书籍 7 Android 应用程序的工作机制 工作机制主要是围绕四大组件进行展开的 1 Activity Android 中 Activity 是所有程序的根本 所有程序的流程都运行在 Activity 之中 Activity 具有自己的生命周期由系统控制生 命周期 程序无法改变 但可以用 onSaveInstanceState 保存其状态 对于 Activity 关键是其生命周期的把握 如下图 其次就是状态的保存和恢复 onSaveInstanceState onRestoreInstanceState 以及 Activity 之间的跳转和数据传输 intent Activity 中常用的函数有 SetContentView findViewById finish startActivity 其生命周期涉及的函数 有 void onCreate Bundle savedInstanceState void onStart void onRestart void onResume void onPause void onStop void onDestroy 注意的是 Activity 的使用需要在 Manifest 文件中添加相应的 并设置其属性和 intent filter Intent Android 中提供了 Intent 机制来协助应用间的交互与通讯 Intent 负责对应用中一次操作的动作 动作涉及数据 附加数据进 行描述 Android 则根据此 Intent 的描述 负责找到对应的组件 将 Intent 传递给调用的组件 并完成组件的调用 Intent 不 仅可用于应用程序之间 也可用于应用程序内部的 Activity Service 之间的交互 因此 Intent 在这里起着一个媒体中介的作用 专门提供组件互相调用的相关信息 实现调用者与被调用者之间的解耦 在 SDK 中给出了 Intent 作用的表现形式为 通过 Context startActivity orActivity startActivityForResult 启动一个 Activity 通过 Context startService 启动一个服务 或者通过 Context bindService 和后台服务交互 通过广播方法 比如 Context sendBroadcast Context sendOrderedBroadcast Context sendStickyBroadcast 发给 broadcastreceivers 2 Intent 属性的设置 包括以下几点 以下为 XML 中定义 当然也可以通过 Intent 类的方法来获取和设置 1 Action 也就是要执行的动作 SDk 中定义了一些标准的动作 包括 onstant Target component Action ACTION CALL activity Initiate a phone call ACTION EDIT activity Display data for the user to edit ACTION MAIN activity Start up as the initial activity of a task with no data input and no returned output ACTION SYNC activity Synchronize data on a server with data on the mobile device ACTION BATTERY LOW broadcast receiver A warning that the battery is low ACTION HEADSET PLUG broadcast receiver A headset has been plugged into the device or unplugged from it ACTION SCREEN ON broadcast receiver The screen has been turned on ACTION TIMEZONE CHANGED broadcast receiver The setting for the time zone has changed 当然 也可以自定义动作 自定义的动作在使用时 需要加上包名作为前缀 如 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 的接受者应该在 Launcher 中 作为顶级应用出现 而 ALTERNATIVE CATEGORY 表示当前的 Intent 是一系列的可选动作中的一个 这些动作可以在同一块 数据上执行 还有其他的为 Constant Meaning CATEGORY BROWSABLE The target activity can be safely invoked by the browser to display data referenced by a link for example an image or an e mail message CATEGORY GADGET The activity can be embedded inside of another activity that hosts gadgets CATEGORY HOME The activity displays the home screen the first screen the user sees when the device is turned on or when the HOME key is pressed CATEGORY LAUNCHER The activity can be the initial activity of a task and is listed in the top level application launcher CATEGORY PREFERENCE The target activity is a preference panel 5 component 组件 指定 Intent 的的目标组件的类名称 通常 Android 会根据 Intent 中包含的其它属性的信 息 比如 action data type category 进行查找 最终找到一个与之匹配的目标组件 但是 如果 component 这个 属性有指定的话 将直接使用它指定的组件 而不再执行上述查找过程 指定了这个属性以后 Intent 的其它所有属 性都是可选的 6 extras 附加信息 是其它所有附加信息的集合 使用 extras 可以为组件提供扩展信息 比如 如果要执行 发送电子邮件 这个动作 可以将电子邮件的标题 正文等保存在 extras 里 传给电子邮件发送组件 理解 Intent 的关键之一是理解清楚 Intent 的两种基本用法 一种是 显式的 Intent 即在构造 Intent 对象时就指定接收 者 另一种是隐式的 Intent 即 Intent 的发送者在构造 Intent 对象时 并不知道也不关心接收者是谁 有利于降低发 送者和接收者之间的耦合 对于显式 Intent Android 不需要去做解析 因为目标组件已经很明确 Android 需要解析的是那些隐式 Intent 通过 解析 将 Intent 映射给可以处理此 Intent 的 Activity IntentReceiver 或 Service Intent 解析机制主要是通过查找已注册在 AndroidManifest xml 中的所有 IntentFilter 及其中定义的 Intent 最终找到匹 配的 Intent 在这个解析过程中 Android 是通过 Intent 的 action type category 这三个属性来进行判断的 判断 方法如下 如果 Intent 指明定了 action 则目标组件的 IntentFilter 的 action 列表中就必须包含有这个 action 否则 不能匹配 如果 Intent 没有提供 type 系统将从 data 中得到数据类型 和 action 一样 目标组件的数据类型列表 中必须包含 Intent 的数据类型 否则不能匹配 如果 Intent 中的数据不是 content 类型的 URI 而且 Intent 也没有明确指定它的 type 将根据 Intent 中数据的 scheme 比如 http 或者 mailto 进行匹配 同上 Intent 的 scheme 必须出现在目标组 件的 scheme 列表中 如果 Intent 指定了一个或多个 category 这些类别必须全部出现在组建的类别列表中 比如 Intent 中包 含了两个类别 LAUNCHER CATEGORY 和 ALTERNATIVE CATEGORY 解析得到的目标组件必 须至少包含这两个类别 3 BroadcastReceiver 接收响应动作 如来发送短信时可以注册一个广播接收器 接收发送是否成功的反馈消息 如果发送成功就 提示发送成功 失败就提示失败 代码如下 注册发送短信状态的消息 Override protected void onResume super onResume IntentFilter sendFilter new IntentFilter ACTION SMS SEND registerReceiver SMSStatusBroatReceiver sendFilter 复写取消注册的方法 Override protected void onPause super onPause unregisterReceiver SMSStatusBroatReceiver private BroadcastReceiver SMSStatusBroatReceiver new BroadcastReceiver Override public void onReceive Context context Intent intent String actionName intent getAction int resultCode getResultCode switch resultCode case Activity RESULT OK Toast makeText smsStressTest this 成功发送 Toast LENGTH SHORT show break case SmsManager RESULT ERROR GENERIC FAILURE Toast makeText smsStressTest this 短信发送失败 Toast LENGTH SHORT show break case SmsManager RESULT ERROR NO SERVICE Toast makeText smsStressTest this 没有服务 Toast LENGTH SHORT show break case SmsManager RESULT ERROR NULL PDU Toast makeText smsStressTest this 短信内容为空 Toast LENGTH SHORT show break case SmsManager RESULT ERROR RADIO OFF Toast makeText smsStressTest this 射频开关没有打开 Toast LENGTH SHORT show break 4 事件监听机制 如 Button 按钮的监听 5 数据存储机制 SharedPreferences 存储 SQLite 存储 ContentProvider 网络存储 SD 卡存储 8 Android 应用程序常用功能接口 相关功能的一些简单实例 如下 显示网页 1 Uri uri Uri parse 2 Intent it new Intent Intent ACTION VIEW uri 3 startActivity it 显示地图 1 Uri uri Uri parse geo 38 899533 77 036476 2 Intent it new Intent Intent ACTION VIEW uri 3 startActivity it 4 其他 geo URI 範例 5 geo latitude longitude 6 geo latitude longitude z zoom 7 geo 0 0 q my street address 8 geo 0 0 q business near city 9 google streetview cbll lat lng 2 Intent it new Intent Intent ACTION VIEW uri 3 startActivity it 4 where startLat startLng endLat endLng are a long with 6 decimals like 50 123456 打电话 1 叫出拨号程序 2 Uri uri Uri parse tel 0800000123 3 Intent it new Intent Intent ACTION DIAL uri 4 startActivity it 1 直接打电话出去 2 Uri uri Uri parse tel 0800000123 3 Intent it new Intent Intent ACTION CALL uri 4 startActivity it 5 用這個 要在 AndroidManifest xml 中 加上 6 传送 SMS MMS 1 调用短信程序 2 Intent it new Intent Intent ACTION VIEW uri 3 it putExtra sms body The SMS text 4 it setType vnd android dir mms sms 5 startActivity it 1 传送消息 2 Uri uri Uri parse smsto 0800000123 3 Intent it new Intent Intent ACTION SENDTO uri 4 it putExtra sms body The SMS text 5 startActivity it 1 传送 MMS 2 Uri uri Uri parse content media external images media 23 3 Intent it new Intent Intent ACTION SEND 4 it putExtra sms body some text 5 it putExtra Intent EXTRA STREAM uri 6 it setType image png 7 startActivity it 传送 Email 1 Uri uri Uri parse mailto xxx 2 Intent it new Intent Intent ACTION SENDTO uri 3 startActivity it 1 Intent it new Intent Intent ACTION SEND 2 it putExtra Intent EXTRA EMAIL me 3 it putExtra Intent EXTRA TEXT The email body text 4 it setType text plain 5 startActivity Intent createChooser it Choose Email Client 1 Intent it new Intent Intent ACTION SEND 2 String tos me 3 String ccs you 4 it putExtra Intent EXTRA EMAIL tos 5 it putExtra Intent EXTRA CC ccs 6 it putExtra Intent EXTRA TEXT The email body text 7 it putExtra Intent EXTRA SUBJECT The email subject text 8 it setType message rfc822 9 startActivity Intent createChooser it Choose Email Client 1 传送附件 2 Intent it new Intent Intent ACTION SEND 3 it putExtra Intent EXTRA SUBJECT The email subject text 4 it putExtra Intent EXTRA STREAM file sdcard mysong mp3 5 sendIntent setType audio mp3 6 startActivity Intent createChooser it Choose Email Client 播放多媒体 Uri uri Uri parse file sdcard song mp3 Intent it new Intent Intent ACTION VIEW uri it setType audio mp3 startActivity it Uri uri Uri withAppendedPath MediaStore Audio Media INTERNAL CONTENT URI 1 Intent it new Intent Intent ACTION VIEW uri startActivity it Market 相关 1 寻找某个应用 2 Uri uri Uri parse market search q pname pkg name 3 Intent it new Intent Intent ACTION VIEW uri 4 startActivity it 5 where pkg name is the full package path for an application 1 显示某个应用的相关信息 2 Uri uri Uri parse market details id app id 3 Intent it new Intent Intent ACTION VIEW uri 4 startActivity it 5 where app id is the application ID find the ID 6 by clicking on your application on Market home 7 page and notice the ID from the address bar Uninstall 应用程序 1 Uri uri Uri fromParts package strPackageName null 2 Intent it new Intent Intent ACTION DELETE uri 3 startActivity it
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!