03 Activity知识点
如何创建一个新的Activity?
-
创建一个继承自 Activity 的类.
import android.app.Activity; public class SecondActivity extends Activity { }
-
重写onCreate[kri’eɪt]方法.
import android.app.Activity; public class SecondActivity extends Activity { Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } }
-
创建一个布局文件.
路径:app\src\main\res\layout <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SecondActivity"> </android.support.constraint.ConstraintLayout>
-
在主配置文件AndroidManifest.xml中添加Activity标签
<activity android:name=".SecondActivity"> </activity>
如何切换Activity?
-
intent.setClass(MainActivity.this,SecondActivity.class); //参数1:当前Activity,参数2:目标Activity. startActivity(intent);
如何传递数据?
-
Intent.putExtra['ekstrə](K,V); //送出礼物 Intent intent = getIntent(); //拿到礼物 intent.getTypeExtra(K);//拆开礼物
可以传递哪些数据?
-
Intent putExtra(String name, 基础类型/支持序列化的对象);
可以传递对象吗?
-
Intent putExtra['ekstrə](String name, Serializable value);
如何回传数据?
-
设置返回值
setResult(1234);//设置结果值. finish();//销毁Activity.
-
重写onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data); //获取返回数据
Activity的生命周期
-
onCreate()
-
onStart()
-
onResume()
-
onPause()
-
onStop()
-
onDestroy()
-
onRestart()
编程习惯
- 取id格式type(_name)
- 看到提示不要害怕,仔细看下什么原因.
- 布局文件字母必须小写
- 常量需要提取为Fina类型