智能终端设计实验指导书.docx
- 文档编号:25338237
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:33
- 大小:644.43KB
智能终端设计实验指导书.docx
《智能终端设计实验指导书.docx》由会员分享,可在线阅读,更多相关《智能终端设计实验指导书.docx(33页珍藏版)》请在冰豆网上搜索。
智能终端设计实验指导书
智能终端设计
实验指导书
目录
目录1
实验一Android开发环境搭建和HelloWorld2
实验二Android界面设计8
实验三Android开机自启动服务11
实验四数据存储17
实验五天气预报服务24
实验一Android开发环境搭建和HelloWorld
实验学时:
4
实验类型:
验证
实验时间:
2014.9.20
一、实验目的
1.掌握Android开发环境的搭建;
2.了解AndroidSDK的安装、配置、使用;
3.熟悉ADT组件,开发工具eclipse的使用;
4.了解创建项目并熟悉文件目录结构;
5.掌握Android应用程序的生命周期及调试过程。
二、实验环境
AndroidSDK,Eclipse,JDK1.7;PC机
三、实验内容
1.实验环境的软件安装与调试
(1)JDK的下载与安装
登陆网址,点击下图1所示的Downloads——>JavaforDevelops
图1oracle官方网站
进入如下图2界面,点击Javaplatform(JDK)8u5
图2Javaplatform(JDK)
点击同意,然后根据计算机的操作系统及位数选择所需的软件版本。
如下图3所示。
图3JDK安装包下载
JDK的安装
等待软件下载到本地后,直接双击,安装路径选择默认路径,一直点击下一步即可完成安装。
配置环境变量JAVA_HOME、PATH、CLASSPATH.
(2)Eclipse和AndroidSDK开发环境的下载与安装
①在IE浏览器的地址栏内输入,进入此Android开发网址,具体如下图4所示然后点击网页的最下方”GettheSDK”进入SDK的下载地址。
图4Adroid官网
②点击网页右方的“DownloadSDKADTBundleforWindows”按钮,选择同意协议,选择操作系统相应位数,将软件的安装包下载到本地。
图5AndroidSDKADTbundleforWindows下载
③将所下载的压缩文件解压到本地文件夹(注:
文件所放的位置,必须是英文的目录)。
打开文件夹,进入eclipse文件夹,双击eclipse.exe即可打开Android的开发环境。
注意:
在此压缩包中已经包含最新的SDK版本,如果需要旧的SDK版本,需要双击文件夹中的SDKManager.exe,即可在线更新或者下载以前的SDK软件版本。
2.配置虚拟机
点击菜单Window->AndroidSDKandAVDManager。
点击左侧的VirtualDevices,新建AVD(AndroidVirtualDevices=AVD,Android虚拟设备)。
点击“New...”按钮,弹出“CreatenewAndroidVirtualDevice(AVD)”对话框。
在Name中输入AVD名称,如Android2.3,选择Target,如Android2.3-APILevel10。
Skin里Build-in屏幕大小建议选的小一点,不要默认,比如WQVGA400,否则太大了,笔记本可能会满屏高度满屏导致不好操作。
其它选项按照默认即可(后续仍可以随时修改,点击右侧的Edit按钮),点击“CreateAVD“按钮即可。
可以点击右侧的Start...进行测试,弹出窗口中点击Launch启动虚拟机(后续我们运行是使用eclipse里设置自动调用),AVD加载很慢,请耐心等待。
注:
此处若出现“PANIC:
Couldnotopen:
C:
\DocumentsandSettings\Administrator\.android/avd/xxx.ini”错误,则可以点击AVD的Details,查看AVD的Path,在该路径下找到对应的avd目录及对应的ini文件,并将其拷贝到C:
\DocumentsandSettings\Administrator\.android/avd/目录下。
并修改ini文件,将其中的Path修改为当前的avd目录的位置。
3.创建第一个HelloWorld
点击Eclipse菜单File->New->Other,如下图6所示:
图6创建新的工程图7命名新工程
选择AndroidProject,并输入Applicationname,ProjectName,Packagename,具体如图7所示。
点击Next,弹出如图所示界面。
选择此Android应用程序工程所存放的位置。
图8Android应用程序存储位置图9Android应用程序的图标
点击Next,选择Android应用程序的图标。
如图9所示。
点击Next,选择工程为一个空的Activity。
如图10所示。
图10选择Activity类型图11模拟器启动界面
最后点击finish。
完成对第一个工程的创建。
右击工程名称,RunAsAndroidApplication,即启动模拟器运行该程序。
如图11所示。
4.Activity组件的生命周期变化
根据所提供的Android应用程序Activity01文件夹下的部分源码。
在所提供的已有的工程代码基础上进行修改,如何在代码中加入七个Activity的生命周期的回调函数,即onDestroy(),onPause(),onResume(),onStart(),onStop(),onRestart(),onCreate(),通过在其内部加入打印信息,观察Activity组件处于不同位置时,所调用的回调函数是哪一个或者哪几个,加深对生命周期回调函数的调用时机和功能的理解。
第二个Activity没有显示任何内容,编写代码实现:
在第二个Activity上面显示“OH,Yeah,我终于把你搞定了!
!
!
”
5.练习使用DDMS中Logcat调试工具的使用
在第4题中,通过System.out.println加入调试打印信息,在Logcat中如何进行查看和过滤。
6.Activity栈
根据所提供的Android应用程序Activity02文件夹下的源码。
通过加入打印信息,观察各个Activity的生命周期回调函数,结合所学的理论课程理解Activity栈的用法。
在SecondActivity中点击按钮进入ThirdActivity后,如果点击back按钮,从ThirdActivity想直接回到FirstActivity,应该怎么对代码进行修改。
四、思考与练习
1.如何卸载模拟器中的apk应用程序文件。
2.浏览AndroidSDK帮助文档,了解AndroidSDK帮助文档的结构与用途。
实验二Android界面设计
实验学时:
6
实验类型:
验证
实验时间:
2014.9.27
一、实验目的
1.掌握用户界面的Button、RadioButton、RadioGroup、CheckBox、Spinner等基本控件的使用方法;
2.掌握用户界面布局的使用方法及技巧。
3.掌握界面事件的使用。
二、实验环境
AndroidSDK,Eclipse,JDK1.7;PC机
三、实验内容
1.参考google官方提供的AndroidAPI帮助文档了解并掌握Button、RadioButton、RadioGroup、CheckBox、Spinner等基本控件的功能及使用方法;
各种基本控件(Button、RadioButton、RadioGroup、CheckBox、Spinner)的源码(布局及绑定处理消息函数)实现。
2.设计的界面如下图1所示。
要求如下:
Spinner
(1)界面设计如图1所示。
图1Spinner基本控件的使用
(2)实现步骤:
修改布局文件
String.xml文件中进行声明字符串数组变量
添加Java源码
3.练习界面布局管理器的使用
使用三种布局方式实现如图2-4所示的界面设计。
图2线性布局图3表格布局
图4相对布局
4.利用嵌套布局实现图5所示的计算器界面。
图5计算器
5.练习选项菜单、子菜单及上下文菜单的使用
在图4的计算器上加入选项菜单:
“编辑”,“查看”,“帮助”;并为其添加子菜单,即单击“编辑”菜单时,弹出“复制”和“粘贴”,单击“查看”时,弹出“标准型”和“科学型”,单击帮助时弹出“帮助主题”和“关于计算器”。
6.练习单击事件的使用
利用单击事件,做一个能够进行加减乘除的简易计算器,计算结果在文本框中显示出来。
给按钮添加绑定事件的实验例程如下:
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Buttonbtn=(Button)findViewById(R.id.button);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
}
});
}
四、思考与练习
1.使用多种布局方法实现下图所示的用户界面,并对比多种布局实现的复杂度。
实验三Android开机自启动服务
实验学时:
4
实验类型:
验证
实验时间:
2014.10.11
一、实验目的
1.掌握Intent、Broadcast及Service组件的使用;
2.掌握多线程的概念及使用。
3.掌握Handler类及异步工具类的使用。
4.掌握网络访问的方法。
二、实验环境
AndroidSDK,Eclipse,JDK1.7;PC机
三、实验内容
1.Intent组件的使用,界面设计如图1和图2所示,完成如下功能:
点击“启动第二个Activity”按钮,启动第二个界面,并传送数据至第二个界面,当点击第二个界面的“点击返回第一个Activity”时,第二个Activity关闭,并返回数据到第一个Activity。
点击“打开网址”按钮启动Android系统自带的浏览器应用程序界面
点击“发送短信”按钮启动Android系统自带的发短信应用程序界面。
点击“发送邮件”按钮启动Android系统自带的发送邮件应用程序界面。
图1第一个Activity图2第二个Activity
2.BroadcastReceiver类的使用
界面布局如下:
图3BroadcastReceiver类
BroadcastReceiver类的创建及方法的使用
//BrctReceiver类文件实现
publicclassBrctReceiverextendsBroadcastReceiver{
publicBrctReceiver(){
System.out.println("创建BrctReceiver对象");
}
@Override
publicvoidonReceive(Contextcontext,Intentintent){
//TODOAuto-generatedmethodstub
System.out.println("执行onReceive()函数");
}
}
//按钮监听事件处理类文件
publicclassMainActivityextendsActivity{
Buttonbtn=null;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(newBtnListener());
}
classBtnListenerimplementsOnClickListener{
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
Intentit=newIntent();
it.setAction(Intent.ACTION_EDIT);
sendBroadcast(it);
}
}
}
3.Service组件的使用
界面布局如图4所示。
图4Service组件的使用
部分源码实现
classstartServiceListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
serviceIntent=newIntent(StartServiceActivity.this,FirstService.class);
startService(serviceIntent);
}
}
classstopServiceListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
stopService(serviceIntent);
}
}
publicclassMyServiceextendsService{
@Override
publicIBinderonBind(Intentintent){
//TODOAuto-generatedmethodstub
returnnull;
}
@Override
publicvoidonCreate(){
//TODOAuto-generatedmethodstub
super.onCreate();
}
@Override
publicintonStartCommand(Intentintent,intflags,intstartId){
//TODOAuto-generatedmethodstub
returnsuper.onStartCommand(intent,flags,startId);
}
@Override
publicvoidonDestroy(){
//TODOAuto-generatedmethodstub
super.onDestroy();
}
}
4.使用异步工具类及网络访问方法实现电话号码归属地查询功能
界面设计如图5所示。
图5电话号码归属地查询
部分代码实现
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.button);
tv=(TextView)findViewById(R.id.textView);
et=(EditText)findViewById(R.id.editText);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
telNum=et.getText().toString();
newAsyncTask
@Override
protectedStringdoInBackground(String...params){
//TODOAuto-generatedmethodstub
Stringresult="";
Stringline="";
InputStreamin=null;
HttpURLConnectionconn=null;
URLurl=null;
try{
Stringstr=""+
"/WebServices/MobileCodeWS.asmx/"+
"getMobileCodeInfo?
mobileCode="+
"${mobile}&userID=";
str=str.replace("${mobile}",params[0]);
url=newURL(str);
System.out.println(str);
conn=(HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Connection","keep-alive");
conn.setDoInput(true);//可以读取从网络上下载到的数据
intcode=conn.getResponseCode();
if(code==200){
System.out.println("访问成功。
。
。
。
。
。
。
");
in=conn.getInputStream();
XmlPullParserparser=Xml.newPullParser();
parser.setInput(in,"UTF-8");
inteventType=parser.getEventType();
while(eventType!
=XmlPullParser.END_DOCUMENT){
switch(eventType){
caseXmlPullParser.START_DOCUMENT:
System.out.println("START_DOCUMENT");
break;
caseXmlPullParser.START_TAG:
System.out.println("START_TAG"+parser.getName()+""+parser.getNamespace());
break;
caseXmlPullParser.TEXT:
System.out.println("Text"+parser.getText());
result=parser.getText();
break;
caseXmlPullParser.END_TAG:
System.out.println("end_TAG");
break;
caseXmlPullParser.END_DOCUMENT:
System.out.println("END_DOCUMENT");
break;
default:
break;
}
eventType=parser.next();
}
System.out.println("访XmlPullParser成功"+result);
}
}
catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnresult;
}
@Override
protectedvoidonPostExecute(Stringresult){
//TODOAuto-generatedmethodstub
super.onPostExecute(result);
tv.setText(result);
}
}.execute(telNum);
}
});
}
四、思考与练习
1.编程建立一个简单的进程内服务,实现比较两个整数大小的功能。
服务提供IntCompare(Int,Int)函数,输入两个整数,输出较大的整数。
实验四数据存储
实验学时:
6
实验类型:
验证
实验时间:
2014.10.25
一、实验目的
1.掌握SharePreferences的使用方法;
2.掌握Android内部文件及SD卡存储文件的方法。
3.掌握SQLite数据库的使用。
二、实验环境
AndroidSDK,Eclipse,JDK1.7;PC机
三、实验内容
1.采用SharePreferences保存与读取数据
界面设计如图1所示。
图1SharePreferences保存与读取数据
部分源码如下
publicclassMainActivityextendsActivity{
privateButtonbtnsave=null;
privateButtonbtnget=null;
privateEditTexteditname=null;
privateEditTexteditage=null;
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 终端 设计 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)