NingG +

Android入门几个基本知识

背景

最近参加某活动,也算掌握了点滴的内容,整理一下,算是阶段的笔记。

Android的4个模块

Android开发中涉及4个模块/对象:

  1. Activity;
  2. Service;
  3. Broadcast Receiver;
  4. Content Provider;

Activity

通常是用户界面,粒度也可能更细些,例如:菜单列表、图片、图片标题,都可能是一个单独的Activity;

Service

没有用户界面,但会一直在后台运行,例如:进行其他操作时,播放背景音乐、后台下载数据;

Broadcast Receiver

应用程序利用Broadcast Receiver机制,来接收、发送广播消息,举例:

  1. 接收/拨打电话;
  2. 接收/发送短信;
  3. 手机所处时区改变时,应用程序会接收到通知;
  4. 电池电量不足;
  5. 用户选择一张图片;

Content Provider

应用程序利用Content Provider机制,来进行数据共享,例如:读取系统电话簿中联系人;

Activity的生命周期

生命周期?对,这个术语在计算机相关的开发中,总能听到,到底什么意思?干什么的?生命周期,lifecycle,其基本目标是:描述清楚一个对象从产生到消亡的过程,为开发者干预这一过程提供方法。(用个通俗的术语来重新表述一下Object lifecycle:物体的状态变化路径)

返回站(Back Stack)

说Activity的生命周期之前,补充一个概念:返回栈;为了方便管理Activity,将多个相互关联的Activity合并称作一个Task,一个Task对应一个Back Stack。如下图:

关于返回栈,简要说明几点(官方文档):

  1. A task is a collection of activities that users interact with when performing a certain job.
  2. the back stack operates as a last in, first out object structure.
  3. pushed onto the stack when started by the current activity and popped off when the user leaves it using the Back button.

Activity状态

Activity从产生到消亡,会有几个典型的状态,简要说一下(来自官方文档):

Acitivity lifecycle

Activity生命周期如下:

activity_lifecycle.png

备注:可利用上面7个回调方法,来调整Activity。

Intent简介

Intent是不同组件之间进行交互的重要方式,基本点两个:

Intent能够携带数据,具体用途有:

Intent分为2类:

Android测试相关

之前,我对测试不感兴趣的,但最近感觉,开发中前期,对系统弄一个测试框架,能够提升开发、调试的效率,同时,也能在产品最终上线前进行较为全面的验证。

测试点

测试,到底要测哪些方面?

Android Testing Framework

下面会列出一张图(官网拿的),简要说几点:(可能理解有错,会陆续更正)

test_framework.png

基于这一测试框架,能够进行如下几个测试:

备注:在官网文档中,DevelopTools部分,针对Tests有详细介绍。

测试工具

列几个常用测试工具,以及简要的说明:

附录

几个名词

产品设计几点

参考来源

Top