基于android开发实验报告总结.docx
《基于android开发实验报告总结.docx》由会员分享,可在线阅读,更多相关《基于android开发实验报告总结.docx(32页珍藏版)》请在冰豆网上搜索。
基于android开发实验报告总结
基于android开发实验报告总结
组员:
指导老师:
2016.12.15
实验一Android开发环境的搭建
1实验目的及要求
1.搭建Eclipse+Android开发平台
2.创建简单的Android应用程序
3.创建Activity并利用intent的实现Activity的跳转
2实验设备(环境)及要求
1)PC计算机
2)JDK安装包
3)Eclipse安装包
4)AndroidSDK安装包
5)ADT插件
3实验内容
1)搭建Eclipse+Android开发环境
2)创建一个简单的”helloworld”工程
3)创建两个Activity,实现简单的Activity之间的参数传递
4实验步骤
1)下载安装JDK1.6,配置环境变量,如果所示。
5实验核心代码(关键代码),及调试中的问题
1.MainActivity.java
packagecom.example.app;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.View;
importandroid.widget.Button;
publicclassMainActivityextendsActivity{
privateButtonbutton;
privatemyappma;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)this.findViewById(R.id.button);
button.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODO自动生成的方法存根
ma=(myapp)getApplication();
ma.setName("张天爱");
Intentintent=newIntent(MainActivity.this,other.class);
startActivity(intent);
}
});
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
}
2.myapp.java
packagecom.example.app;
importandroid.app.Application;
importandroid.os.Bundle;
publicclassmyappextendsApplication{
privateStringname;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
@Override
publicvoidonCreate(){
//TODO自动生成的方法存根
super.onCreate();
setName("邓超");
}
}
other.java
publicclassotherextendsActivity{
privateTextViewtextview;
privatemyappma;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
textview=(TextView)this.findViewById(R.id.text);
ma=(myapp)getApplication();
textview.setText("---->appname"+ma.getName());
}
}
6实验的运行结果及分析
实验二渐进AndroidUI设计
1实验目的
掌握各Android布局设计,熟悉各Android资源、控件使用。
2实验要求
按要求设计一个Android活动窗体,使用一定的技术,实现其功能。
3实验设备(环境)及要求
1)PC计算机
2)JDK安装包
3)Eclipse安装包
4)AndroidSDK安装包
5)ADT插件
4实验内容
设计一线型布局窗口,根据输入的身高和体重,计算BMI值。
其中所用到的字符串和数值尽可能预先建立资源。
(1)进入Eclipse开发环境
单击桌面上Eclipse快捷键,打开Eclipse环境。
(2)创建项目
单击“File”菜单下的“New”菜单项中的“AndroidApplicationProject”子菜单项,在“NewAndroidApplication”对话框中的ApplicationName文本框中输入app2_1,单击Next按钮,在出现的新的对话框中都单击Next按钮,最后一个对话框单击Finish按钮,进入设计窗体。
(3)新建字符串资源
单击左边列表中res文件夹,单击其下的values文件夹,双击其下的strings.xml文件,在右边的AndroidResources对话框中单击Add按钮,选择string,在Name和Value*编辑框中输入字符串名和字符串值,如图
或者直接在单击“string.xml”标签,在程序编辑器中直接输入黄色部分:
xmlversion="1.0"encoding="utf-8"?
>
app2_1
Settings
Helloworld!
BMI计算器
男
女
身高(cm)
体重(kg)
计算BMI值
你还没有输入资料!
(4)设计布局
首先,单击左边文件夹列表中的res文件夹,再单击其下的layout文件夹,双击其下的activity_main.xml文件。
单击activity_main.xml标签,进入代码界面,将其中所有代码删除。
单击GraphicalLayout标签,单击Layouts导航条,从中选择LinearLayout(vertical)组件图标,拖曳至右边。
如图。
(5)添加控件
将FormWidgets等控件列表中的控件拖曳到可视设计窗口中。
分别往窗体中添加3个TextView控件textView1~textView3、1个RadioGroup(含2个RadioButton控件radio0~radio1、2个EditText控件editText1~editText2和1个Button控件button1。
(6)设置控件属性
控件属性设置如表所示。
控件属性设置
组件
属性值
textView1
android:
text="@string/appname"
radioGroup
android:
layout_gravity="center"
android:
orientation="horizontal"
radio0
android:
text="@string/sex1"
radio1
android:
text="@string/sex2"
editText1
android:
inputType="numberDecimal|numberSigned"
editText2
android:
inputType="numberDecimal|numberSigned"
textView2
android:
text="@string/hight"
textView3
android:
text="@string/weight"
button1
android:
text="@string/count"
设置完控件属性后,窗体中控件及其布局如图所示。
(7)添加并编写控件事件代码
单击左边src文件夹,单击其下的com.example.app2_1,单击其下的MainActivity.java文件,进入编码界面。
输入黄色底色的代码:
packagecom.example.app2_1;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Buttonbt=(Button)findViewById(R.id.button1);
bt.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewarg0){
//TODOAuto-generatedmethodstub
EditTexth=(EditText)findViewById(R.id.editText1);
Stringh1=h.getText().toString();
doublehh;
if("".equals(h1)){
hh=0;
}
else{
hh=Double.valueOf(h1);
}
EditTextw=(EditText)findViewById(R.id.editText2);
Stringw1=w.getText().toString();
doubleww;
if("".equals(w1)){
ww=0;
}
else{
ww=Double.valueOf(w1);
}
if(ww==0||hh==0){
Toastmessage=Toast.makeText(MainActivity.this,R.string.hint,Toast.LENGTH_SHORT);
message.show();
}else
{
Doublebmi=ww/(hh*hh/10000);
Stringbmistr=bmi.toString();
Toastmessage=Toast.makeText(MainActivity.this,bmistr,Toast.LENGTH_SHORT);
message.show();
}
}
});
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
}
5.实验结果
在运行前,先单击工具栏中“
”(AVDManager)图标,打开AVD管理器,在已存在的AVD列表中选择一AVD,单击Start按钮,进入Android虚拟窗口,解锁后Anzroid虚拟窗口。
回到Eclipse窗口,关闭AVDManager窗口,右击左边的app2_1,选择RunAs菜单项下的“AndroidApplication”子菜单项,开始执行程序,可以在Android虚拟窗口中看到运行界面,输入身高和体重,单击“计算BMI值”按钮,看看提示消息框,如果值在18~24之间,说明你身材很好,如果大于24,那就代表身材不是那么好。
Android程序运行
实验三GUI创建套件Widget的使用
1实验目的及要求
1.掌握资源编辑器、布局编辑器的使用
2.掌握按钮、编辑框、日期时间、对话框、下拉列表等主要widget组件编程
2实验设备(环境)及要求
1)PC计算机
2)JDK安装包
3)Eclipse安装包
4)AndroidSDK安装包
5)ADT插件
3实验内容
1.设计按钮、复选框、单选按钮、普通按钮、单机按钮弹出对话框。
2.设计单项自动提示文本框、多项自动提示文本框、下拉列表。
4实验步骤
1.新建项目Button/Edit,在res/layput中修改布局文件main.xml
2.编辑Activity程序文件ButtonActivity
3.继承Dialog类,新建自定义的对话框类DialogPro.java
5实验核心代码(关键代码),及调试中的问题
EGGERMicrocontrollerGmbH&Co.KG
Solutionsforrealtimemicrocontrollerapplications
C-filegeneratedby:
*
GUI_BuilderforemWinversion5.22
CompiledJul 42013,15:
16:
01
(c)2013SeggerMicrocontrollerGmbH&Co.KG
Internet:
[url][/url] Support:
[email]support@[/email]
USERSTART(Optionallyinsertadditionalincludes)
USEREND
#include"DIALOG.h"
Defines
#defineID_WINDOW_0 0
#defineID_BUTTON_0 0x170
#defineID_BUTTON_1 0x171
#defineID_ICONVIEW_00x250
#defineID_DROPDOWN_00X180
#defineID_GRAPH_00x220
#defineID_EDIT_00x100
USERSTART(Optionallyinsertadditionaldefines)
USEREND
Staticdata
USERSTART(Optionallyinsertadditionalstaticdata)
USEREND
_aDialogCreate
staticconstGUI_WIDGET_CREATE_INFO_aDialogCreate[]={
{WINDOW_CreateIndirect,"Window",ID_WINDOW_0,2,0,240,320,0,0x0,0},
{BUTTON_CreateIndirect,"Button",ID_BUTTON_0,79,268,80,20,0,0x0,0},
{GRAPH_CreateIndirect,"Graph",ID_GRAPH_0,20,110,200,100,0,0x0,0},
{EDIT_CreateIndirect,"Edit",ID_EDIT_0,58,35,120,63,0,0x64,0},
//USERSTART(Optionallyinsertadditionalwidgets)
//USEREND
};
Staticcode
USERSTART(Optionallyinsertadditionalstaticcode)
USEREND
_cbDialog
staticvoid_cbDialog(WM_MESSAGE*pMsg){
WM_HWINhItem;
int NCode;
int Id;
//USERSTART(Optionallyinsertadditionalvariables)
//USEREND
switch(pMsg->MsgId){
caseWM_INIT_DIALOG:
//
//Initializationof'Edit'
//
hItem=WM_GetDialogItem(pMsg->hWin,ID_EDIT_0);
EDIT_SetText(hItem,"ZHANGYI");
//USERSTART(Optionallyinsertadditionalcodeforfurtherwidgetinitialization)
//USEREND
break;
caseWM_NOTIFY_PARENT:
Id =WM_GetId(pMsg->hWinSrc);
NCode=pMsg->Data.v;
switch(Id){
caseID_BUTTON_0:
//Notificationssentby'Button'
switch(NCode){
caseWM_NOTIFICATION_CLICKED:
//USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)
//USEREND
break;
caseWM_NOTIFICATION_RELEASED:
//USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)
//USEREND
break;
//USERSTART(Optionallyinsertadditionalcodeforfurthernotificationhandling)
//USEREND
}
break;
caseID_EDIT_0:
//Notificationssentby'Edit'
switch(NCode){
caseWM_NOTIFICATION_CLICKED:
//USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)
//USEREND
break;
caseWM_NOTIFICATION_RELEASED:
//USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)
//USEREND
break;
caseWM_NOTIFICATION_VALUE_CHANGED:
//USERSTART(Optionallyinsertcodeforreactingonnotificationmessage)
//USEREND
break;
//USERSTART(Optionallyinsertadditionalcodeforfurt