南昌航空大学android第二次试验报告

2020-04-17 00:57

实验2:Android组件和组件通信

1.1 实验目的

了解使用Intent进行组件通信的原理,掌握使用Intent启动Activity的方法;

掌握获取Activity返回值的方法;了解Intent过滤器的原理与匹配机制;

1.2 实验工具

Eclipse(MyEclipse)+ ADT22 + Android2.2 SDK(Android4.0.3);

1.3 实验题目

1.编程实现

⑴功能描述:

主界面上有一个“登录”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户输入的用户名和密码传递到主界面中。

⑵编程要点:

①主界面的Activity命名为MainActivity;启动新的Activity命名为UserLoginActivity; /*父传子*/

②分别使用显示启动和隐式启动的方式,启动新的Activity;

③用户名中不能出现“@”符号,同时长度不超过12个字符;只能为数字; ④返回的用户名和密码加入到bundle对象中,要以Toast的方式显示出来;

⑤MainActivity和UserLoginActivity中各个生命周期的回调函数中要以Log.i方式显示日志信息。// 看课件

2.编程实现 ⑴功能描述:

编程建立一个碎片应用。应用程序中有一个MainActivity,它包含两个

Fragment,分别为

LeftFragment和RightFragment。应用要求显示一个主从式的界面,其中,LeftFragment中包含2个Button,RightFragment包含一个TextView,点击左边

按钮,右边显示相应详细内容。

⑵编程要点:

1.4实验步骤 实验1

编程要点1

MainActivity.javaUserLoginActivity.java

编程要点2 显示启动

button1.setOnClickListener(newView.OnClickListener() {

publicvoidonClick(View v) {

Intent intent =

Toast.makeText(getApplicationContext(), \显示启动\,

newIntent(MainActivity.this,UserLoginActivity.class); Toast.LENGTH_SHORT).show();

startActivityForResult(intent, request_Code); }});

隐式启动

button2.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(View v) {

Intent intent = newIntent(\); Toast.makeText(getApplicationContext(), \隐式启动\,

Toast.LENGTH_SHORT).show();

startActivityForResult(intent, request_Code);

}});

编程要点3

在EditText中添加两个属性

android:numeric=\

android:maxLength=\

编程要点4

用户名和密码加入到bundle对象中

publicvoidonClick(View view) { }

Intent i = new

Intent(\);

EditTexttxt_username =

(EditText) findViewById(R.id.txt_username); (EditText) findViewById(R.id.txt_usersecret); Bundle extras = newBundle();

extras.putString(\, txt_username.getText().toString());

extras.putString(\, txt_usersecret.getText().toString()); i.putExtras(extras); setResult(RESULT_OK,i); finish();

EditTexttxt_usersecret =

Toast的方式显示出来

publicvoidonActivityResult(intrequestCode, intresultCode, Intent data) {

switch (resultCode) { caseRESULT_OK: {

Bundle b=data.getExtras();

Toast.makeText(this, b.getString(\),

Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();

Toast.makeText(this,b.getString(\),

} break;

default:break; }

}

编程要点5

MainActivity和UserLoginActivity中各个生命周期的回调函数中要以Log.i方式显示日志信息。 以MainActivity为例

public class MainActivity extends Activity { intrequest_Code = 1;

Button button1,button2;

private static String TAG =\ @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i(TAG, \

button1 = (Button) this.findViewById(R.id.button1); button2 = (Button) this.findViewById(R.id.button2); button1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(MainActivity.this,UserLoginActivity.class); Toast.makeText(getApplicationContext(), \显示启动\Toast.LENGTH_SHORT).show(); startActivityForResult(intent, request_Code); }}); button2.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { Intent intent = new Intent(\ Toast.makeText(getApplicationContext(), \隐式启动\Toast.LENGTH_SHORT).show(); startActivityForResult(intent, request_Code); }}); }

public void onActivityResult(intrequestCode, intresultCode, Intent data) { switch (resultCode) { //resultCode为回传的标记,我在B中回传的是RESULT_OK case RESULT_OK: { Bundle b=data.getExtras(); //data为B中回传的Intent //String str=b.getString(\即为回传的值 Toast.makeText(this, b.getString(\ Toast.LENGTH_SHORT).show(); //---get the data using the getInt() method--- Toast.makeText(this,b.getString(\ Toast.LENGTH_SHORT).show(); } break;

default: break; } }

@Override //可视生命周期开始时被调用,对用户界面进行必要的更改 public void onStart() { super.onStart();

Log.i(TAG, \ }

@Override //在onStart()后被调用,用于恢复onSaveInstanceState()保存的用户界面信息

public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Log.i(TAG, \ }

@Override //在活动生命周期开始时被调用,恢复被onPause()停止的用于界面更新的资源

public void onResume() { super.onResume();

Log.i(TAG, \ }

@Override // 在onResume()后被调用,保存界面信息 public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); Log.i(TAG, \ }

@Override //在重新进入可视生命周期前被调用,载入界面所需要的更改信息

public void onRestart() { super.onRestart();

Log.i(TAG, \ }

@Override //在活动生命周期结束时被调用,用来保存持久的数据或释放占用的资源。

public void onPause() { super.onPause();

Log.i(TAG, \ }

@Override //在可视生命周期结束时被调用,一般用来保存持久的数据或释放占用的资源

public void onStop() { super.onStop();

Log.i(TAG, \


南昌航空大学android第二次试验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:圆锥曲线专题(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: