首先从Activity开始,一个android程序的入口就是在一个Activity里,首先看配置文件
测试下这段源码就清楚流程了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <!--这是命名空间 就是一种规范 也不知道为什么--!>
package="com.haier.activity" <!--提供包名--!>
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="9" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.haier.activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <!--入口就看他了--!>
<category android:name="android.intent.category.LAUNCHER" /> <!--显示在应用程序列表中--!>
</intent-filter>
</activity>
</application>
</manifest>
首先在manifest文件中注册并声明一些基本属性,Activity是android的基本组件之一,有四种基本装态
- Active/Runing一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
- Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
- Stoped 当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于 Stoped状态。
- Killed Activity 被系统杀死回收或者没有被启动时处于 Killed状态。
这些在他的不同生命周期阶段处理不同的任务,说道生命周期,这是官网上的一张图
package com.haier.activity;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
public class MainActivity extends Activity {
String tag = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e(tag, "oncreate");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.e(tag, "onstart");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.e(tag, "onRestart");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.e(tag, "onDestroy");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.e(tag, "onResume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.e(tag, "onPause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.e(tag, "onStop");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
Log.e(tag, "onCreateOptionsMenu");
return true;
}
}
测试下这段源码就清楚流程了
Activity之间的跳转可以用Inten这样就可以从Activity1到Activity2了
Intent intent = new Intent(Activity1.this,Activity2.class);
startActivity(intent);