




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院实 验 报 告课程名称: 嵌入式系统开发专 业: 软件工程班 级: 122002学 号: 201220040224姓 名: 郑鑫 2015年 12 月 19 日实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015年 9月25日 指导教师: 时振涛 实验一:Android 开发环境搭建及调试一、实验目的和要求1. 掌握Android环境搭建方法,创建第一个Android应用程序HelloWorld,熟练掌握设置环境参数2. 了解Android SDK的目录结构、Android应用程序的程序结构3. 创建一个AVD,设置Android模拟器,并会操作Android模拟器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.创建一个简单的”Helloworld”工程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目标平台:Android2.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、官方下载Android 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.app.Activity;importandroid.os.Bundle;importandroid.widget.TextView;importandroid.widget.Button;publicclassMainActivityextendsActivityOverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);TextViewtextView=(TextView)findViewById(R.id.textView1);Buttonbutton=(Button)findViewById(R.id.button1);2. activity-main.xml 七、测试数据与运行结果及其分析:安装Eclipse,并试验软件是否可用,测试通过,可以用来搭建工程。 八、实验总结和体会这个实验的主要目的是搭建Android 的开发环境,这是学习安卓的第一步,在搭建过程中有很多细节要注意,例如环境变量,还是挺考验细心程度的。在升级Android版本的时候可能会遇到网络问题,需要在avd manager中进行设置,详细步骤在百度中查阅。实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015.10.8 指导教师: 时振涛 实验二:Activity生命周期程序设计一、 实验目的和要求使学生深入了解Android组件的生命周期中各状态的变化关系。通过程序设计,掌握Activity的三种生命周期:全生命周期、可视生命周期和活动生命周期;每种生命周期中包含的不同的事件回调函数,以及它们的作用和调用顺序,深入理解Activity的生命周期过程。二、 实验设备计算机(安装有Android的开发环境Eclipse)三、 实验内容1.实现教材中的项目:建立一个新的Android工程,工程名称:Chp02_ActivityLife,包名称:com.NewActivity,实现两个Activity:NewActivity和SecondActivity。通过观察Logcat中的记录,观察Activity生命周期中事件回调函数的执行过程,并根据下图,解释不同的事件回调函数在Activity的三种生命周期的作用如何。2.建立一个新的Android工程,工程名称:Chp02_ActivityLife2,包名称:com.NewActivity,实现三个Activity:MainActivity、SecondActivity和ThirdActivity。MainActivity界面如下图所示,实现MainActivity到SecondActivity和ThirdActivity的跳转。将AndroidManifest.XML文件中的多个activity都设置为ent.action.MAIN和ent.category.LAUNCHER,看看会有什么结果,是谁最先启动的?如果在某个activity中不添加ent.action.MAIN再看看会有什么影响吗?从中得出什么结论?四、 实验步骤和方法1. 建立新的Android工程。2. 通过在生命周期函数中添加“System.out.println”或“日志点Log.e”的方法进行调试3. 为了显示结果易于观察和分析,在LogCat设置过滤器4. 在程序运行过程,通过点击模拟器上的“返回键”和主键等,在Logcat中观察生命周期中事件回调函数的执行顺序及作用: onSaveInstanceState()onPause()onStop()onRestart()onStart()onResume()5. 按桌面键 在Logcat中观察生命周期:onPause()-onSaveInstanceState()-onStop();6. 记录实验结果并分析五、 实验数据记录1.MainActivity.javapackage com.sunwei.study;public class MainActivity extends AppCompatActivity 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() 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(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-onStart); 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.应用程序初始界面如下:七、 实验总结和体会通过这个实验深刻体会到了Activity的生命周期和各个有关函数的执行顺序,只有掌握了这个才会在编写应用的时候应用自如。另外通过对AndroidMainfest.xml文件中intent-filter属性的设置了解了这个属性对应用的重要性。实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015.10.19 指导教师: 时振涛 实验三:Intent、Activity应用一、 实验目的和要求本次实验的目的是让大家熟悉Intent和Activity的使用。了解Intent的组成、功能、解析机制和调用方法。掌握Intent传递数据的方法。二、 实验原理1. 通过Intent实现Activity之间的跳转;在Android系统中,应用程序一般都有多个Activity, Intent可以帮助实现不同Activity之间的切换和数据传递。Activity的跳转启动的方式主要有两种,分为显示启动和隐式启动。Activity之间信息传递最基本的实现方式是使用Intent,在使用Intent进行Activity之间的跳转时,通常有三种Intent跳转方式,即:不带参数的跳转、带参数的跳转以及带返回值的跳转,也可以归纳为两种最常见的情形:一种是获取子Activity返回值,另一种传递消息给子Activity。2.通过Bundle在Activity之间传递参数三、 实验设备:计算机(安装有Android的开发环境Eclipse)四、 实验内容1、 建立一个新的Android工程,工程名称:Chp02_IntentProject,Activity名称:MainActivity,SecondActivity,MainActivity的界面如图a,实现:1)当网络可用时提示“网络可用”,当网络不可用时,提示信息“网络不可用”,并跳转到网络设置界面,如图b。2)第一个按钮通过Intent显式启动SecondActivity。3)第二个按钮通过设置Intent的动作,即setAction(intent.ACTION_VIEW)打开百度网页;4)第三个按钮通过Intent隐式启动OtherActivity。5)第四个按钮通过设置Intent的动作,即setAction(intent.ACTION_SENDTO)实现发送短信的功能。2、 SecondActivity的界面如图c,要求点击“百度”可以转入网页,下面显示的网址、邮箱和电话同样可以打开链接。 a b c 实验代码见“实验数据记录”,并将其中“”里的内容补充完整,将实验要求功能实现。然后试着改变按钮监听方式,实现其他方法的监听方式,并将代码和结果附在实验内容里。3、 按照教材中的内容建立工程NeuChp02_IntentExchangeMessage,实现三个Activity,分别为MainActivity、SecondActivity和ThirdActivity,其中MainActivity为父Activity,获取SecondActivity的返回值,传递信息给ThirdActivity,实现不带参数的跳转、带参数的跳转以及带返回值的跳转。五、 实验步骤和方法1. 根据实验要求建立工程2. 按照实验内容编写代码3. 运行程序并调试4. 改变程序中组件的属性观察它们的变化5. 记录实验结果并分析六、 实验数据记录源代码:1.布局文件: 2MyMainActivity代码public class MainActivity extends AppCompatActivity implements 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 = (TextView) 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.setOnClickListener(this); button4.setOnClickListener(this); ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null & networkInfo.isConnected() Toast.makeText(this, 网络可用, 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; this 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() = 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); startActivity(intent); if (v.getId() = R.id.button4) Intent intent=new Intent(); intent.setAction(Intent.ACTION_SENDTO); intent.addCategory(ent.category.DEFAULT); intent.setData(Uri.parse(sms:10016); startActivity(intent); 2. OtherActivity代码public class OtherActivity extends Activity Button bt1;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.textView2);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(LinkMovementMethod.getInstance();/点击的时候产生超链接String textv=我的URL:n;textv+=我的email:n;textv+=我的电话:+86textview2.setText(textv);textview2.setMovementMethod(LinkMovementMethod.getInstance();OnClickListener listeners=new OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubswitch (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 love android;html+=百度;CharSequence chars= Html.fromHtml(html);textview1.setText(chars);textview1.setMovementMethod(LinkMovementMethod.getInstance();/点击的时候产生超链接String textv=我的URL:n;textv+=我的email:n;textv+=我的电话:+86textview2.setText(textv);textview2.setMovementMethod(LinkMovementMethod.getInstance();5.AndroidManifests.xml 七、 测试数据和实验结果及其分析八、实验总结和体会这个实验中主要学习的是Android中的重要组件Intent,其中包括Intent的显示调用、隐式调用和数据传递,在这次实验中遇到了很多课堂上没有注意的问题,通过查阅资料和请教老师一个个的都解决了,这次实验不仅练习了老师讲的知识了,而且在编译器上调试错误的的能力也有了提高。实验室名称: 计算机实验室 实验机器号: 实验分组: 无 实验时间: 2015.10.28 指导教师: 时振涛 实验四:Android 用户界面设计(一)一、 实验目的和要求本实验的目的是使学生深入了解Android程序框架结构、了解和掌握Android界面设计和界面编程。通过程序设计,掌握常用界面控件、菜单、以及界面事件的响应。二、 实验原理1、Menu类一个Men对象代表一个菜单。在Menu对象中可以添加菜单项MenuItem,也可以添加子菜单SubMenu。2、MenuItem类一个MenuItem对象代表一个菜单项,通过Menu类的add()方法,可以将MenuItem加入到Menu中。3、SubMenu类继承于Menu类,一个SubMenu对象代表一个子菜单。4、使用Adapter适配器来进行基本的ListView设计。三、 实验设备:计算机(安装有Android的开发环境Eclipse)四、 实验内容:完成Android应用程序建立及界面处理技术,包括以下内容:l Android应用层程序建立l 界面布局及控件添加l 菜单添加选项菜单及上下文菜单l 消息处理l Array Adapter使用实现提示1.建立Android应用程序框架2.添加控件 EditText负责输入“工作项目”;ListView负责显示“工作列表”3.定义ArrayList,并通过ArrayAdapter将ListView与ArrayList相关联4.添加选项菜单,(参见图1和图2) a. 当EditText控件Visible时,有两个菜单项,“添加项目”和“取消添加”。其中添加项目将EditText内容添加到ListView中,“取消项目”将EditText隐藏 b. 当EditText控件隐藏时,有一个菜单项,及“添加菜单”项,当按下该菜单时,EditText由隐藏状态改为显示状态5.为EditText添加按键事件(D-pad键)监听器,当按下该键时,EditText内容添加到“工作列表”中6. 为ListView添加上下文菜单,当长按ListView某一项时,跳出上下文菜单,提示用户可以删除该项目选项菜单D-PadEventCode: KEYCODE_DPAD_CENTEREventType:ACTION_DOWNListViewEditText图1ListView注册上下文菜单,长按listView某一项时,弹出菜单,用户可以删除该项目点击“Cancel”后,EditText控件消失。再点击菜单键,仅有“AddNewItem”菜单项五、 实验步骤和方法1、建立Android工程,其中工程名称:TodoList。2、工程建立完毕后,进行相应界面设计,再编写Java文件1)添加控件EditText,负
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法治思想面试题及答案
- 护士交班考试题及答案
- 乡镇副职面试题及答案
- 预防感冒面试题及答案
- 恐惧死亡测试题及答案
- 家电公司法律事务管理办法
- 家电公司声誉风险管理规定
- 2.4圆周角(第1课时圆周角定理)(教学课件)数学苏科版九年级上册
- 保安执勤装备使用课件
- 保安岗位知识培训课件
- GB/T 13477.17-2017建筑密封材料试验方法第17部分:弹性恢复率的测定
- 送达地址确认书(完整版)
- 四川滑雪场商业综合体设计方案文本含个方案 知名设计院
- 日立电梯常用零配件价格清单
- 单位人事证明(共7篇)
- 水泵设备单机试运转记录
- 保密管理-公司涉密人员保密自查表
- 日常安全检查记录
- 速成意大利语(上)
- 压型钢板组合楼板设计计算表格
- Q∕SY 1535-2012 海底管道混凝土配重层技术规范
评论
0/150
提交评论