西工大移动计算大实验报告.docx
《西工大移动计算大实验报告.docx》由会员分享,可在线阅读,更多相关《西工大移动计算大实验报告.docx(15页珍藏版)》请在冰点文库上搜索。
西工大移动计算大实验报告
《移动计算》实验报告
实验题目:
AndroidSDK开发环境及应用
HelloWorld应用程序的编写
WIFI网络和蓝牙的支持
GPS的支持
摄像头的支持
SQLite
拓展实验:
自我介绍APP的设计
组员:
实验日期:
2013年10月28日
2013年10月30日
CATALOG
◎实验题目:
3
◎实验目的:
3
◎实验设备:
3
◎实验内容:
4
◎实验步骤:
4
一、配置AndroidSDK开发环境4
二、HelloWorld应用程序的编写4
三、WIFI网络和蓝牙的支持5
四、GPS的支持6
五、摄像头的支持6
六、SQLite6
七、拓展实验:
自我介绍APP的设计11
◎实验总结:
14
◎实验题目:
1、AndroidSDK开发环境及应用;
2、HelloWorld应用程序的编写;
3、WIFI网络和蓝牙的支持;
4、GPS的支持;
5、摄像头的支持;
6、SQLite;
7、拓展实验:
自我介绍APP的设计。
◎实验目的:
1、了解WindowsXP下进行AndroidSDK开发环境;
2、掌握AndroidSDK开发环境的安装和配置;
3、熟悉和了解Eclipse开发环境;
4、掌握在Eclipse开发环境下新建Android应用工程及运行Android应用程序的方法;
5、理解无线局域网WIFI的工作原理;
6、掌握无线局域网WIFI的使用;
7、掌握Android驱动程序的架构以及编写方法;
8、理解GPS定位系统的工作原理;
9、掌握GPS定位系统的使用;
10、掌握Android驱动程序的架构以及编写方法;
11、掌握Android系统摄像头的使用;
12、了解Android操作系统下处理数据的存储和检索的4种机制;
13、掌握Android操作系统下应用程序间共享数据的方式;
14、掌握Android操作系统的内容提供器机制。
◎实验设备:
1、硬件:
EMB9G45开发平台、PC机;
2、软件:
WindowsXP,JavaEclipse集成开发环境,Embubuntu、其他嵌入式软件包。
◎实验内容:
1、对AndroidSDK开发环境进行安装配置;
2、在EMB9G45开发平台上运行Android应用程序;
3、配置无线局域网络;
4、实现蓝牙搜索以及连接;
5、使用GPS定位系统实现地图定位导航;
6、使用Android系统的摄像头;
7、编写程序测试Android操作系统处理数据存储和检索的4种机制并利用内容提供器方法(ContentProviders)来实现各应用程序间数据的共享。
◎实验步骤:
一、配置AndroidSDK开发环境
1、安装JDK1.6、Eclipse以及AndroidSDK;
2、配置环境变量,在系统变量Path中加入JDK1.6\bin以及SDK\tools的路径;
3、配置Android的SDK路径,运行Eclipse,Window->Preferences->Android->AndroidSDKLocation->SDKLocation中添加SDK的绝对路径。
二、HelloWorld应用程序的编写
1、运行Eclipse,新建AndroidProject,工程名为“HelloWorld”,应用程序名为“HelloWorld”,工程包命名为“com.HelloWorld”,同时MinSDKVersion选为7;
2、建立AVD模拟器,点击菜单栏的Windows->AndroidSDKandAVDManager,在出现的界面中点击右上角的New按钮;
3、输入命名AVD为“AVD1”,同时Target选择为Android2.1-update1-APILevel7;
4、在AVD模拟器上运行程序,此时EMB9G45开发平台并未与PC机相连,右键单击Eclipse左边空白处的HelloWorld工程,选择RunAs->AndroidApplication,此时系统会自动弹出一个类似于手机的界面,并且显示如下图1界面,则表示HelloWorld工程运行成功;
图1
5、启动EMB9G45开发平台,并将平台与PC机相连,运行右键单击上述所建立的HelloWorld工程,选择RunAs->AndroidApplication,待EMB9G45开发平台上出现如下图2界面表示HelloWorld工程运行成功。
图2
三、WIFI网络和蓝牙的支持
1、将WIFI模块与蓝牙模块连接在平台的相应接口处;
2、点击主界面中的设置按钮,进入到系统设置界面,点击无线和网络设置进入相应界面;
3、点击菜单->设置->无线和网络->WiFi选项,打开WiFi;
图3
4、通过WIFI上网,WIFI设置成功后,可以在Android主界面右上角消息栏看到WIFI的图标,此时可以浏览网页;
5、选择蓝牙设置,此时进入可以打开蓝牙,并搜索到附近的蓝牙设备,完成实验。
四、GPS的支持
1、把GPS卫星定位模块连接EMB9G45开发平台的相应接口上,GPS天线连接好,天线的另一头放窗外,将供电/开机控制排线连接好;
2、启动Android系统,进入主菜单,选择GPS定位的应用程序。
五、摄像头的支持
1、把无线Camera模块连接于EMB9G45开发平台的相应接口上;
2、打开平台,插入SD卡,在系统菜单中打开照相机应用程序。
六、SQLite
1、利用共享优先数据存取方法来存储和读取优先数据,将范例程序SharedPreferencesEx01导入到JavaEclipse集成开发环境中,并进行编译,然后将生成的.apk文件下载到实验箱中;
2、进入到对应的应用程序界面,如下图4所示;
图4
3、在相应的编辑框内写入对应的数值,单击“Write”按钮会马上存储优先数据到系统文件上,如下图5所示;
图5
4、单击“Clear”按钮,就可以清除字段上的5类变量类型的数据,如下图6;
图6
5、如果想要再取得已经存储的优先数据时,只需要再单击“Read”按钮,就可以正确地读取优先数据,如下图7所示;
图7
6、将范例程序SharedPreferencesEx02导入到JavaEclipse集成开发环境中,并进行编译,然后将生成的.apk文件下载到实验箱中;
7、进入到利用共享优先数据方法在离开时存储数据的应用程序界面,如下图8所示,在相应编辑框内输入相应数据;
图8
8、按返回键,应用程序会在其退出时保存刚刚写入的数据,以便下次启动时能够直接读取此数据值,如下图9所示。
图9
9、再次启动此程序,会发现此应用程序再启动时就会读取上次存储的数据;
10、利用SQLite数据库添加、更新、删除和检索方法来处理和存储数据,将范例程序SQLiteTest导入到JavaEclipse集成开发环境中,并进行编译,然后将生成的.apk文件下载到实验箱中;
11、启动相应的应用程序,在相应的编辑框内输入相应的内容后,单击“add”按钮,在下次启动该应用程序时,就可以通过下拉列表来查询相应的内容了,同时会显示该笔数据的相关信息,如图10所示。
图10
12、如果想删掉一笔数据,直接单击“Delete”按钮就可以完成,如图11;
图11
13、如果想要更新该行数据,在输入字段上修改后,单击“Update”按钮就可以完成,要添加一行新的数据时,可以先单击“Clear”按钮,清空所有输入字段,键入新的数据后,单击“Add”按钮就可以完成;
14、当有大量输入数据时,建立一个SQLite数据库并将所有数据保存入库,并对关联数据库进行检索,将范例程序SQLite导入到JavaEclipse集成开发环境中,进行编译,然后将生成的.apk文件下载到实验箱中;
15、启动相应的应用程序,进入其界面,如图12所示;
图12
16、单击下拉列表时,会跳出一个下拉查询表,单击相应的选项后,会显示该行数据的学号和姓名,同时该学生所选的课目会显示在表显示栏上,如图13所示;
图13
此范例程序中关联数据库里有两个表studentsTable和courseTable,studentsTable有两个字段user_no和user_name,在studentsTable表内user_no是唯一的主键,coursesTable有两个字段user_no和courses_name,在coursesTable内可以具有多行数据都有相同的user_no。
coursesTable表对studentsTable表是多对一的关系;
17、利用内容提供器(ContentProvider)来公开数据,将范例程序ProvideTest导入到JavaEclipse集成开发环境中,进行编译,将生成的.apk文件下载到实验箱中;
18、启动该应用程序,进入相应界面,如图14所示,该范例建立了一个SQLite数据库系统来存储和管理数据,同时利用SQLiteOpenHelper类协助建立数据库和SQLiteDatebase类来管理数据库,其直接在应用程序内生成测试用的数据,然后检索存储在数据库内的所有行,并用列表字段显示出来。
图14
七、拓展实验:
自我介绍APP的设计
1、main.xml文件的配置:
xmlversion="1.0"encoding="utf-8"?
>
android="
android:
orientation="vertical"
android:
layout_height="fill_parent"
android:
layout_width="wrap_content"
android:
background="src=drawable/intro.jpg">
id="@+id/TextView01"android:
layout_width="wrap_content"android:
layout_height="wrap_content"android:
text="@string/app_fullname">
id="@+id/EditText01"android:
layout_height="wrap_content"android:
layout_width="fill_parent">
id="@+id/TextView02"android:
layout_width="wrap_content"android:
layout_height="wrap_content"android:
text="@string/app_mobile">
id="@+id/EditText02"android:
layout_height="wrap_content"android:
layout_width="fill_parent">
其中将命名intro.jpg的图片文件放在res/drawable-hdpi的文件加下,配置main.xml文件完成;
2、src文件的配置:
packagecom.example.android.preference02;
importandroid.app.Activity;
importandroid.content.SharedPreferences;
importandroid.os.Bundle;
importandroid.widget.EditText;
importandroid.widget.Toast;
publicclassSharedPreferencesEx02extendsActivity{
//SharedPreferencesEx02主程序
publicstaticfinalStringSETTING_FILE="SETTING_File";//定义SharedPreferences內容文件名
publicstaticfinalStringNAME_MSG="Name_Msg";//定义字符串变量-1
publicstaticfinalStringMOBILE_MSG="Mobile_Msg";//定义字符串变量-2
privateEditTextmEditText01;
privateEditTextmEditText02;
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEditText01=(EditText)findViewById(R.id.EditText01);
mEditText02=(EditText)findViewById(R.id.EditText02);
//开机时,自SETTING_FILE內容文件取得NAME_MSG、MOBILE_MSG,并显示在EditText01和EditText02
SharedPreferencessettings=getSharedPreferences(SETTING_FILE,0);
Stringname_msg=settings.getString(NAME_MSG,"");
Stringmobile_msg=settings.getString(MOBILE_MSG,"");
mEditText01.setText(name_msg);
mEditText02.setText(mobile_msg);
}
@Override
protectedvoidonStop(){
super.onStop();
Toast.makeText(this,"onStop():
SharedPreferences存储NAME_MSG、MOBILE_MSG到SETTING_FILE",Toast.LENGTH_SHORT).show();
//离开时,在onStop()程序中存放NAME_MSG、MOBILE_MSG到SETTING_FILE內容文件
SharedPreferencessettings=getSharedPreferences(SETTING_FILE,0);
settings.edit()
.putString(NAME_MSG,mEditText01.getText().toString())
.putString(MOBILE_MSG,mEditText02.getText().toString())
.commit();
}
}
其中在该文件的OnCreat()方法中添加sharedPreference的存取操作,将内容从SharedPreference中读取并显示到EditText中;在OnStop()方法中,做保存EditText内容的操作。
◎实验总结:
本次实验是我们首次接触到Android编程以及移动设备的开发,在实验中遇到了不少问题。
由于不熟悉Android编程环境,首先在环境配置上就耗费了很多时间,先是因为AndroidSDK的原因没有配置好环境变量,后来由于ADT插件的原因没能在Eclipse上配置好Android开发的环境,后来都一一解决了这些问题,收获了一些平常没有接触过的知识。
配置好环境,后面的实验就很顺利的解决。
虽然过程十分坎坷,但是本次实验却收获不少,不经接触了EMB9G45开发平台还了解了一些Android在Eclipse平台上开发的知识。
在第二次的实验中用到了Android编程的技术,由于对JAVA语言非常不熟练,因此在编程过程中遇到了一些问题。
首先不了解SharedPreference的操作,因此上网查找了相关的文档,也模仿者写了一些程序;其次,在xml文件的配置中,由于不当的引用图片,遇到了不少的错误。
但是实验过程中不断的上网查资料同时也是一个非常不错的学习的过程,虽然最后完成的实验结果不是很完美,但是在其中确实了解了不少新的知识。