本文围绕以下两个部分展开:

一、String格式化输出

二、Log日志输出

三、Activity生命周期

一、String格式化输出

1. 字符串资源

(1)String (字符串)

在 strings.xml 中定义:

Hello!

在布局文件中引用:

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello" />

在活动(Java类)中引用:

String string = getString(R.string.hello);

(2)String Array (字符串数组)

在 strings.xml 中定义:

Mercury

Venus

Earth

Mars

在活动(Java类)中引用:

Resources res = getResources();

String[] planets = res.getStringArray(R.array.planets_array);

(3)Quantity String(Plurals) (数量字符串/复数)

在 res/values/strings.xml 中定义:

One song found.

%d songs found.

在 res/values-pl/strings.xml 中定义:

Znaleziono jedną piosenkę.

Znaleziono %d piosenki.

Znaleziono %d piosenek.

在活动(Java类)中引用:

int count = getNumberOfsongsAvailable();

Resources res = getResources();

String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);

2. String格式化输出

String.format("-----%s----%d", getString(R.string.hello_world), 200)

String.format("%f----%.2f", Math.PI, Math.PI)

二、Log日志输出

输出日志 (级别:由低到高):

Log.v(TAG, "详细信息.");

Log.d(TAG, "调试信息.");

Log.i(TAG, "信息.");

Log.w(TAG, "警告信息.");

Log.e(TAG, "错误信息.");

三、Activity生命周期

1. Activity(活动)

活动是 Android 应用框架中的一个核心组件,它在一个窗口(Window)对象中绘制用户接口并响应用户的交互。

一个应用中通常包含多个活动,用户在不同的活动中执行不同的操作,但只有一个处于“活跃”状态:启动一个新的活动,前一个就会停止并被压入一个栈中。

2. Activity生命周期

A195748759-151763.png_small.png

创建一个活动,通常直接继承 Activity,并在子类中重写一系列的回调方法;在活动状态发生改变时,这些方法由应用框架按照特定的顺序调用,我们称其为活动的生命周期。

A195751103-151763.png_small.png

根据活动的复杂度,也许并不需要实现所有生命周期中的方法,但需要知道每个方法的功能,确保你的应用能像用户期望的那样执行:

不会因为来电话或切换到其他应用而崩溃;

用户离开应用一段时间后返回,不会丢失进度;

用户设备屏幕旋转时,不会丢失进度或崩溃;

GPS 或其他传感器在不需要时不要一直消耗电量。

该周期按照执行的时间顺序可划分为:

(1)完全生命周期

(2)可见生命周期

(3)前台生命周期

(1)完全生命周期

A195753463-151763.png_small.png

A195755713-151763.png_small.png

(2)可见生命周期

A195757963-151763.png_small.png

A195800213-151763.png_small.png

(3)前台生命周期

A195802525-151763.png_small.png

A195804728-151763.png_small.png

保存活动状态:

在系统内存不足时,系统会把处于暂停或停止状态的活动销毁;当用户要再次回到已被销毁的活动时,系统会重新创建该活动。此时,会回调以下方法:

onSaveInstanceState(Bundle savedInstanceState)

onRestoreInstanceState(Bundle savedInstanceState)

A195806947-151763.png_small.png

3. 活动的任务栈

A195809244-151763.png_small.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