Android学习

平台简介

  令人激动的Google手机操作系统平台-Android正式发布了,这是一个开放源代码的操作系统,内核为Linux. 作为开发者,我们所关心的是这个平台的架构以及所支持的开发语言。下面是这个平台的架构模型:

  

  这个平台有以下功能:

  + Application framework: 可重用的和可替换的组件部分,在这个层面上,所有的软件都是平等的。

  + Dalvik virtul machine: 一个基于Linux的虚拟机。

  + Integrated browser: 一个基于开源的WebKit引擎的浏览器,在应用程序层。

  + Optimized graphics: 包含一个自定义的2D图形库和基于OpenGL ES 1.0 标准的3D实现。

  + SQLite: 数据库

  + Media support: 通用的音频,视频和对各种图片格式的支持(MPEG4, H.264, MP3, AAC, AMR,JPG, PNG, GIF)

  + GSM Telephony: GSM 移动网络, 硬件支持。

  + Bluetooth, EDGE, 3G, andWiFi: 都依赖于硬件支持。

  + Camera, GPS, compass, and accelerometer: 都依赖于硬件支持。

  + Rich development environment: 包含一套完整的开发工具集,方便跟踪调试,内存检测和性能测试,而且提供了Eclipse的插件。

  下面我们就来亲身体验一下Android程序的开发之旅。

  先介绍一下开发环境,下面是对系统及相关软件的版本要求:


将界面实现用XML编排

 

你刚刚完成的"Hello,World"例子我们称之为程序化的界面编排。意思就是说构建你的应用程序界面是直接使用的源代码。如果你已经完成过很多界面程序,你大概熟悉像此类的方式是多么脆弱:一个对布局小小的修改会对源代码造成很头疼的事情。如果忘掉与View的紧密结合,这个导致代码出错和浪费你的调试时间的界面问题也会很简单。

 

这就是为什么Android提供了一种可替换的界面构建方式:基于XML的布局文件。最简单的解释这个概念的方式就是展示一个例子。我们就用刚才创建的项目来进行演示,达到相同的界面效果。

 

<?xmlversion="1.0" encoding="utf-8"?>

<TextViewxmlns:android="http://schemas.android.com/apk/res/android"

 android:layout_width="fill_parent"

 android:layout_height="fill_parent"

 android:text="Hello, Android"/>

 

AndroidXML布局文件的大体的结构很简单。它是一个标签的树,任何一个标签就是View类的名字。在这个例子中,它是一个很简单的只有一个元素的树,一个 TextView。 你可以使用任何继承自View类的名字作为标签的名字。包括在你的代码中自定义的View类。这个结构可以很容易的构建界面,它比你在源代码中使用的结构和语法更简单。这个模式的设计灵感来自于Web开发。就是可以将界面和应用程序逻辑分离的模式。

 

在这个例子中, 也有些是XML的属性,下面是他们的含义:

 

属性

含义

xmlns:android

这是XML命名空间的声明,它是告诉Android的工具, 你将要涉及到公共的属性已被定义在XML命名空间。在每一个Android的布局文件的最外边的标签必须有这个属性。

android:layout_width

这个属性定义了在屏幕上这个View可用的宽度是多少。

android:layout_height

这个属性定义了在屏幕上这个View可用的高度是多少。

android:text

设置TextView所包含的文本内容,当前设置为”Hello, Android”信息

 

 

以上就是一个XML布局文件的样子,但是你需要放在哪里?它要放在你的项目目录的res/文件夹下。resresources的缩写,它是存放所有非代码资源的文件夹,包含象图片,本地化字符串和XML布局文件。

这些Eclipse的插件已经给你创建好了,在我们上面的例子中,我们没有使用它。在包浏览器中,展开res目录的layout.并且编辑 main.xml,替换掉那个文本内容,然后保存。

 

现在,在包浏览状态,打开在代码文件夹中名为 R.java的文件, 你将看到下面的内容:

 

public finalclass R {

   public static final class attr {

   };

   public static final class drawable {

       public static final int icon=0x7f020000;

   };

   public static final class layout {

       public static final int main=0x7f030000;

   };

   public static final class string {

       public static final int app_name=0x7f040000;

   };

};

 

 

一个项目的R.java文件是一个定义所有资源的索引文件。使用这个类就像使用一种速记方式来引用你项目中包含的资源。这个有点特别的强大像对于Eclipse这类IDE的代码编译特性,因为它使你快速的,互动式的定位你正在寻找的特定引用。

 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值