Android移动应用开发实验指导书.doc

上传人:xin****828 文档编号:6706980 上传时间:2020-03-02 格式:DOC 页数:14 大小:340.50KB
返回 下载 相关 举报
Android移动应用开发实验指导书.doc_第1页
第1页 / 共14页
Android移动应用开发实验指导书.doc_第2页
第2页 / 共14页
Android移动应用开发实验指导书.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
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:配置Intent的Action属性为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完成多个活动之间的交互和数据传递实验二Android的UI界面开发目标(1)掌握常用UI组件的功能和用法。(2)掌握四种基本的布局。(3)掌握自定义控件的2种使用方法。(4)掌握ListView的简单用法。(5)掌握自定义ListView控件的使用。实验软、硬件环境硬件:PC电脑一台;配置:winxp或win7系统,内存大于4G,硬盘250G及以上JDK1.7 、Eclipse、ADT、Android SDK实验主要技术基础(1)Android的UI界面都是由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)在实验5的DatabaseTest项目的基础上进行修改继续开发,通过内容提供器给它加入外部访问接口。(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。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


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

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


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