编程实现:
(1)功能描述:
- 主界面上有一个“登录”按钮,点击“登录”按钮后打开一个新的Activity
- 新的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户输入的用户名和密码传递到主界面中
(2)编程要点:
- 主界面的Activity命名为MainActivity;启动新的Activity命名为UserLoginActivity
- 分别使用显式启动和隐式启动的方式,启动新的Activity
- 用户名中不能出现“@”等符号,同时长度不超过12个字符;密码使用密码文本显示方式,即显示为“******”方式,同时只能为数字*
- 返回的用户名和密码要以Toast的方式显示出来
- MainActivity和UserLoginActivity中各个生命周期的回调函数中要以Log.i方式显示日志信息
代码片:
MainActivity.java
package com.example.experiment3_4_1;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity{
public static final String TAG="MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.d(TAG,"onCreate");
setContentView(R.layout.activity_main);
Button button01=(Button)findViewById(R.id.button01);
Button button02=(Button)findViewById(R.id.button02);
button01.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//显式启动
Intent intent01=new Intent(MainActivity.this,UserLoginActivity.class);
startActivityForResult(intent01,1);
}
});
button02.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//隐式启动
Intent intent02=new Intent("com.example.activitytest.ACTION_START");
startActivityForResult(intent02,1);
}
});
}
protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch(requestCode){
case 1:
if(resultCode==RESULT_OK){
String returnedData=data.getStringExtra("data_return");
Toast.makeText(getApplicationContext(),returnedData.toString(),