嵌入式系统开发实验报告文档格式.docx
《嵌入式系统开发实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发实验报告文档格式.docx(62页珍藏版)》请在冰豆网上搜索。
![嵌入式系统开发实验报告文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/15/2274a43a-5b44-45d8-89a9-84677a29ace9/2274a43a-5b44-45d8-89a9-84677a29ace91.gif)
1.PC计算机
2.JDK安装包
3.Eclipse安装包
4.Android
SDK安装包
5.ADT插件
四、实验内容
初步了解android
project建立过程以及如何运行模拟器,对android的运行原理进行简单了解;
1.搭建配置Eclipse+Android开发环境
2.创建一个简单的”Helloworld”工程
3.设置Android模拟器:
创建新的模拟器
4.用命令行工具执行如下操作实现文件操作和管理模拟器:
●拷贝文件到手机内存:
adbpush源文件[/位置/目标文件]
●拷贝手机文件到电脑上:
adbpull[源文件][目标文件]
●修正:
adbkill-server
●重启:
adbstart-server
●把电脑上某个应用(.apk)文件部署到模拟器或手机中:
adbinstall文件名.apk
●卸载手机上的程序:
adbuninstall[包名]
●查看当前的targets:
androidlisttargets
●创建一个AVD,要求:
名字:
Hphone目标平台:
Android2.3.2SD容量:
100M位置:
c:
\test外观:
WQVGA
androidcreateavd–target1–nHphone–c100M–pc:
\test–sWQVGA
●列表显示当前所有AVD:
androidlistavd
●运行刚刚建立的AVD:
emulator–avdHphone
●删除一个已存在的模拟器:
androiddeleteavd–nHphone
5.使用运行(Run)模式运行:
设置“Run
Configuration…”选项
6.练习操作DDMS工具
五、实验步骤和方法
1、下载JDK1.8
2、官方下载Eclipse,解压Eclipse
3、官方下载AndroidSDK(工具)并解压
4、运行SDKManager.exe,下载需要的SDK版本和API
5、设置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、创建AVD
9、创建Android应用
10、运行Android应用。
六、实验数据记录:
1.MainActivity.java:
import
android.app.Activity;
android.os.Bundle;
android.widget.TextView;
android.widget.Button;
public
class
MainActivity
extends
Activity
{
@Override
void
onCreate(Bundle
savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView
textView=(TextView)findViewById(R.id.textView1);
Button
button
=
(Button)findViewById(R.id.button1);
}}
2.activity-main.xml
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
manifestxmlns:
android="
"
package="
com.example.activity_demo"
android:
versionCode="
1"
versionName="
>
<
uses-sdk
minSdkVersion="
8"
targetSdkVersion="
18"
/>
application
allowBackup="
true"
icon="
@drawable/ic_launcher"
label="
@string/app_name"
theme="
@style/AppTheme"
activity
name="
com.example.activity_demo.MainActivity"
intent-filter>
actionandroid:
android.intent.action.MAIN"
categoryandroid:
android.intent.category.LAUNCHER"
/intent-filter>
/activity>
/application>
/manifest>
七、测试数据与运行结果及其分析:
安装Eclipse,并试验软件是否可用,测试通过,可以用来搭建工程。
八、实验总结和体会
这个实验的主要目的是搭建Android的开发环境,这是学习安卓的第一步,在搭建过程中有很多细节要注意,例如环境变量,还是挺考验细心程度的。
在升级Android版本的时候可能会遇到网络问题,需要在avdmanager中进行设置,详细步骤在XX中查阅。
2015.10.8指导教师:
实验二:
生命周期程序设计
一、实验目的和要求
使学生深入了解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都设置为android.intent.action.MAIN和android.intent.category.LAUNCHER,看看会有什么结果,是谁最先启动的?
如果在某个activity中不添加android.intent.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.java
packagecom.sunwei.study;
publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{
@Override
protectedvoidonStop(){
super.onStop();
Log.d("
TAG"
"
Main-OnStop"
);
}
protectedvoidonDestroy(){
super.onDestroy();
Main-onDestroy"
protectedvoidonStart(){
super.onStart();
Main-onStart"
protectedvoidonPause(){
super.onPause();
Main-onPause"
protectedvoidonRestart(){
super.onRestart();
Main-onRestart"
}
2.SecondActivity.java
publicclassSecondActivityextendsAppCompatActivity{
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Second-OnStop"
Second-onDestroy"
Second-onStart"
Second-onPause"
Second-onRestart"
3.AndroidManifest.xml
com.sunwei.study"
@mipmap/ic_launcher"
.MainActivity"
.SecondActivity"
@string/title_activity_second"
.ThirdActivity"
@string/title_activity_third"
六、测试数据和实验结果及其分析
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)打开XX网页;
4)第三个按钮通过Intent隐式启动OtherActivity。
5)第四个按钮通过设置Intent的动作,即setAction(intent.ACTION_SENDTO)实现发送短信的功能。
2、SecondActivity的界面如图c,要求点击“XX”可以转入网页,下面显示的网址、邮箱和电话同样可以打开链接。
abc
实验代码见“实验数据记录”,并将其中“……”里的内容补充完整,将实验要求功能实现。
然后试着改变按钮监听方式,实现其他方法的监听方式,并将代码和结果附在实验内容里。
3、按照教材中的内容建立工程NeuChp02_IntentExchangeMessage,实现三个Activity,分别为MainActivity、SecondActivity和ThirdActivity,其中MainActivity为父Activity,获取SecondActivity的返回值,传递信息给ThirdActivity,实现不带参数的跳转、带参数的跳转以及带返回值的跳转。
五、实验步骤和方法
1.根据实验要求建立工程
2.按照实验内容编写代码
3.运行程序并调试
4.改变程序中组件的属性观察它们的变化
5.记录实验结果并分析
六、实验数据记录
源代码:
1.布局文件:
LinearLayoutxmlns:
xmlns:
tools="
layout_width="
match_parent"
layout_height="
orientation="
vertical"
tools:
context="
com.example.testhello.MyMainActivity"
TextView
wrap_content"
text="
Button
id="
@+id/button1"
onClick="
click"
激活显示意图"
/Button>
@+id/button2"
click1"
激活网页(隐式意图1)"
……>
@+id/button4"
click4"
发送短信"
/LinearLayout>
2.MyMainActivity代码
privateTextViewtextView;
privateButtonbutton1;
privateButtonbutton2;
privateButtonbutton3;
privateButtonbutton4;
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);
ConnectivityManagerconnectivityManager=(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
NetworkInfonetworkInfo=connectivityManager.getActiveNetworkInfo();
if(networkInfo!
=null&
&
networkInfo.isConnected()){
Toast.makeText(this,"
网络可用"
Toas