android编程基础实验报告三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌航空大学实验报告
二0一三年一月六日
课程名称:移动终端编程技术实验名称: Android组件通信和后台服务班级:姓名:同组人:
指导教师评定:签名:
一、实验目的
了解使用Intent进行组件通信的原理,掌握使用Intent启动Activity的方法;
掌握获取Activity返回值的方法;了解Intent过滤器的原理与匹配机制;
了解Service的原理和用途;
掌握进程内服务的管理方法;
掌握服务的隐式启动和显式启动方法;
二、实验工具
Eclipse(MyEclipse)+ ADT + SDK;
三、实验题目
1.编程实现
⑴功能描述:
主界面上有一个“登录”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户输入的用户名和密码传递到主界面中。
⑵编程要点:
①主界面的Activity命名为MainActivity;启动新的Activity命名为UserLoginActivity;
②分别使用显示启动和隐式启动的方式,启动新的Activity;
③用户名中不能出现“@”符号,同时长度不超过12个字符;密码使用密码文本显示方式,即显示为“******”,同时只能为数字;
④返回的用户名和密码要以Toast的方式显示出来;
⑤ MainActivity和UserLoginActivity中各个生命周期的回调函数中要以方式显示日志信息。
2. 编程实现
⑴功能描述:
编程建立一个简单的进程内服务,实现比较两个整数大小的功能。服务提供IntCompare(Int, Int)函数,输入两个整数,输出较大的整数。
⑵编程要点:
①主界面的Activity命名为MainActivity;提供两个EditText,分别输入两个整数;提供一个Botton,启动比较过程;提供一个TextView,显示较大的整数;
②分别使用启动方式和绑定方式使用Service;
③分别使用Handle和AsyncTask更新TextView中的内容。
四、实验步骤
1.详细工程结构及部分代码(显式和隐式都在其中):
结果:
代码:
public class MainActivity extends Activity {
protected int SUBACTIVITY1 = 1;
private static String TAG = "MainActivity";
Button button1,button2;
public void onCreate(Bundle savedInstanceState) {
(savedInstanceState);
setContentView (TAG, "(1) onCreate()");
button1 = (Button) button2 = (Button) (new () {
public void onClick(View v) {
Intent intent = new Intent,;
(getApplicationContext(), "显示启动", .show();
startActivityForResult(intent, SUBACTIVITY1);
}});
(new (){
public void onClick(View v) {
Intent intent = new Intent("");
(getApplicationContext(), "隐式启动", .show();
startActivityForResult(intent, SUBACTIVITY1);
}});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Uri uriData = ();
(getApplicationContext(), (),
.show();
} else {
(getApplicationContext(), "用户名和密码为空",
.show();
}
}
@Override oString();
String pass=().toString();
String uriString="用户名:"+name+"密码:"+pass;
Uri data = (uriString);
Intent result = new Intent(null, data);
setResult(RESULT_OK, result);
finish();
}
});
(new () {
public void onClick(View v) {
*/
public static int maxNum;
public static Handler handler=new Handler();
private static TextView result=null;
private static Button compare=null;
private static Button reset=null;
private static EditText one=null;
private static EditText two=null;
public static void UpdateGUI(int refreshDouble){
maxNum=refreshDouble;
(RefreshLable);
}
private static Runnable RefreshLable=new Runnable(){
public void run() {
(maxNum));
}};
public void onCreate(Bundle savedInstanceState) {
final Bundle mybundle=new Bundle();
(savedInstanceState);
setContentView final Intent intent=new Intent,;
result=(EditText)findViewById compare=(Button)findViewById reset=(Button)findViewById one=(EditText)findViewById
two=(EditText)findViewById (new OnClickListener(){
public void onClick(View v) {