Android基础实训任务书【1】

本文由用户“zhangyong5088156”分享发布 更新时间:2021-12-26 06:22:31 举报文档

以下为《Android基础实训任务书【1】》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

//

Android基础程序设计实训

任务书

*** 信息***

专业名称 软件技术

班 级

学 号

姓 名

指导教师 何某某 全某某

陕西工业职业***

2021年12月

实训目的

(1) 加深学生Android基础知识的掌握,对应用程序界面的开发以及UI组件的掌握进行强化练习,并通过具体案例掌握四大组件的使用。

(2)通过上机实践,提高学生对计算机软件开发环境和运行环境的了解和使用能力。

(3) 在对Android程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。

(4) 通过实训,提高学生对Android程序设计综合使用能力,逐步掌握程序设计的规律与技巧。

实训要求

(1) 实训期间每天登记考勤,作为课程设计成绩的一部分。

(2) 实训期间不能玩游戏、看电影、小说等做与学习无关的事。如果有不遵守的同学将取消当天成绩。

(3) 每天必须按照指导教师的实训任务安排完成当天的项目,并经过老师的检查。

(4) 完成整个任务以后,要求每人写出实训报告。

(5) 实训报告要求有插图,关键代码及注释。

考核标准

(1) 程序能否能够正确运行。

(2) 源程序编写是否规范,重点语句是否有注释。

(3) 实训报告是否描述清晰,是否对重点知识加以总结。

提交形式

(1) 在系统的非保护逻辑盘建立名为“学号姓名”的文件夹(如04051XXX某某),本次实训所上交的作业,均保存在该文件夹内;然后在自己的“学号姓名”文件夹中再创建子文件夹——项目1、项目2、项目3、项目4、项目5,各项目内容分别保存在对应子文件夹中(操作时加以注意)。

(2) 上交作业分为两部分:程序文件(保存在各对应子文件夹中——实验X)和专用周报告书(以文字+图片的形式对本次实训的任务、实现过程和程序运行结果加以描述,制作word文档报告书,报告书1份直接保存在“学号姓名”文件夹中)。

(3) 编写源程序时(无论在何种环境下),请同学们在源程序中以加注释的方式注明自己的姓名。

实训内容

项目1 MyShoppingCart

一、描述

考核知识点

相对布局

线性布局

常用控件

常见对话框

练习目标

掌握相对布局、线性布局的使用

掌握常用控件的使用

掌握Toast的使用

需求分析

在Android UI章节,讲解包括了常用布局、常用控件及对话框等知识点。在实际开发中,这些知识点的使用频率比较高,因此接下来将通过一个综合型案例——我的购物车来演示这些知识点的综合应用。

设计思路(实现原理)

利用相对布局和线性布局设计页面的布局,并为“去逛逛”按钮注册点击监听方法

当点击“发送”按钮时,在监听方法click()里弹出Toast显示按钮被点击

二、案例实现

(1)“MyShoppingCart”程序

创建“MyShoppingCart”程序,该程序的界面对应的布局文件如下所示:

……【作业源码黏贴】

(2)编写与界面交互的逻辑代码

在MainActivity中编写与界面交互的逻辑代码,具体如下所示:

……【作业源码黏贴】

(3)运行程序

运行“MyShoppingCart”程序,能看到如下界面,点击“去逛逛”按钮可以看右侧所示的界面。

/ /

我的购物车运行界面示意图

三、案例总结

1、案例使用到了Button按钮的android:onClick属性,该属性是用于监听按钮的点击事件

2、使用Toast对话框时,最后一定不要忘记调用show()方法,否则不会弹出Toast

项目2 PhoneInfo

一、案例描述

考核知识点

相对布局

线性布局

样式

国际化

练习目标

掌握相对布局、线性布局的使用

掌握样式的使用

掌握如何对程序进行国际化

需求分析

在实际开发中,经常会用到样式和主题及国际化等知识点,因此接下来将通过一个案例——手机信息页来演示这些知识点的综合应用。

设计思路(实现原理)

将准备好的八个图标复制到res/drawable文件夹中

2)创建一个垂直的线性布局,并在线性布局中创建4个相对布局

3)在相对布局中添加相应的TextView

4)在values文件下的style.xml文件中存放抽取出来的样式

5)在res/values目录下创建两个用于国际化的文件strings.xml。

二、案例实现

(1)创建“PhoneInfo”程序

创建一个名为“PhoneInfo”的程序,该程序用于展示手机设置页面的信息。程序界面对应布局文件activity_mian.xml如下所示:

……【作业源码黏贴】

