安卓之路·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提供了一系列方法用于保存数据,名保存方法需要传入两个参数,第一个参数是键(用于取回值),第二个是需要保存的参数。

保存代码实例如下:

@Override
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
String tempData = "Someting you just typed";
outState.putString("data_key",tempData);
}

恢复数据的代码应当写在onCreate()方法,如下所示

@Override
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(?好孩子不要学)、

希望这是一个好的开始,能够坚持下去!

评论