public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
<activity
android:name="com.itheima.mutliuiapp.MainActivity" //配置类的全类名,必须配置
android:label="@string/app_name" > //标题栏上显示的文字,可以不配置
//应用程序的启动页面必须配置如下intent-filter节点,action和category缺一不可
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Intent intent = new Intent();//意图对象
intent.setClass(this, SecondActivity.class); //第一个参数需要传入一个Context对象,this表示当前Activity,第二个参数是要跳转到的界面
startActivity(intent);//开启意图,让意图对象做事
Intent intent = new Intent();
intent.setClassName("com.itheima.twointent", "com.itheima.twointent.Activity01");
startActivity(intent);
Intent intent = new Intent();
intent.setAction("com.itheima.twointent.OPEN02");//设置动作
intent.addCategory("android.intent.category.DEFAULT");//设置类别
startActivity(intent);
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("http://www.itheima.com"));
startActivity(intent);
Intent intent = new Intent();
intent.setAction("android.intent.action.SENDTO");
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("smsto:"));
intent.putExtra("sms_body","发送短信");
startActivity(intent);
<activity
android:theme="@android:style/Theme.Light.NoTitleBar"
android:name="com.itheima.rpcalc.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
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
//1.找到主题对应的style文件,按住ctrl键用鼠标左键点击即可
android:theme="@style/AppTheme" >
</application>
//2.在对应的style文件中添加对应的条目
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
</style>
A界面,传递数据
Intent intent = new Intent(this, ResultActivity.class);
//添加要传递的数据,可传递的数据类型有:
//1. 8个基本数据类型及其数组:byte、short、int、long、float、double、boolean、char及他们的数组
//2. 字符串及其数组:CharSequence及其数组、String及其数组
//3. 集合:CharSequence的ArrayList、String的ArrayList、Integer的ArrayList
//4. 对象:Serializable、Parcelable及其数组、继承自Parcelable的ArrayList
intent.putExtra(key,value);
startActivity(intent);
B界面,接收数据
//获取传递过来的数据
Intent intent = getIntent();
intent.getXXXExtra();
1.A调用startActivityForResult
Intent intent = new Intent(this, ContactListActivity.class);
startActivityForResult(intent, 2);
2.B界面设置数据
//把当前界面的数据,返回给开启我的界面.
Intent data = new Intent();
data.putExtra("message", message);
setResult(0, data);
//把当前界面关闭
finish();
3.返回A界面,系统会调用onActivityResult()方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
System.out.println("我们开启的新的选择短信的界面被关闭了,结果数据返回到这里");
if (data != null) {
String message = data.getStringExtra("message");
mTextView.setText(message);
}
} else if (requestCode == 2) {
System.out.println("我们开启的新的选择联系人界面被关闭了,结果数据返回到这里");
}
super.onActivityResult(requestCode, resultCode, data);
}
1. onCreate 被创建 2. onDestroy 被销毁 3. onStart 可见 4. onStop 不可见 5. onResume 获取焦点 6. onPause 失去焦点 7. onRestart 界面不可见之后,再次回到该界面 |
@Override
public void onConfigurationChanged(Configuration newConfig) {
// 当新设置中,屏幕布局模式为横排时
if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
//TODO 某些操作
}else{
//TODO 某些操作
}
super.onConfigurationChanged(newConfig);
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
...
<activity android:name="com.itheima.launchmode.SecondActivity"
//配置android:launchMode属性
android:launchMode="singleTop" >
</activity>
</application>
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |