收藏 分销(赏)

嵌入式系统开发实验报告.doc

上传人:a199****6536 文档编号:4136969 上传时间:2024-07-31 格式:DOC 页数:58 大小:3.69MB
下载 相关 举报
嵌入式系统开发实验报告.doc_第1页
第1页 / 共58页
嵌入式系统开发实验报告.doc_第2页
第2页 / 共58页
嵌入式系统开发实验报告.doc_第3页
第3页 / 共58页
嵌入式系统开发实验报告.doc_第4页
第4页 / 共58页
嵌入式系统开发实验报告.doc_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、计算机学院实 验 报 告课程名称: 嵌入式系统开发专 业: 软件工程班 级: 122002学 号: 201220040224姓 名: 郑鑫 2015年 12 月 19 日实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015年 9月25日 指导教师: 时振涛 实验一:Android 开发环境搭建及调试一、实验目的和要求1. 掌握Android环境搭建方法,创建第一个Android应用程序HelloWorld,熟练掌握设置环境参数2. 了解Android SDK的目录结构、Android应用程序的程序结构3. 创建一个AVD,设置Android模拟器,并会操作Androi

2、d模拟器4. 使用命令行工具管理模拟器5. 熟悉Android的调试工具DDMS,掌握Logcat的使用方法。二、实验原理:1. 利用电脑搭建安卓开发环境2. 设置Android模拟器3. 使用命令行工具管理模拟器4. 操作Android模拟器5. 使用运行(Run)模式运行三、实验设备:1. PC计算机2. JDK安装包3. Eclipse安装包4. AndroidSDK安装包5. ADT插件四、实验内容初步了解androidproject建立过程以及如何运行模拟器,对android的运行原理进行简单了解;1.搭建配置Eclipse+Android开发环境2.创建一个简单的”Hellowor

3、ld”工程3.设置Android模拟器:创建新的模拟器4.用命令行工具执行如下操作实现文件操作和管理模拟器:l 拷贝文件到手机内存:adb push 源文件 /位置/目标文件l 拷贝手机文件到电脑上:adb pull 源文件 目标文件l 修正:adb kill-serverl 重启:adb start-serverl 把电脑上某个应用(.apk)文件部署到模拟器或手机中: adb install 文件名.apkl 卸载手机上的程序:adb uninstall 包名l 查看当前的targets:android list targetsl 创建一个AVD,要求:名字:Hphone目标平台:Andr

4、oid2.3.2 SD容量:100M位置:c:test外观:WQVGAandroid create avd target 1 n Hphone c 100M p c:test s WQVGAl 列表显示当前所有AVD:android list avdl 运行刚刚建立的AVD:emulator avd Hphonel 删除一个已存在的模拟器:android delete avd n Hphone 5.使用运行(Run)模式运行:设置“RunConfiguration”选项6.练习操作DDMS工具五、实验步骤和方法1、下载JDK1.82、官方下载Eclipse,解压Eclipse3、官方下载And

5、roid SDK(工具)并解压4、运行SDK Manager.exe,下载需要的SDK版本和API5、设置Android环境变量Android_SDK_Home:安装路径增加自动搜索路径环境变量:%ANDROID_SDK_Home%tools:%ANDROID_SDK_Home %platform_tools:6、安装ADT过程:Help-install.newsoforms-add-next-end。7、设置Eclipse中的SDK配置8、创建AVD9、创建Android应用10、运行Android应用。六、实验数据记录:1. MainActivity.java:importandroid.

6、app.Activity;importandroid.os.Bundle;importandroid.widget.TextView;importandroid.widget.Button;publicclassMainActivityextendsActivityOverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);TextViewtextView=(TextView)findViewById(

7、R.id.textView1);Buttonbutton=(Button)findViewById(R.id.button1);2. activity-main.xml 七、测试数据与运行结果及其分析:安装Eclipse,并试验软件是否可用,测试通过,可以用来搭建工程。 八、实验总结和体会这个实验的主要目的是搭建Android 的开发环境,这是学习安卓的第一步,在搭建过程中有很多细节要注意,例如环境变量,还是挺考验细心程度的。在升级Android版本的时候可能会遇到网络问题,需要在avd manager中进行设置,详细步骤在百度中查阅。实验室名称: 计算机实验室 实验机器号: 实验分组: 无

