一.Android简介


1.1什么是Android?

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机

1.2.Android的发展史。

2003年10月,Andy Rubin等人创建Android公司,并组建Android团队。

2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。

2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。

2009年4月,谷歌正式推出了Android 1.5这款手机,从Android 1.5版本开始,谷歌开始将Android的版本以甜品的名字命名,Android 1.5命名为Cupcake(纸杯蛋糕)。该系统与Android 1.0相比有了很大的改进。

2009年9月份,谷歌发布了Android 1.6的正式版,并且推出了搭载Android 1.6正式版的手机HTC Hero(G3),凭借着出色的外观设计以及全新的           Android 1.6操作系统,HTC Hero(G3)成为当时全球最受欢迎的手机。Android 1.6也有一个有趣的甜品名称,它被称为Donut(甜甜圈)。

2010年5月份,谷歌正式发布了Android 2.2操作系统。谷歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶。

2010年12月,谷歌正式发布了Android 2.3操作系统Gingerbread (姜饼)。

2011年1月,谷歌称每日的Android设备新用户数量达到了30万部,到2011年7月,这个数字增长到55万部,而Android系统设备的用户总数达到了1.35亿,Android系统已经成为智能手机领域占有量最高的系统。

2011年8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一。

2011年9月份,Android系统的应用数目已经达到了48万,而在智能手机市场,Android系统的占有率已经达到了43%。继续在排在移动操作系统首位。谷歌将会发布全新的Android 4.0操作系统,这款系统被谷歌命名为Ice Cream Sandwich(冰激凌三明治)。

2012年6月27日,Android 4.1Jelly Bean(果冻豆)。

2012年10月30日,Android 4.2Jelly Bean(果冻豆),在Android 4.1Jelly Bean(果冻豆)的基础上做了一些改进。

2013年9月4日凌晨,谷歌对外公布了Android新版本Android 4.4KitKat(奇巧巧克力),而并非早前传闻已久的Android5.0Key Lime Pie(酸橙派)。

1.3Android的系统构架

android开头是什么设备 android是什么机型_xml


1.3.1 Linux Kernel


Open source:开源的


      

Improved memory manager

:优化了内

存管理

l

Own process and threads

management

:拥有进程和线程管理机制

Proven driver model:改良的驱动模型


android开头是什么设备 android是什么机型_xml_02

1.3.2Andoid Runtime


应用开发语言:Java



Dalvik虚拟机



指令 : Dalvik Excutable



Java标准库



把java代码编译为Dalvik可执行文件(dex format)


android开头是什么设备 android是什么机型_xml_03


1.3.3Applications Framework


Activity manager


管理运行应用程序


Content Provider


在各应用之间共享数据


Resource Manager


管理非代码资源


Notification Manager


显示用户提示和状态栏



1.3.4运行库

android开头是什么设备 android是什么机型_android开头是什么设备_04

 

二.Android开发环境搭建

2.1软件和插件的下载和安装

2.1.1 下载JDK 5或者6 和 Eclipse (下载好JDK就安装,然后就配置环境变量  例如我的计算机-->高级系统设置-->环境变量-->系统变量(新建)-->(变量)Path  (值)JDK安装路径(如D:\java\bin)),  然后在安装 Eclipse。

  下载JDK地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

  下载Eclipse 地址:http://www.eclipse.org/downloads/

2.1.2下载用于在Eclipse 开发android应用的ADT 插件

Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)

下载ADT地址:http://developer.android.com/sdk/installing/installing-adt.html  

2.1.3安装 Eclipse 插件 (ADT) 


启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的“Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。


2.1.4下载安装Android SDK:


Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。



下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window->preferences,在打开的视图左边点击android,在右边的SDK Location中选择 Android SDK所在位置。



下载 Android SDK 地址: http://developer.android.com/sdk/index.html



2.2工具都安装配置好,我们先添加一个模拟器并打开,打开成功后下面就写一个Android应用程序。






android开头是什么设备 android是什么机型_android开头是什么设备_05



2.2.1  R.java是在建立项目是自动生成的,这个文件是只读模式,不能更改,  R.java文件时定义该项目所有资源的索引文件。


package edu.bzu.hello.activity;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        /**  Default screen margins, per the Android Design guidelines. 

         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
    
         */
        public static final int activity_horizontal_margin=0x7f040000;
        public static final int activity_vertical_margin=0x7f040001;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int action_settings=0x7f080000;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f070000;
    }
    public static final class string {
        public static final int action_settings=0x7f050001;
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050002;
        public static final int opm_name=0x7f050003;
    }
    public static final class style {
        /** 
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    

            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        

        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    
 API 11 theme customizations can go here. 

        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    
 API 14 theme customizations can go here. 
         */
        public static final int AppBaseTheme=0x7f060000;
        /**  Application theme. 
 All customizations that are NOT specific to a particular API-level can go here. 
         */
        public static final int AppTheme=0x7f060001;
    }
}



2.2.2  资源文件中一些常量的定义,如String.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Hello</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="opm_name">第一个Android程序</string>

</resources>



2.2.3然后看看布局文件(layout),首先在res->layout->main.xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/opm_name" 
       
       />

</RelativeLayout>



2.3.4接下来我们在看看Hello项目的主程序文件MainActity.java。

package edu.bzu.hello.activity;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}



2.3.5最后我们就运行一下程序,看看在模拟器上运行的效果图。



android开头是什么设备 android是什么机型_android_06