两种activity的声明方式:对应两种Intent的声明方式;不懂Intent的filter是如何匹配的。
package com.roiding.sample;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.EditText;
publicclass ActivityLifecycle extends Activity {
privatestatic final String TAG = "ActivityLifecycle";
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG,"onCreate ...");
setContentView(R.layout.main);
finalEditText editText = (EditText) findViewById(R.id.edittext_input);
import
import
import
import
import
import
import
import
public
private
@Override
public
super.onCreate(savedInstanceState);
Log.i(TAG,
setContentView(R.layout.main);
final
//两个的声明方式就不一样,后面再manifest中声明的方式也不一样,都是对应的,不知道为什么要这么做
//
Button
btn_dialog.setOnClickListener(new
public
Intent
intent.putExtra("name",
intent.setClass(ActivityLifecycle.this,
startActivity(intent)
}
});
//
Button
btn_activity.setOnClickListener(new
public
Intent
intent.putExtra("name",
intent.setAction("com.roiding.sample.action.MAIN");
startActivity(intent);
}
});
}
@Override
public
super.onStart();
Log.i(TAG,
}
@Override
public
super.onResume();
Log.i(TAG,
}
@Override
public
super.onPause();
Log.i(TAG,
}
@Override
public
super.onStop();
Log.i(TAG,
}
@Override
public
super.onDestroy();
Log.i(TAG,
}
@Override
public
super.onDestroy();
Log.i(TAG,
}
}
package com.roiding.sample;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.widget.TextView;
publicclass AlertDialog extends Activity {
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
Intentintent = getIntent();
Stringname = (String) intent.getExtras().get("name");
TextViewtextview = (TextView) findViewById(R.id.textview_hello);
if(name != null) {
Stringhello = getResources().getString(R.string.hello);
textview.setText(hello+ name);
}
}
}
import
import
import
import
public
@Override
public
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
Intent
String
TextView
if
String
textview.setText(hello
}
}
}
package com.roiding.sample;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.widget.TextView;
publicclass AlertActivity extends Activity {
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
Intentintent = getIntent();
Stringname = (String) intent.getExtras().get("name");
TextViewtextview = (TextView) findViewById(R.id.textview_hello);
if(name != null) {
Stringhello = getResources().getString(R.string.hello);
textview.setText(hello+ name);
}
}
}
import
import
import
import
public
@Override
public
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
Intent
String
TextView
if
String
textview.setText(hello
}
}
}
<manifest
package="com.roiding.sample"
android:versionName="1.0.0">
<application
android:label="@string/app_name">
//下面这两个activity的声明方式不同
<activity android:name=".ActivityLifecycle"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activityandroid:name=".AlertDialog"
android:theme="@android:style/Theme.Dialog"
android:label="@string/app_name">
</activity>
<activityandroid:name=".AlertActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="com.roiding.sample.action.MAIN" />
<categoryandroid:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
android:label="@string/app_name">
<intent-filter>
<action
<category
</intent-filter>
</activity>
<activity
android:theme="@android:style/Theme.Dialog"
android:label="@string/app_name">
</activity>
<activity
android:label="@string/app_name">
<intent-filter>
<action
<category
</intent-filter>
</activity>
</application>
</manifest>

浙公网安备 33010602011771号