Android简介
Android系统架构
- Linux内核层
- 系统运行库层
- 应用框架层
- 应用层
Linux内核层
Andorid系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、照相机驱动、WI-FI驱动等。
系统运行库层
该层通过一些C/C++库来为Android系统提供主要的特性支持。如SQLite库提供了数据库的支持,Webkit库提供了浏览器内核的支持等。
这一层还有Android运行时库,主要提供一些核心库,能够允许开发者使用java语言来编写Android应用。另外,Android运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个Android应用都能运行在独立的进程中,并且拥有一个自己的虚拟机实例。
应用框架层
该层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的。
应用层
所有安装在手机上的应用程序都是属于这一层的,比如游戏,自带程序,自己开发的程序等。
Android发布的版本
版本号 | 系统代号 | API |
---|---|---|
2.2 | Froyo | 8 |
2.3.3 - 2.3.7 | Gingerbread | 10 |
4.0.3 - 4.0.4 | Ice Cream Sandwich | 15 |
4.1.x, 4.2.x, 4.3 | Jelly Bean | 16, 17, 18 |
4.4 | KitKat | 19 |
5.0, 5.1 | Lollipop | 21, 22 |
6.0 | Marshmallow | 23 |
7.0 | Nougat | 24 |
Android应用开发特色
- 四大组件
- 活动,服务,广播接收器和内容提供器。其中活动是所有Android应用程序的门面,凡是在应用中看到的东西,都是放在活动中。服务则是无法看到它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器允许应用接收来自各处的广播消息,当然也可向外发出广播信息。内容提供器则为应用程序之间共享数据提供了可能。
- 丰富的系统控件
- Android为我们提供了丰富的系统控件,轻松写出漂亮的界面,也可以定制属于自己的控件。
- SQLite数据库
- Android系统自带了一种轻量级、运算速度极快的嵌入式关系型数据库。支持标准SQL语法,也可以通过封装好的API进行操作,使得存储和读取数据更加方便。
- 强大的多媒体和地理位置定位
- 音乐、视屏、录音、拍照、闹铃等等,都可以用代码进行控制;LBS领域
代码块
AndroidManifest.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloworld">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".HelloWorldActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
HelloWorldActivity代码:
package com.example.helloworld;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class HelloWorldActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
Log.d("data", "onCreate execute");
}
}
hello_world_layout.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_hello_world"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.helloworld.HelloWorldActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</RelativeLayout>