一、AndroidManifest

每一个安卓工程都有AndroidManifest.xml的配置文件,在所有项目中该名称都不会变。该文件是Android工程的一个全局配置文件,所有在Android中使用的组件都要在该文件中声明,并且该文件还可以声明一些权限以及SDK的版本等信息。

二、四大组件

一般来说,一个Android应用程序由以下4种组件组成:活动(Activity),服务(Service),内容提供者(ContentProvider),广播接收者(BroadcastReceivers)。

其中Activity是与用户交互的可视化界面。Service是无界面,生命周期长的,运行在后台的关注后台事务的组件。ContentProvider可以实现不同应用程序之间的数据共享的组件。BroadcastReceivers用来接收并响应广播消息的组件。

三、活动Activity

通俗的说就是GUI。一个Activity就是一个单独的屏幕。

四、服务Service

Android中的服务类似于Windows Service,它运行在后台,是不可见的、生命周期长的组件。一些后台运行的程序就利用service。

五、Activity的4个状态(生命周期)

活动状态:当前的Activity处于屏幕的前台即是Activity在屏幕的最上层,用户完全可见,并且能够与其交互,这时处于活动状态。

暂停状态:如果一个Activity在界面上部分被遮挡,不再处于屏幕的最上层,且不能够与用户交互,则处于暂停状态。一个暂停的Activity仍能保持活力(保持所有的状态),但是在内存极端低下的时候将被杀掉。

停止状态:如果一个Activity被另外的Activity完全覆盖,用户完全看不见,这时Activity处于停止状态。它依然保持所有的成员信息和状态,但是它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,停止状态的activity将被杀掉。

非活动状态:前面三种都可能会保持程序所有的状态和成员信息,但是这一种如果Activity要再次显示给用户时,它必须重新onStart()和重置OnRestart()前面的状态。

六、assets文件

资产目录,存放应用程序资源的目录,一般放一些较大的文件如字体、视频、音频文件,他们不会被编译而且不会生成资源文件的ID,但是封装到apk里。存放res目录的资源文件必须通过ID来访问。存放在assets目录中的文件常采用传统的路径访问的方式。只能读不能写。

Android 基础知识点(持续更新)的更多相关文章

  1. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  2. ES2015也就是ES6知识点持续更新

    ES6,全名:ECMAScript2015,先扯点其他的,ECMA是一个国际标准化组织,它最重要最重要的作用就是让ECMAScript这门语言标准化,什么意思呢?我们知道,js这门脚本语言是运行在浏览 ...

  3. android基础---->子线程更新UI

    和许多其他的GUI 库一样,Android 的UI 也是线程不安全的.也就是说,如果想要更新应用程序里的UI 元素,则必须在主线程中进行,否则就会出现异常.了解AsyncTask的用法,请参见我的博客 ...

  4. Android 常见问题收集 (持续更新)

    gridview中设置item的高度. 一.BaseAdapter中的getView中设置 AbsListView.LayoutParams param = new AbsListView.Layou ...

  5. Android 镜像地址[持续更新中]

    这里收集android国内镜像资源地址 大连东软信息学院镜像服务器地址:– http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:– IPv4: http: ...

  6. android基础知识点复习之短信发送

    界面布局: activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an ...

  7. Android基础知识点-Manifest清单文件

    每个应用的根目录中都必须包含一个 AndroidManifest.xml 文件(且文件名精确无误). 清单文件向 Android 系统提供应用的必要信息,系统必须具有这些信息方可运行应用的任何代码. ...

  8. nodejs基础【持续更新中】

    简介 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-dr ...

  9. python开发--基础知识-(持续更新)

    python基础 --基础: 1, 第一句python - 用cmd 调用--python (路径)+(文件名)) 扩展名是任意的 - 导入模块是,如果不是.py文件,可能导入不成功 - python ...

随机推荐

  1. 数据库sharding(scale up to scale out)

    sharding是将一个大数据库按照一定规则拆分成多个小数据库的一门技术. 当我们的应用数据量越来越多,访问量越来越大的时候,我们会作何选择?继续提升数据库服务器的性能还是采用一项技术让数据库平滑扩展 ...

  2. 20160406javaweb 之JDBC简单案例

    前几天写的user注册登录注销案例,没有用到数据库,现在做出改动,使用数据库存储信息: 一.首先我们需要建立一个数据库: 如下图: 创建数据库的代码如下: -- 导出 database02 的数据库结 ...

  3. python中关于正则表达式四

    []   用来暗示一个字符串集合, 1.在这个集合中:字符串可以被 独特列出,例如[amk]将会匹配'a','m'或者'k'. 2.字符串的范围可以被暗示通过给两个字符串和分开它们用一个'-':例如[ ...

  4. redis基本数据类型【3】-List类型

    列表类型采用双向链表实现的,借助列表类型redis还可以作为队列使用,一个列表类型key最多能容纳2^32-1个元素 1.向列表两端增加元素 #向左边增加元素,返回增加后列表的长度 lpush key ...

  5. Dao模型设计(基于Dao与Hebernate框架)

    以前没有Dao设计模型之前,一般都是这样的流程: ①先设计实体对象 学生对象: package com.itheima.domain; import java.io.Serializable; imp ...

  6. LA 3708 Graveyard(推理 参考系 中位数)

    Graveyard Programming contests became so popular in the year 2397 that the governor of New Earck -- ...

  7. C++动态分配内存

    动态分配(Dynamic Memory)内存是指在程序运行时(runtime)根据用户输入的需要来分配相应的内存空间. 1.内存分配操作符new 和 new[] Example: (1)给单个元素动态 ...

  8. 带缓冲的IO和不带缓冲的IO

    文件描述符: 文件描述符是一个小的非负整数,是内核用来标识特定进程正在访问的文件 标准输入/输出/出错: shell为每个程序打开了三个文件描述符,STDIN_FILEON,STDOUT_FILEON ...

  9. nodejs 实现机制

    最近在学习nodejs,作为一个从未学过javascript的程序员,把自己学习的过程贴出来,当做记录和总结吧. 1. nodejs的原理: nodejs完全是基于事件轮询机制的一个javascrip ...

  10. linux采用模块方法,添加一个新的设备

    该文转载自:http://rangercyh.blog.51cto.com/1444712/521244 系统调用是操作系统内核和应用程序之间的接口,而设备驱动程序是操作系统内核和机器硬件之间的接口. ...