以下为《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中编写与界面交互的逻辑代码,具体如下所示:
……【作业源码黏贴】
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.view.View;import android.widget.Toast;import android.os.Bundle;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view){ Toast.makeText(this,"开始购物",Toast.LENGTH_SHORT).show(); }}
(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设备经常需要涉及应用的启动、安装、卸载功能,实现这些功能的组件就是Inte 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 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】》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。