Android入门笔记之Activity
<1>简介
1、onCreate()
Acitivity首次创建时被调用。用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作。
2、onStart()
Acitivity对用户可见时被调用。
3、onResume()
Acitivity获得用户焦点,即用户可操作该Acitivity时被调用。
4、onPause()
应用程序启动了其它Acitivity时被调用。一般用于保存当前Acitivity中的数据。
5、onStop()
Acitivity不可见时被调用。
6、onRestart()
已停止的Acitivity重新启动时被调用。
7、onDestroy()
调用Acitivity的finish()方法或Android系统资源不足时被调用。
<2>关键步骤
在firstActivity中通过对上述7个函数的重载实现,并用toast观察很容易看出调用顺序。
firstActivity中有id为buttonRe的button,点击后将访问secondActivity,通过startActivityForResult调用,进入注册页面,填完信息后点secondActivity中的button后将所填数据通过Bundle返回至firstActivity中,并在onActvityResult函数中处理。
<3>出现的问题
不要忘记将新的Activity在android manifest.xml中注册一下。
<4>代码及解释
点击注册按钮后进入secondActivity,如下图:
点Button返回firstActivity:
firstActivity:
package com.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.test.R;
public class firstActivity extends Activity{
/**
* @ProjectName: [androidtest]
* @Package: [com.activity.firstActivity.java]
* @ClassName: [firstActivity]
* @Description:
* @Author: [gmj]
* @CreateDate: [2013-9-1 下午4:02:28]
* @Version: [v1.0]
*/
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Button bt = (Button)this.findViewById(R.id.buttonRe);
Toast.makeText(firstActivity.this, "on create", Toast.LENGTH_LONG).show();
bt.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent in = new Intent(firstActivity.this , secondActivity.class);
startActivityForResult(in , 0);
}
});
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Toast.makeText(firstActivity.this, "on destroy", Toast.LENGTH_LONG).show();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Toast.makeText(firstActivity.this, "on pause", Toast.LENGTH_LONG).show();
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Toast.makeText(firstActivity.this, "on restart", Toast.LENGTH_LONG).show();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Toast.makeText(firstActivity.this, "on resume", Toast.LENGTH_LONG).show();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Toast.makeText(firstActivity.this, "on stop", Toast.LENGTH_LONG).show();
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStop();
Toast.makeText(firstActivity.this, "on start", Toast.LENGTH_LONG).show();
}
public void onActivityResult(int requestCode , int resultCode , Intent intent)
{
if(requestCode == 0 && resultCode == 0)
{
Bundle data = intent.getExtras();
String result = "用户名" + data.getString("username") + "密码" + data.getString("password");
TextView tv = (TextView)this.findViewById(R.id.showView);
tv.setText(result);
}
}
}
SecondActivity:
package com.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import com.test.R;
public class secondActivity extends Activity{
/**
* @ProjectName: [androidtest]
* @Package: [com.activity.secondActivity.java]
* @ClassName: [secondActivity]
* @Description:
* @Author: [gmj]
* @CreateDate: [2013-9-1 下午4:03:01]
* @Version: [v1.0]
*/
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button bt = (Button)this.findViewById(R.id.buttonSumbit);
bt.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText tx1 = (EditText)findViewById(R.id.editUser);
EditText tx2 = (EditText)findViewById(R.id.editPass);
Intent intent = getIntent();
Bundle bd = new Bundle();
bd.putString("password", tx2.getText().toString());
bd.putString("username", tx1.getText().toString());
intent.putExtras(bd);
secondActivity.this.setResult(0 , intent);
secondActivity.this.finish();
}
});
}
}