8、实验时间: 2015.10.8 指导教师: 时振涛 实验二:Activity生命周期程序设计一、 实验目的和要求使学生深入了解Android组件的生命周期中各状态的变化关系。通过程序设计,掌握Activity的三种生命周期:全生命周期、可视生命周期和活动生命周期;每种生命周期中包含的不同的事件回调函数,以及它们的作用和调用顺序,深入理解Activity的生命周期过程。二、 实验设备计算机(安装有Android的开发环境Eclipse)三、 实验内容1.实现教材中的项目:建立一个新的Android工程,工程名称:Chp02_ActivityLife,包名称:com.NewActivity,实现两

9、个Activity:NewActivity和SecondActivity。通过观察Logcat中的记录,观察Activity生命周期中事件回调函数的执行过程,并根据下图,解释不同的事件回调函数在Activity的三种生命周期的作用如何。2.建立一个新的Android工程,工程名称:Chp02_ActivityLife2,包名称:com.NewActivity,实现三个Activity:MainActivity、SecondActivity和ThirdActivity。MainActivity界面如下图所示,实现MainActivity到SecondActivity和ThirdActivity的

10、跳转。将AndroidManifest.XML文件中的多个activity都设置为android.intent.action.MAIN和android.intent.category.LAUNCHER,看看会有什么结果,是谁最先启动的?如果在某个activity中不添加android.intent.action.MAIN再看看会有什么影响吗?从中得出什么结论?四、 实验步骤和方法1. 建立新的Android工程。2. 通过在生命周期函数中添加“System.out.println”或“日志点Log.e”的方法进行调试3. 为了显示结果易于观察和分析,在LogCat设置过滤器4. 在程序运行过程

11、,通过点击模拟器上的“返回键”和主键等,在Logcat中观察生命周期中事件回调函数的执行顺序及作用: onSaveInstanceState()onPause()onStop()onRestart()onStart()onResume()5. 按桌面键 在Logcat中观察生命周期:onPause()-onSaveInstanceState()-onStop();6. 记录实验结果并分析五、 实验数据记录1.MainActivity.javapackage com.sunwei.study;public class MainActivity extends AppCompatActivity

12、implements View.OnClickListener Override protected void onStop() super.onStop(); Log.d(TAG, Main-OnStop); Override protected void onDestroy() super.onDestroy(); Log.d(TAG, Main-onDestroy); Override protected void onStart() super.onStart(); Log.d(TAG, Main-onStart); Override protected void onPause()

13、super.onPause(); Log.d(TAG, Main-onPause); Override protected void onRestart() super.onRestart(); Log.d(TAG, Main-onRestart); 2.SecondActivity.javapackage com.sunwei.study;public class SecondActivity extends AppCompatActivity Override protected void onCreate(Bundle savedInstanceState) super.onCreate

14、(savedInstanceState); setContentView(R.layout.activity_second); Override protected void onStop() super.onStop(); Log.d(TAG, Second-OnStop); Override protected void onDestroy() super.onDestroy(); Log.d(TAG, Second-onDestroy); Override protected void onStart() super.onStart(); Log.d(TAG, Second-onStar

15、t); Override protected void onPause() super.onPause(); Log.d(TAG, Second-onPause); Override protected void onRestart() super.onRestart(); Log.d(TAG, Second-onRestart); 3.AndroidManifest.xml 六、 测试数据和实验结果及其分析1. 应用初始界面如下图所示。 点击secondActivity按钮控制台输出如下信息; 点击物理菜单的返回键输出如下信息: 按桌面键输出如下信息: 2.应用程序初始界面如下:七、 实验总

16、结和体会通过这个实验深刻体会到了Activity的生命周期和各个有关函数的执行顺序,只有掌握了这个才会在编写应用的时候应用自如。另外通过对AndroidMainfest.xml文件中intent-filter属性的设置了解了这个属性对应用的重要性。实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015.10.19 指导教师: 时振涛 实验三:Intent、Activity应用一、 实验目的和要求本次实验的目的是让大家熟悉Intent和Activity的使用。了解Intent的组成、功能、解析机制和调用方法。掌握Intent传递数据的方法。二、 实验原理1. 通过Inte

17、nt实现Activity之间的跳转;在Android系统中,应用程序一般都有多个Activity, Intent可以帮助实现不同Activity之间的切换和数据传递。Activity的跳转启动的方式主要有两种,分为显示启动和隐式启动。Activity之间信息传递最基本的实现方式是使用Intent,在使用Intent进行Activity之间的跳转时,通常有三种Intent跳转方式,即:不带参数的跳转、带参数的跳转以及带返回值的跳转,也可以归纳为两种最常见的情形:一种是获取子Activity返回值,另一种传递消息给子Activity。2.通过Bundle在Activity之间传递参数三、 实验设备

