第一章Android

2003年10月,Andy Rubin等人创办了Android公司。2005年8月谷歌收购。

1.1 Android全貌

1.1.1 Android系统架构

1.Linux内核层:为Android设备的各种硬件提供底层驱动。如:显示驱动,音频驱动,蓝牙驱动,WiFi驱动,电源管理。

2.系统运行库层:c/c++库为Android层提供了主要的特性支持。如SQLite库提供数据库的支持,OpenGL|ES库提供了3D绘图支持,Webkit库提供了浏览器内核的支持。

Android运行时库,主要提供了一些核心库,还包含了Dalvik虚拟机(5.0后改为ART运行环境)。

3.应用框架层:主要提供了构建应用程序时可能用到的各种API。

4.应用层:所有安装在手机上的应用程序都是属于这一层的。

1.1.2 Android已发布版本(百科)

用甜点作为它们系统版本的代号的命名方法。

  • Android milestone builds (with Astro Boy and Bender floating around in here somewhere)
  • Android 1.0(没有开发代号)
  • Android 1.1 - Petit Four
  • Android 1.5 - Cupcake
  • Android 1.6 - Donut
  • Android 2.0/2.1 - Éclair
  • Android 2.2 - Froyo
  • Android 2.3 - Gingerbread
  • Android 3.0/3.1/3.2 - Honeycomb
  • Android 4.0 - Ice Cream Sandwich
  • Android 4.1/4.2/4.3 - Jelly Bean
  • Android 4.4 - KitKat
  • Android 5.0/5.1 - Lollipop(Android L)
  • Android 6.0 - Marshmallow(Android M)
  • Android 7.0 -Nougat(Android N)
  • Android 8.0 -Oreo(Android O)
  • Android 9.0 -Pie (Android P)

API等级

API等级1:Android 1.0

API等级2:Android 1.1 Petit Four

API等级3:Android 1.5 Cupcake

API等级4:Android 1.6 Donut

API等级5:Android 2.0 Éclair

API等级6:Android 2.0.1 Éclair

API等级7:Android 2.1 Éclair

API等级8:Android 2.2 - 2.2.3 Froyo

API等级9:Android 2.3 - 2.3.2 Gingerbread

API等级10:Android 2.3.3-2.3.7 Gingerbread

API等级11:Android 3.0 Honeycomb

API等级12:Android 3.1 Honeycomb

API等级13:Android 3.2 Honeycomb

API等级14:Android 4.0 - 4.0.2 Ice Cream Sandwich

API等级15:Android 4.0.3 - 4.0.4 Ice Cream Sandwich

API等级16:Android 4.1 Jelly Bean

API等级17:Android 4.2 Jelly Bean

API等级18:Android 4.3 Jelly Bean

API等级19:Android 4.4 KitKat

API等级20:Android 4.4W

API等级21:Android 5.0 Lollipop

API等级22:Android 5.1 Lollipop

API等级23:Android 6.0 Marshmallow

API等级24:Android 7.0 Nougat

API等级25:Android 7.1 Nougat

API等级26:Android 8.0 Oreo

API等级27:Android 8.1 Oreo

API等级28:Android 9.0 Pie

1.1.3 Android应用开发特色

1.四大组件:活动(Activity),服务(Service),广播接收器(Broadcast Receiver),内容提供器(Content Provider)。

2.丰富的控件系统

3.SQLite数据库

4.地理位置定位

1.2 开发环境

1.2.1 工具

JDK; Android SDK; Android Studio

1.3 第一个Android项目

HelloWorldActivity

1.3.4分析程序

1.没有在AndroidMainfest.xml中注册的活动是不能使用的

其中

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

表示HelloWorldActivity是这个项目的主活动,在手机上点击应用图标,首先启动该活动。

2.HelloWorldActivity继承AppCompatActivity(AppCompatActivity是Activity的子类)。onCreate()方法是一个活动被创建是必定要执行的方法。

setContentView()方法给当前活动引入一个hello_world_layout布局。