(2)抽取样式

由于编写布局文件时,相同控件之间的外边距和宽高都是固定的。因此会产生大量重复的布局代码,为了代码简洁和重复使用可以将相同代码抽取为样式单独放在一个style.xml文件中。style.xml文件如下所示:

……【作业源码黏贴】

(3)创建国际化文件夹

在res/values目录下创建两个用于国际化的文件strings.xml。

strings.xml(zh-rCN)文件如下所示:

……【作业源码黏贴】

strings.xml(en-rUS)文件如下所示:

……【作业源码黏贴】

(4)编写与界面交互的代码

接下来需要在MainActivity中编写与用户交互的逻辑代码,MainActivity对应的代码如下所示:

……【作业源码黏贴】

(5)运行“PhoneInfo”程序

运行程序能看到如左图所示的界面,更改模拟器的语言设置,将语言设置改为简体中文能看到如右图所示的界面。

/ /

手机信息页面运行界面示意图

三、案例总结

1、注意国际化文件的创建步骤,详情请参见教材。

2、案例使用到了TextView的android:drawableTop=""属性,该属性是用于指定文字上方的图片。

项目3 RegisterCard

一、案例描述

考核知识点

Activity的创建

Activity的生命周期

数据传递

练习目标

掌握如何开启新的Activity

掌握如何在两个Activity之间传递数据

需求分析

Android应用通常是由多个Activity组成,这些Activity用于显示不同的页面,它们之间是相互独立的,但是经常需要在不同的界面之间传递数据,例如第一个页面注册信息后,将信息显示到第二个页面上面。

设计思路(实现原理)

1)创建第一个Activity,用于输入注册信息,将信息传递给第二个Activity。

2)创建第二个Activity,接收第一个Activity传递的信息,将信息显示在页面上面。

二、案例实现

(1)创建RegisterCard程序

创建一个名为“RegisterCard”的程序,该程序用于填写并发送注册信息。程序主界面如图3-1所示。

/

数据传递页面示意图

“RegisterCard”程序对应的布局文件activity_main.xml代码如下所示:

……【作业源码黏贴】

接下来将TextView和EditText的属性抽取出做单独样式,存放在res/values目录下的styles.xml文件内,TextView和EditText的样式如下所示:

……【作业源码黏贴】

在drawable文件夹下创建两个XML文件,分别用于自定义文本框显示效果与按钮背景,具体代码如下所示。

文本框显示效果(cz_shade_ll.xml)代码如下:

……【作业源码黏贴】

按钮背景(cz_shade_button.xml)代码如下:

……【作业源码黏贴】

(2)编写MainActivity逻辑代码

MainActivity中填写完注册信息后使用Intent将信息发送到第二个Activity中。具体代码如下所示:

……【作业源码黏贴】

(3)创建第二个Activity

接下来创建第二个Activity起名称为SecondActivity,在清单文件中注册,该Activity用于接收第一个Activity传递过来的数据并显示在界面上,SecondActivity的布局视图如3-2所示。

/

SecondActivity界面示意图

activity_second.xml所对应布局文件如下所示:

……【作业源码黏贴】

(4)编写SecondActivity逻辑代码

在SecondActivity的onCreate()方法中使用getIntent()接收从前一个Activity传递过来的数据,根据key值取出相应的values,并把取出的值显示在界面上。

……【作业源码黏贴】

(5)运行程序

运行“RegisterCard”程序,首先显示主界面MainActivity,如图3-3的左图所示,在界面中填写了手机号码和昵称,点击注册新用户按钮后如图3-3的右图所示,第二个界面接收并显示出了输入的信息。

/ /

Activity间传递数据示意图

三、案例总结

1、Activity必须在清单文件中注册,注册节点为。

2、Activity之间的跳转和传输数据使用Intent。

项目4 NewContacts

一、案例描述

考核知识点

数据回传

显示意图和隐式意图

练习目标

掌握Activity之间数据回传的功能

掌握Activity隐式意图的使用

需求分析

在Android系统中,不仅需要把数据传递给不同页面,也经常会打开一个新的页面,把新页面中的数据回传给调用者。传递数据与回传数据同样使用的都是Intent对象。

设计思路(实现原理)

创建主界面MainActivity,该Activity有一个Button按钮,点击进入第二个页面并将第二个页面的数据显示在界面上。

创建第二个界面SecondActivity,该Activity主要用于输入信息、从图库选择图片并将数据回传给MainActivity。

二、案例实现

(1)创建NewContacts程序

创建“NewContacts”程序,首先创建第一个Activity用于显示信息,该程序的界面如图3-4所示。

