安卓之路·1
开始了~
Android系统架构
Android可分为四层架构,五块区域。
LINUX内核层——提供硬件的底层驱动
系统运行层——提供系统的主要特性支持,Android运行时库也在这一层,提供了一些核心库,允许开发者使用Java语言编写Android应用
应用框架层——提供构建应用程序时可能用到的API
应用层
Activity
一般情况下,活动继承自AppCompatActivity,onCreate()方法继承自父类,我们实现功能则多是通过对这个方法的重写来实现。
所有活动需要在AndroidManifest.xml中注册才能生效,活动声明放在<application>标签内,通过<activity>标签对活动进行注册。
如何配置主活动?
在<activity>标签内加入<intent-filter>标签,并在这个标签内添加
<action android:name=”android.intent.action.MAIN”/>
<category android:name=”android.intent.category.LAUNCHER”/>
销毁一个活动:Activity类提供了一个finish()方法,通过调用这个方法可以销毁当前活动
活动状态
活动在生命周期中最多可能有四种状态:
运行状态
暂停状态
停止状态
销毁状态
Activity类中定义了7个回调方法:
- onCreate()。会在活动第一次被创建时调用,完成活动的初始化。
- onStart()。在活动由不可见变为可见时调用。
- onResum()。在活动准备好和用户交互时调用。
- onPause()。当系统准备去启动或回复另一个活动时调用。
- onStop()。当活动完全不可见时调用。
- onDestroy()。在活动被销毁之前调用,之后的活动状态为销毁状态。
- onRestat()。这个方法在活动由停止状态变为运行状态之前调用。
如何保证在活动被回收后,恢复活动的状态?
Activity提供了onSaveInstanceState()回调方法临时保存数据。
onSaveInstanceState()方法可以携带一个Bundle类型的参数,Bundle提供了一系列方法用于保存数据,名保存方法需要传入两个参数,第一个参数是键(用于取回值),第二个是需要保存的参数。
保存代码实例如下:
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
String tempData = "Someting you just typed";
outState.putString("data_key",tempData);
}恢复数据的代码应当写在onCreate()方法,如下所示
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (saveInstanceState != null){
String tempData = savedInstanceState.getString("data_key");
}
}这里传递数据的方式和Intent传递信息的方式是十分类似的。
活动的启动方式
有四种启动方式
- standard
- singleTop
- singleTask
- singleInstance
具体的区别这里不再阐述
小结
发现拾起来要比第一次学顺畅不少,当时许多无法理解的点也都很容易的理解了,不过效率还要提升!马上开始上网课了,考虑用水课的时间拿来学Android(?好孩子不要学)、
希望这是一个好的开始,能够坚持下去!