hello_world_layout.xml文件

1.4 日志工具

Android中的日志工具类是log(android.util.Log)。

五个方法来提供打印日志。

1. Log.v(): 打印那些最为琐碎的,意义最小的日志信息。对应级别verbose,级别最低

2. Log.d(): 打印一些调试信息。对应级别debug,比verbose高一级

3. Log.i(): 打印一些比较重要的数据。对应级别info,比debug高一级。

4. Log.w(): 打印一些警告信息。对应级别warn,比info高一级。

5. Log.e(): 打印程序中的错误信息。对应级别error,比warn高一级

Eg:

Log.d()方法中传入两个参数,第一个为tag,一般传入当前类名,主要用于对打印信息过滤;第二个为msg,即想要打印的具体内容。

使用Log而不使用System.out:

日志打印不可控制、打印时间无法确定、不能添加过滤器、日志没有级别区分……

<Android基础>(一)的更多相关文章

  1. tcp/ip原理/三次握手/四次挥手

    @ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a)   由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...

  2. 白话TCP/IP原理

    TCP/IP(Transmission-Control-Protocol/Internet-Protocol),中文译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议 ...

  3. <TCP/IP原理> (四) IP编址

    1.IP地址的基本概念:作用.结构.类型 2.特殊地址:作用.特征 网络地址.广播地址(直接.受限) 0.0.0.0 环回地址 3.单播.多播.广播地址:特征 4.专用地址:作用.范围 5.计算和应用 ...

  4. <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...

  5. <TCP/IP原理> (一)

    1.协议和标准 2.标准化组织 3.Internet标准:RFC 4.Internet的管理机构 一.协议和标准 1.协议(Protocol) 一组控制数据通信的规则 三要素:语法(syntax).语 ...

  6. TCP/IP原理浅析

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  7. [转] TCP/IP原理、基础以及在Linux上的实现

    导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...

  8. TCP/IP原理简述

    TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...

  9. <TCP/IP原理> (三) 底层网络技术

    传输介质 局域网(LAN) 交换(Switching) 广域网(WAN) 连接设备 第三章 底层网络技术 引言 1)Interne不是一种新的网络 建立在底层网络上的网际网 底层网络——“物理网”,网 ...

  10. 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

随机推荐

  1. Python_程序实现发红包

    发红包 200块钱  20个红包 将200块随机分成20份 基础版本: import random ret = random.sample(range(1, 200 * 100), 19) ret = ...

  2. Shell脚本2

      5 Shell传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数, 脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… ...

  3. ubuntu安装chkconfig.deb系统服务管理工具

    chkconfig简介:chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息. 参数用法:   --add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统 ...

  4. JMeter学习FTP测试计划(转)

    FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 1.创建一个线程组 2.线程组--->添加--->配置元件 ...

  5. bnu——GCD SUM (莫比乌斯反演)

    题目:GCD SUM 题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=39872 算法:莫比乌斯反演.优化 #include<stdio.h& ...

  6. Oracle 备份表数据

    --备份表数据 select * from t_owners; --创建备份表 create table t_owners_copy ( id number, name ), addressid nu ...

  7. liunx 运维知识四部分

    一. 权限介绍及文件权限测试 二. 目录权限测试 三. 默认控制权限umask 四. chown修改属性和属组 五. 网站安全权限介绍 六. 隐藏属性介绍 七. 特殊权限s 八. 特殊权限t 九. 用 ...

  8. NOIP2015提高组复赛B 子串

    题目链接:https://ac.nowcoder.com/acm/contest/263/B 题目大意: 略 分析: 设preA(i)为字符串A中第1个字符到第i个字符构成的字符串. 设preB(i) ...

  9. python之路--小数据池,再谈编码,is和 == 的区别

    一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...

  10. drf实现图片验证码功能

    一.背景 在之前实现过django的图片验证码,有自己实现过的,也有基于django-simple-captcha的,都是基于form表单验证,若自己实现,可以获取相应的标签name便可以获取判断,若 ...