/

主界面示意图

主界面对应的布局文件(activity_main)如下所示:

……【作业源码黏贴】

MainActivity的代码如下所示:

……【作业源码黏贴】

(2)SecondActivity布局

创建SecondActivity类的布局activity_second.xml,该布局包含四个EditText ,second.xml所对应界面如图3-5所示。

/

选择联系人界面示意图

activity_second.xml布局文件如下所示:

……【作业源码黏贴】

其中View和EditText的属性抽取出做单独样式,如下所示:

……【作业源码黏贴】

(3)SecondActivity类

创建好联系人信息界面后创建一个SecondAcitivty.java,该类主要完成信息的输入、图片选择和数据的回传功能:

……【作业源码黏贴】

(3)运行程序

运行“NewContacts”程序,结果如图3-6所示。

/

主界面示意图

点击新建联系人按钮,打开输入信息界面并输入姓名、公司、电话号码、电子邮件并点击头像进入系统图库选择一张图片,如图3-7的左图所示。填写之后点击完成按钮将数据回传给MainActivity,如图3-7的右图所示。

/ /

Activity回传数据示意图

三、案例总结

1、使用Activity回传数据需要用到startActivityForResult打开新的Activity。

2、回传数据界面需要设置setResult();方法设置结果数据并指定数据存放在Intent对象中。

项目5 Applications

一、案例描述

考核知识点

显示意图和隐式意图

练习目标

掌握显示和隐式Intent的使用

需求分析

使用Android设备经常需要涉及应用的启动、安装、卸载功能,实现这些功能的组件就是Intent。通过显示意图设置应用的应用名称、包某某就可以进行启动程序,通过隐式意图设置动作可以对其他应用进行安装和卸载。

设计思路(实现原理)

1)创建一个类MainActivity,该类中主要处理应用信息的显示、点击图标弹出对话框进行应用的打开和卸载操作。

二、案例实现

(1)创建Applications程序 

创建MainActivity用于搜索手机中安装的应用并把两个Demo程序显示在界面上,点击应用图标可以进行打开和卸载。该类的界面如图3-8所示。

/

主界面

主界面对应的布局文件如下所示:

……【作业源码黏贴】

在编写主界面逻辑之前为了更好的实验利用Intent对应用进行打开和卸载功能,要先创建两个Demo程序:cn.itcast.demo1和cn.itcast.demo2,并为这两个程序替换不同的应用图标。先把这两个Demo程序安装在模拟器或者真实设备中,然后编写主程序的逻辑。之后主程序对应用的打开和卸载功能都是围绕这两个Demo进行。

(2)编写主界面逻辑

编写主逻辑代码,该类中主要实现搜索设备中安装所有应用,如果Demo程序安装则显示在界面上,点击之后弹出对话框进行打开和卸载操作。

……【作业源码黏贴】

(3) 运行程序

首先安装Demo程序,再运行打开和卸载程序,如图3-9所示。

/

主界面示意图

当“安装卸载应用”程序打开后搜索设备中安装的所有应用,由于事先将两个Demo程序安装在设备中,因此将两个程序显示在界面上并显示出应用图标、应用名称和应用包某某,点击Demo1,如图3-10所示。

/ /

点击Demo1弹出对话框并点击卸载示意图

如图3-10的左图所示,点击Demo1弹出了对话框,有两个选项:卸载应用和打开应用,点击卸载应用之后如图3-10的右图所示成功使用隐式Intent成功调用了系统的卸载功能。接下来的步骤和打开应用的功能这里不再上图,开发者可以自己实验。

三、案例总结

1、显示意图打开其他应用必须要知道其他应用的包某某和具体类名。

2、隐式意图调用其他应用程序可以不用知道包某某,需要设置要做的动作action。

项目6 AppList应用列表

一、案例描述

考核知识点

ListView控件的使用

常用数据适配器

练习目标

掌握ListView展示数据

需求分析

应用的安装和卸载应用实现了将两个应用显示在界面上的功能,如果要把手机上所有应用都展示在手机上使用基本控件很难实现,展示列表型的数据可以使用ListView控件。

设计思路(实现原理)

获取设备上安装的所有应用列表,将列表使用ListView展示在界面上。

二、案例实现

(1)创建AppList程序

创建“AppList”程序,首先创建MainActivity用于显示信息,该程序的界面如图所示。

/

主界面

主界面对应的布局文件(activity_main)如下所示:

……【作业源码黏贴】

(2)创建Item布局

创建好ListView布局之后,需要创建ListView对应的Item(条目)布局,显示每个条目信息,界面如图所示。

