这个demo演示如何从一个Activity中创建另一个Avtivity,并通过Intent传递数据。Activity的状态很多,需要注意的有以下三个:
1:Resumed状态:Activity处于运行状态;
2:Paused状态:另一个Activity位于前端,但本Activity还可见;
3:Stopped状态:另一个Activity位于前端,完全遮挡本Activity;
demo:下载地址
运行截图:
源代码如下
源Activity:
package com.bobo.studynew_2_1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener{
Button but;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but=(Button)findViewById(R.id.but);
but.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
//启动一个新的Activity
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(this,SecondActivity.class);//(主启动Activity的对象,被启动Activity的对象)
intent.putExtra("com.bobo.studynew_2_1.Age", 25);//传送的键值对数据(键值名,数值)
startActivity(intent);
}
}
目标Activity:
//1:继承Activity
//2:复写onCreat方法添加布局文件
//3:在Manifest文件中注册
package com.bobo.studynew_2_1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class SecondActivity extends Activity{
TextView text;
//第一次创建此Activity时调用
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);//为此Activity添加布局文件
//取得传送过来的键值对数据,注意getIntExtra()方法根据传送数据不同而不同
Intent intent=getIntent();
int age=intent.getIntExtra("com.bobo.studynew_2_1.Age", 18);//(键值名,默认键值)
text=(TextView)findViewById(R.id.secondText);
text.setText("岁数为:"+age);
}
//此Activity变得可见时调用
protected void onStart() {
super.onStart();
}
//此Activity准备与用户交互时调用
protected void onResume() {
super.onResume();
}
//系统启动另一个Activity之前调用
protected void onPause() {
super.onPause();
}
//此Activity变得不可见时调用
protected void onStop() {
super.onStop();
}
//此Activity再次启动前调用
protected void onRestart() {
super.onRestart();
}
//此Activity被销毁前调用
protected void onDestroy() {
super.onDestroy();
}
}