18、:计算机(安装有Android的开发环境Eclipse)四、 实验内容1、 建立一个新的Android工程,工程名称:Chp02_IntentProject,Activity名称:MainActivity,SecondActivity,MainActivity的界面如图a,实现:1)当网络可用时提示“网络可用”,当网络不可用时,提示信息“网络不可用”,并跳转到网络设置界面,如图b。2)第一个按钮通过Intent显式启动SecondActivity。3)第二个按钮通过设置Intent的动作,即setAction(intent.ACTION_VIEW)打开百度网页;4)第三个按钮通过Intent隐

19、式启动OtherActivity。5)第四个按钮通过设置Intent的动作,即setAction(intent.ACTION_SENDTO)实现发送短信的功能。2、 SecondActivity的界面如图c,要求点击“百度”可以转入网页,下面显示的网址、邮箱和电话同样可以打开链接。 a b c 实验代码见“实验数据记录”,并将其中“”里的内容补充完整,将实验要求功能实现。然后试着改变按钮监听方式,实现其他方法的监听方式,并将代码和结果附在实验内容里。3、 按照教材中的内容建立工程NeuChp02_IntentExchangeMessage,实现三个Activity,分别为MainActivit

20、y、SecondActivity和ThirdActivity,其中MainActivity为父Activity,获取SecondActivity的返回值,传递信息给ThirdActivity,实现不带参数的跳转、带参数的跳转以及带返回值的跳转。五、 实验步骤和方法1. 根据实验要求建立工程2. 按照实验内容编写代码3. 运行程序并调试4. 改变程序中组件的属性观察它们的变化5. 记录实验结果并分析六、 实验数据记录源代码:1.布局文件: 2MyMainActivity代码public class MainActivity extends AppCompatActivity implements

21、 View.OnClickListener private TextView textView; private Button button1; private Button button2; private Button button3; private Button button4; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextVie

22、w) findViewById(R.id.textView); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button3 = (Button) findViewById(R.id.button3); button4 = (Button) findViewById(R.id.button4); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setO

23、nClickListener(this); button4.setOnClickListener(this); ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null & networkInfo.isConnected() Toast.makeText(thi

24、s, 网络可用, Toast.LENGTH_LONG).show(); else Toast.makeText(this, 网络不可用, Toast.LENGTH_LONG).show(); Intent intent = new Intent(); intent.setClassName(com.android.settings, com.android.settings.Settings); startActivity(intent); Override public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; th

25、is adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; Override protected void onSaveInstanceState(Bundle outState) super.onSaveInstanceState(outState); Log.d(TAG, Main-onSaveInstanceState); Override public void onClick(View v) if (v.getId()

26、 = R.id.button1) Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); if (v.getId() = R.id.button2) Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(); startActivity(intent); if (v.getId() = R.id.button3) Intent intent = new Intent(); intent.setAction(third); startA

27、ctivity(intent); if (v.getId() = R.id.button4) Intent intent=new Intent(); intent.setAction(Intent.ACTION_SENDTO); intent.addCategory(android.intent.category.DEFAULT); intent.setData(Uri.parse(sms:10016); startActivity(intent); 2. OtherActivity代码public class OtherActivity extends Activity Button bt1

28、;ImageButton bt;EditText et;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.twomain);TextView textview1=(TextView)findViewById(R.id.textView1);TextView textview2=(TextView)findViewById(R.id.textVie

29、w2);bt=(ImageButton)findViewById(R.id.imagebutton1);et=(EditText)findViewById(R.id.editText1);bt1=(Button)findViewById(R.id.button1);String html=I love android;html+=I love android;html+=百度;CharSequence chars= Html.fromHtml(html);textview1.setText(chars);textview1.setMovementMethod(LinkMovementMetho

30、d.getInstance();/点击的时候产生超链接String textv=我的URL:n;textv+=我的email:abcdn;textv+=我的电话:+86 0351-2569332;textview2.setText(textv);textview2.setMovementMethod(LinkMovementMethod.getInstance();OnClickListener listeners=new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stu

31、bswitch (v.getId() case R.id.button1:et.setText(我按下了Button按钮!);return;case R.id.imagebutton1:et.setText(我按下了ImageButton按钮!);return;bt1.setOnClickListener(listeners);bt.setOnClickListener(listeners);4. SecondActivity代码public class SecondActivity extends Activity Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.secondmain);TextView textview1 = (TextView) findViewById(R.id.textView1);TextView textview2 = (TextView) findViewById(R.id.textView2);String html=I love android;html+=I l

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服