/

ListView的Item布局

……【作业源码黏贴】

(3)创建JavaBean类UserAPPInfo

包含参数name,pakName,code以及ico

……【作业源码黏贴】

(4)编写逻辑代码

……【作业源码黏贴】

(3)运行程序

运行“AppList”程序,结果如图所示。

/

运行界面

从图中可以看出,当手指向下滑动,会展示出手机上所安装的所有应用。

三、案例总结

1、ListView必须设置id属性才能将数据显示在页面上。

项目7 SaveUserInfo

一、案例描述

考核知识点

SharedPreferences

练习目标

掌握使用SharedPreferences存储数据

需求分析

SharedPreference将数据以Map形式存入手机内存中。常用于存储较简单的参数设置,如QQ登陆账号密码的存储,窗口功能状态的存储等,使用起来简单、方便。为了让初学者掌握SharedPreference存储数据,接下来通过案例“SaveUserInfo”演示如何使用SharedPreference保存数据。

设计思路(实现原理)

1)将准备好的个图标复制到res/drawable目录下

2)创建MainActivity的布局

3)创建ShowUserInfoActivity的布局

4)编写MainActivity中逻辑代码,存储用户信息

5)编写ShowActivity中的逻辑代码,取出保存的用户信息并展示

二、案例实现

(1)创建MainActivity的布局

创建一个名为“SaveUserInfo”的程序,该程序用于输入并保存用户资料。“SaveUserInfo”程序主界面对应布局文件的图形化视图如图4-1所示。

/

编辑用户资料页面图形化视图

编辑用户资料对应布局文件activity_main.xml的代码如下所示:

……【作业源码黏贴】

2、编写ShowUserInfoActivity布局

创建好MainActivity的布局后需要创建展示用户信息的布局,该布局的图形化视图如图4-2所示。

/

activity_show_user_info.xml对应的图形化视图

该界面对应的布局文件activity_show_user_info.xml对应的代码如下所示:

……【作业源码黏贴】

3、编写MainActivity逻辑代码

由于本案例需要演示使用SharedPreference储存数据,因此需要在MainActivity中编写相应的逻辑代码,具体如下所示:

……【作业源码黏贴】

编写ShowUserInfoActivity页面逻辑代码

接下来需要在ShowUserInfoActivity中编写展示用户信息的逻辑代码,具体如下所示:

……【作业源码黏贴】

测试“SaveUserInfo”程序

运行程序能看到如图4-3左图所示,在左图中输入用户资料,点击保存名片信息按钮能看到如图4-3右图所示的界面。

/ /

保存用户信息运行界面

三、案例总结

1、使用SharedPreferences的Editor对象操作完数据后,一定要调用commit()方法进行数据提交,否则所有操作不生效。

项目8 CallRecord(通话记录)

一、案例描述

考核知识点

广播接收者简介

广播接收者的创建

练习目标

广播的静态注册和使用

使用广播处理处理事件

需求分析

手机最重要的功能就是通话功能,同样储存通话记录也是必不可少的。该案例使用广播接收者自己实现通话记录的功能。包括呼出电话、已接来电、未接来电以及通话产生的时间。

设计思路(实现原理)

注册监听电话状态的广播;

在广播的onReceive()方法中使用SQLite记录通话记录;

将通话记录展示在ListView上。 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 roid.permission.WRITE_EXTERNAL_STORAGE" />

(12)运行程序

首先在清单文件中把版本号改为2.0或者2.0以上,然后把应用打包或者将项目运行起来,将打包后的apk或者运行后在bin目录下产生的apk文件放在服务器下,再把项目版本改为1.0,并且把服务器中的最新版本号改为2.0以上,最后运行项目,会看到图9-2所示画面。

/ /

左图:升级提示 右图:取消升级

由于服务器中最新版本号比当前版本号大,因此打开应用时提示升级,此时点击稍后再说按钮会取消对话框进入主界面,点击立即更新按钮则会下载新apk,如图9-3所示。

/

点击立即更新按钮进行下载

当下载完成后会提示安装,如图9-4左图所示,当点击OK安装完成再次打开应用时不会再弹出升级提示对话框并且主界面中显示的版本号跟服务器一致,如图9-4所示。

/ /

下载完成

如图9-4所示,版本号与下载前版本号不一致,说明已经成功从服务器中下载了最新的apk并安装成功。

三、案例总结

1、进行网络连接不能在主线程中完成,必须开一个子线程。

2、进行网络连接必须要添加相应权限。

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《Android基础实训任务书【1】》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览