android开发教程系列(1)Activity
Android中生命周期的知识
注意:如果要在android机制中打印出System.out的输出语句
需要配置过滤器,名称为System.out就行
1.Activity的生命周期函数
public class Activity extends ApplicationContext {
/**Activity1第一次被创建时*/
protected void onCreate(Bundle savedInstanceState);
/**当Activity1被看到时调用*/
protected void onStart();
/**当从Activity2返回时调用*/
protected void onRestart();
/**当Activity1被操作时调用*/
protected void onResume();
/**启动跳转到Activity2时调用*/
protected void onPause();
/**Activity1处于不可见的状态时调用*/
protected void onStop();
/**此时销毁的是Activity2*/
调用finish()方法或者系统资源不够用时调用
protected void onDestroy();
}
2.Task基本概念
任务:一个存放Activity的栈
注:点击Back按钮,将当前的Activity弹出栈
启动Intent后使用finish方法,就将Activity销毁了
配置一个以对话框形式的Activity:
<activity android:name=".ThirdActivity"
android:label="@string/thirdName"
android:theme="@android:style/Theme.Dialog">
</activity>
此时之前的Activity没有被完全覆盖,所以不调用onStop()
代码实现:
FirstActivity.java
package com.apkway;
import com.apkway.R;
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;
/**
* @author ghost
* 第一个Activity
*/
public class FirstActivity extends Activity {
private Button start1;
private Button start2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.first);
System.out.println("1Activity!onCreate");
start1 = (Button)this.findViewById(R.id.start1);
start2 = (Button)this.findViewById(R.id.start2);
OnClickListener listener1 = new OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(it);
}
};
start1.setOnClickListener(listener1);
OnClickListener listener2 = new OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(FirstActivity.this,ThirdActivity.class);
startActivity(it);
}
};
start2.setOnClickListener(listener2);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("1Activity!onStart");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("1Activity!onStop");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("1Activity!onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("1Activity!onResume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("1Activity!onPause");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("1Activity!onDestroy");
}
}
SecondActivity.java
package com.apkway;
import com.apkway.R;
import android.app.Activity;
import android.os.Bundle;
/**
* @author ghost
* 第二个Activity
*/
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
System.out.println("2Activity!onCreate");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("2Activity!onStart");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("2Activity!onStop");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("2Activity!onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("2Activity!onResume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("2Activity!onPause");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("2Activity!onDestroy");
}
}
ThirdActivity.java
package com.apkway;
import android.app.Activity;
import android.os.Bundle;
/**
* @author ghost
* 第三个Activity
*/
public class ThirdActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.third);
}
}
xml的配置很简单,相信对android入门的同学们肯定是不在话下的,好的,这讲就到这里了,源码也附上了,有什么问题留言交流!
更多相关文章
- Android使背景灯(Brightness)高亮的方法
- Android(安卓)动态注册广播
- Android(java)学习笔记113:Android编写代码调用Vibrator震动功能,按
- android accessibility
- android自APP打开高德,百度,腾讯地图APP调用(整理非原创)
- android Tether 分析
- Android(安卓)recyclerview更新item位置移动
- Android音频系统之四AudioPolicy
- Android(安卓)使用WebView