资源描述
《Android移动应用开发》
试验指导书
课程代码:
总课时数:
适用专业:
院(系)名称:
试验一深入了解Activity
目标
(1)掌握Activity开发、配置和使用。
(2)掌握Intent多个常见属性。
(3)Android系统内置Intent使用。
(4)了解Activity生命周期
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)活动是Android四大组件之一,它是一个能够包含用户界面组件,关键用于和用户进行交互。
(2)Intent是Android程序中各组件之间进行交互一个关键方法,它不仅能够指明目前组件想要实施动作,还能够在不一样组件之间传输数据。
任务
1、请在AndroidManifest.xml文件中配置SecondActivity:
配置IntentAction属性为com.sise.intent.action.JHY_ACTION;
配置Category属性为com.sise.intent.category.JHY_CATEGORY。
经过隐式Intent使用从FirstActivity开启SecondActivity,编写代码,运行程序,预期效果以下所表示。
图1 程序运行初始化界面 图2 点击图1中按钮后运行结果
2、请使用显式Intent开启SecondActivity,并使用Intent从FirstActiv传输数据到SecondActivity。编写代码,运行程序,预期效果以下所表示。
图1 程序运行初始化界面图2 点击图1中按钮后运行结果
3、使用Intent传输数据从SecondActivity返回数据到FirstActivity中去。编写代码,运行程序,预期效果以下所表示。
图1 程序运行初始化界面图2 点击图1按钮运行结果
图3 点击图2按钮运行结果
试验方法和步骤
(1)创建活动
Activity是Android系统提供一个活动基类全部活动全部必需直接或间接继承这类才能拥有活动特征。
(2)布局文件
创建布局文件
加载布局文件
(3)在清单文件中注册活动
(4)以上方法完成多个活动创建
(5)使用Intent完成多个活动之间交互和数据传输
试验二AndroidUI界面开发
目标
(1)掌握常见UI组件功效和使用方法。
(2)掌握四种基础布局。
(3)掌握自定义控件2种使用方法。
(4)掌握ListView简单使用方法。
(5)掌握自定义ListView控件使用。
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)AndroidUI界面全部是由View和ViewGroup及其派生类组合而成。其中,View是全部UI组件基类,而ViewGroup是容纳这些组件容器。
(2)Android布局方法有LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、TableLayout(表格布局)。
(3)Adapter是连接后端数据和前端显示适配器接口,是数据和UI(View)之间一个关键纽带。在常见View(ListView,GridView)等地方全部需要用到Adapter。
任务:制作精美聊天界面
使用自定义ListView制作精美聊天界面,编写代码,运行程序,预期效果以下所表示。
主界面布局示意图:
(要求画出)
ListView子项布局示意图:
(要求画出)
-------------------------------------------------
消息实体类创建:
(关键代码)
自定义适配器类创建:
(关键代码)
主界面活动代码:
(关键代码)
试验方法和步骤
Step1:创建主界面布局文件。
Step2:创建ListView子项布局文件(能够使用Android提供布局方法)
Step3:定义实体类,做为ListView适配器适配类型
Step4:创建一个自定义适配器类(合适优化)
Step5:修改主活动代码
Ø }使用List数据集创建数据,并完成初始化。
Ø }创建适配器对象(依次传入目前上下文,ListView子项布局ID,适配数据)
Ø 将适配器对象绑定到对应ListView控件上。
试验三广播组件综合应用
目标
(1)了解BroadcastReceiver组件使用方法。
(2)掌握发送一般广播和有序广播过程。
(3)掌握发送当地广播过程。
(4)掌握Broadcast应用案例。
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)Android中广播类型:标准广播(完全异步实施广播)和有序广播(完全同时实施广播)。
(2)注册广播类型:清单文件注册(静态注册)和使用代码注册(动态注册)。
(3)依据广播是否能够跨进程接收,将广播分为:系统全局广播和当地广播。
任务
1.模拟实现强制下线功效
要求:创建登陆界面,输入账号密码后进入主界面。
主界面功效:最少包含一个按钮,点击后发送离线广播。对应广播接收器收到广播后,在在界面上弹出一个对话框提醒离线信息,用户无法进行任何其它操作,必需关键点击对话框中确实定按钮,然后关闭已打开全部活动,回到登录界面即可。
2.使用广播接收者监听短信
提醒:当系统收到短信时,会发出一个action名称为Android.provier.Telephony.SMS_RECEIVED广播Intent,该Intent存放了接收到短信内容,使用名称“pdus”即可从Intent中获取短信内容。
pdus是一个object类型数组,每一个object全部是一个byte[]字节数组,每一项为一条短信。
关键思绪:创建一个广播接收器接收该系统广播,并从intent中获取对应消息。
试验方法和步骤
Step1:创建广播接收器,在onReceive()方法中编写逻辑。
Step2:选择静态/动态方法完成注册。如需发送自定义广播转Step3,不然转Step4。
Step3:依据项目要求发送对应广播。
Step4:若接收广播有权限要求,则完成权限申明。
试验四SQLite数据存放
目标
(1)掌握SharedPreferences存放数据格式及位置,能够读写其它应用程序SharedPreferences。
(2)File存放数据
(3)掌握SQLite存放数据方法。
(4)会使用SQLiteOpenHelper辅助类,进行操作数据库。
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)文件存放关键技术:使用Context类中提供openFileInput()和openFileOutput()方法
(2)SharedPreferences是Android平台上一个轻量级存放类,用键值正确方法来存放数据,SharedPreferences文件使用XML格式来对数据进行管理。
(3)Android为了方便管理数据库,专门提供了一个SQLiteOpenHelper帮助类,借助这个类就能够简单地对数据库进行创建和升级。
任务:使用SQL语句操作SQLite数据库
使用SQL语句操作SQLite数据库,完成对数据库相关操作,并经过adb shell对以下操作进行结果验证。
(1)创建数据
(2)添加数据
(3)更新数据
(4)删除部分数据
(5)查询全部满足条件数据
活动界面布局示意图:
(要求画出)
-------------------------------------------------
创建一个类继承SQLiteOpenHelper:
(关键代码)
-------------------------------------------------
主界面活动代码:
创建数据库(关键代码)
添加数据(关键代码)
更新数据(关键代码)
删除数据(关键代码)
查询数据(关键代码)
试验方法和步骤
使用SQLiteDatabase进行数据库操作步骤以下:
Step 1:创建一个类继承SQLiteOpenHelper。
Step 2:获取SQLiteDatabase对象,进行和数据库连接。
Step 3:调用SQLiteDatabase方法来实施SQL语句。
Step 4:操作SQL语句实施结果。
Step 5:调用close()方法,关闭SQLiteDatabase数据库,回收资源。
试验五 ContentProvider数据共享
目标
(1)了解ContentProvider。
(2)能够使用ContentProvider访问其它程序数据。
(3)能够创建自己ContentProvider。
(3)能够使用ContentProvider实现数据共享。
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)内容提供器是Android中实现跨程序共享数据标准方法,内容提供器关键用于在不一样应用程序之间实现数据共享功效,它提供了一套完整机制,许可一个程序访问另一个程序中数据,同时还能确保被访问数据安全性
(2)内容提供器使用方法有两种:
使用现有内容提供器来读取和操作对应程序中数据
创建自己内容提供器给我们程序数据提供外部访问接口
任务:使用ContentProvider实现跨程序数据共享
(1)在试验5DatabaseTest项目标基础上进行修改继续开发,经过内容提供器给它加入外部访问接口。
(2)创建一个新项目,使用ContentResolver类对DatabaseTest中许可访问数据进行添加、删除、修改和查询操作。
(3)经过adb shell对结果进行验证。
-------------------------------------------------
对DatabaseTest进行修改:
创建一个类继承ContentProvider:
(关键代码)
-------------------------------------------------
新建一个项目
①活动界面布局示意图:
(要求画出)
②主界面活动代码:
添加数据(关键代码)
更新数据(关键代码)
删除数据(关键代码)
查询数据(关键代码)
-------------------------------------------------
试验方法和步骤
使用ContentProvider实现跨程序数据共享步骤以下:
Step 1:创建一个类来继承ContentProvider,实现其方法。
Step 2:完成对传入URI参数进行解析,从中分析出调用方期望访问表和数据。
Step 3:经过对Uri解析来实施对应数据库CRUD操作。
Step 4:重写getType()方法。
Step 5:在清单文件中注册该内容提供器。
Step 6:创建一个新项目,使用ContentResolver类对ContentProvider中数据进行添加、删除、修改和查询操作。
试验六 Service应用
目标
(1)掌握Android多线程编程;
(2)掌握Service组件作用;
(3)掌握不一样方法开启Service时实施过程;
(4)掌握部分常见服务类:Alarm使用。
试验软、硬件环境
硬件:PC电脑一台;
配置:winxp或win7系统,内存大于4G,硬盘250G及以上
JDK1.7 、Eclipse、ADT、Android SDK
试验关键技术基础
(1)Service是Android 系统中四大组件之一,它跟Activity等级差不多,但不能自己运行只能后台运行,而且能够和其它组件进行交互。
(2)在Android中实现异步任务机制有两种方法,Handler和AsyncTask。
(3)Service开启方法有两种:start方法和bind方法。
任务
1、使用AsyncTask完成模拟下载,实时更新进度对话框。
要求:使用AsyncTask,在后台(子线程)实施一个模拟下载耗时操作,并在根本程进度对话框中实时更新目前进度,当下载结束后关闭进度对话框并依据结果显示不一样Toast内容。
2、开启服务完成后台定时任务。
要求:
(1)主活动中开启服务LongRunningService。
(2)在服务LongRunningService中打印目前系统时间,并利用Alarm在60秒以后发出一条广播。
(3)对应广播接收器接收到广播后会开启服务LongRunningService。如此循环实施。
【思索】观察日志截图,其打印时间是否是间隔60秒。若有误差思索是为何?
-------------------------------------------------
LongRunningService创建:
(关键代码)
-------------------------------------------------
主活动创建:
(关键代码)
-------------------------------------------------
广播接收器创建:
(关键代码)
-------------------------------------------------
修改Android注册文件
(关键代码)
试验方法和步骤
1、使用AsyncTask完成模拟下载,实时更新进度对话框。
Step 1:创建一个类来继承AsyncTask,指定三个泛型参数,实现四个方法并重写结构方法。在onPreExecute()中显示进度对话框;在doInBackground()中完成模拟下载任务并将最新进度传出;在onProgressUpdate()中完成对进度对话框更新;在onPostExecute(Result)中关闭进度对话框并依据任务结果显示不一样Toast。
Step 2:在主活动按钮点击事件中实施Step 1中异步任务。
2、开启服务完成后台定时任务。
Step 1:创建自定义类继承Service,重写对应方法。在onStartCommond()方法中打印目前系统时间,并利用Alarm在60秒以后发出一条广播。
Step 2:创建广播接收器接收Step 1中发出广播,在onReceive()方法中开启服务LongRunningService。
Step 3:在主活动中开启服务LongRunningService。
展开阅读全文