Android简介

来源:互联网 发布:粤数大数据公司 评价 编辑:程序博客网 时间:2024/06/06 13:08

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>

以上为输出Hello world的第一个Android的应用程序