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

上传人:b****7 文档编号:8982738 上传时间:2023-02-02 格式:DOCX 页数:74 大小:1.97MB
下载 相关 举报
嵌入式系统开发实验报告.docx_第1页
第1页 / 共74页
嵌入式系统开发实验报告.docx_第2页
第2页 / 共74页
嵌入式系统开发实验报告.docx_第3页
第3页 / 共74页
嵌入式系统开发实验报告.docx_第4页
第4页 / 共74页
嵌入式系统开发实验报告.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

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

《嵌入式系统开发实验报告.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发实验报告.docx(74页珍藏版)》请在冰豆网上搜索。

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

嵌入式系统开发实验报告

 

计算机学院

 

实验报告

 

课程名称:

嵌入式系统开发

专业:

软件工程

班级:

122002

学号:

201220040224

姓名:

郑鑫

 

2015年12月19日

实验室名称:

计算机实验室实验机器号:

实验分组:

实验时间:

2015年9月25日指导教师:

时振涛

实验一:

Android开发环境搭建及调试

一、实验目的和要求

1.掌握Android环境搭建方法,创建第一个Android应用程序HelloWorld,熟练掌握设置环境参数

2.了解AndroidSDK的目录结构、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.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;

import android.os.Bundle; 

import android.widget.TextView; 

import android.widget.Button;  

public class MainActivity extends Activity {  

  @Override 

  public 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"?

>

android="

package="com.example.activity_demo"

android:

versionCode="1"

android:

versionName="1.0">

android:

minSdkVersion="8"

android:

targetSdkVersion="18"/>

android:

allowBackup="true"

android:

icon="@drawable/ic_launcher"

android:

label="@string/app_name"

android:

theme="@style/AppTheme">

android:

name="com.example.activity_demo.MainActivity"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

七、测试数据与运行结果及其分析:

安装Eclipse,并试验软件是否可用,测试通过,可以用来搭建工程。

 

八、实验总结和体会

这个实验的主要目的是搭建Android的开发环境,这是学习安卓的第一步,在搭建过程中有很多细节要注意,例如环境变量,还是挺考验细心程度的。

在升级Android版本的时候可能会遇到网络问题,需要在avdmanager中进行设置,详细步骤在XX中查阅。

实验室名称:

计算机实验室实验机器号:

实验分组:

实验时间:

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都设置为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");

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

Log.d("TAG","Main-onDestroy");

}

@Override

protectedvoidonStart(){

super.onStart();

Log.d("TAG","Main-onStart");

}

@Override

protectedvoidonPause(){

super.onPause();

Log.d("TAG","Main-onPause");

}

@Override

protectedvoidonRestart(){

super.onRestart();

Log.d("TAG","Main-onRestart");

}

}

2.SecondActivity.java

packagecom.sunwei.study;

publicclassSecondActivityextendsAppCompatActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_second);

}

@Override

protectedvoidonStop(){

super.onStop();

Log.d("TAG","Second-OnStop");

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

Log.d("TAG","Second-onDestroy");

}

@Override

protectedvoidonStart(){

super.onStart();

Log.d("TAG","Second-onStart");

}

@Override

protectedvoidonPause(){

super.onPause();

Log.d("TAG","Second-onPause");

}

@Override

protectedvoidonRestart(){

super.onRestart();

Log.d("TAG","Second-onRestart");

}

}

3.AndroidManifest.xml

xmlversion="1.0"encoding="utf-8"?

>

android="

package="com.sunwei.study">

android:

allowBackup="true"

android:

icon="@mipmap/ic_launcher"

android:

label="@string/app_name"

android:

theme="@style/AppTheme">

android:

name=".MainActivity"

android:

label="@string/app_name">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

android:

name=".SecondActivity"

android:

label="@string/title_activity_second">

android:

name=".ThirdActivity"

android:

label="@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.布局文件:

android="

xmlns:

tools="

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="vertical"

tools:

context="com.example.testhello.MyMainActivity">

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="@string/app_name"/>

android:

id="@+id/button1"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

onClick="click"

android:

text="激活显示意图">

android:

id="@+id/button2"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

onClick="click1"

android:

text="激活网页(隐式意图1)">

……>

android:

id="@+id/button4"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

onClick="click4"

android:

text="发送短信">

2.MyMainActivity代码

publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{

privateTextViewtextView;

privateButtonbutton1;

privateButtonbutton2;

privateButtonbutton3;

privateButtonbutton4;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

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);

ConnectivityManagerconnectivityManager=(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);

NetworkInfo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1