一 : 常用API
1 生命周期回调
onCreate() 当Activity被创建的时候调用
onStart() 当Activity界面可见的时候调用
onResume() 获取焦点
onPause() 失去焦点
onStop() 当Activity界面不可见的时候调用
onDestroy() 当Activity被销毁的时候调用
onRestart() 当Activity重启
2 其他的回调
onCreateOptionsMenu() 创建一个选择项的菜单(可以做自定义菜单的界面)
onOptionsItemSelected() 当点击菜单的界面时候调用//(根据 item.getItemId()可以做点击菜单条目的逻辑)
onBackPressed() 当按返回键时调用
onActivityResult() 当界面关闭的时候调用
onTouchEvent() 调用触屏事件
onClick() 用户点击时调用
onKetDown() 判断当前按下的键是什么类型(返回true才会处理当前事件)[类型的int值,触摸事件对象]
onSaveInstanceState() 保存Activity的状态(方法接受一个Bundle 类型的参数, 开发者可以将状态数据存储到这个Bundle 对象中, 这样即使activity 被系统摧毁, 当用户重新启动这个activity 而调用它的onCreate()方法时, 上述的Bundle对象会作为实参传递给onCreate()方法, 开发者可以从Bundle对象中取出保存的数据, 然后利用这些数据将activity 恢复到被摧毁之前的状态。)
onNewIntent(Intent) 启动模式设置为“singleTop”的Activity再次启动的回调
3 其他
setContentView() 关联布局文件(希望显示出的界面)
getAssets().open("address.db"); 得到assets资产目录的输入流
setResult() 把当前界面的数据返回给开启我的界面
getResources() 得到资源目录
getFileDir() 当前包files目录的绝对路径
getCacheDir() 当前包Cache目录的绝对路径(存储缓冲文件的)
getSharedPreferences() 得到一个Map集合IO流对象
getIntent() 得到调用这个界面的意图对象
getSupportActionBar() 获取ActionBar对象
startActivity() 启动Activity意图;
startActivityForResult()启动Activity意图(为了返回值)
startService() 开始服务意图
stopService() 销毁服务意图
finish() 关闭当前界面
findViewById() 关联控件
sendBroadcast() 发送广播
getMenuInflater() 创建一个菜单
setArguments() 存储一个Bandle对象
getPackageManager() 得到包的管理对象
getPackageName() 得到包名
runOnUiThread 简单的在子线程更新ui--->runOnUiThread(new Runnable() {run方法里面就可以更新ui}
requestWindowFeature() 设置标题栏[Window.FEATURE_NO_TITLE(没有标题栏)]
overridePendingTransition(); 设置退出或者进入的动画[R.anim.abc_popup_enter, R.anim.abc_popup_exit]
二 : 在androidManifest的设置
- 注意:每个activity都要在androidManifest里面配置清单
- android:configChanges——–配置发生改变的设置那些不影响Activity的生命周期的(详细信息)
- android:screenOrientation—-屏幕方向(详细信息)
例如:
<activity android:name="包类路径" //包类路径
android:label="标题的名称" //标题的名称
android:theme="主题的样式" //主题的样式
android:configChanges="配置发生改变的设置"; //配置发生改变的设置那些不影响Activity的生命周期
android:screenOrientation="屏幕的方向" //指定什么方向”landscape”(横屏,portrait是竖屏)
android:icon="图标的地址" //图标的地址
android:launchMode="启动模式" //启动模式
>
<intent-filter> //意图过滤器(匹配规则)
<action android:name="动作名称"/> //这个随便指定
<category android:name="android.intent.category.种类"/> //DEFAULT(默认)
<data android:属性="属性名称"/> //数据:scheme(数据前缀), host(主机名) ,mimeType(数据的格式)
</intent-filter>
</activity>
三 : 启动模式
(1)standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈;
(2)singleTop:如果某个Activity自己激活自己,即任务栈栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例;
(3)singleTask:如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把此Activity放入栈顶,并把该Activity以上的Activity实例都pop;
(4)singleInstance:会单独创建一个Activity栈;