Android程序开发初级教程起步.docx

上传人:b****1 文档编号:313995 上传时间:2023-04-28 格式:DOCX 页数:19 大小:767.36KB
下载 相关 举报
Android程序开发初级教程起步.docx_第1页
第1页 / 共19页
Android程序开发初级教程起步.docx_第2页
第2页 / 共19页
Android程序开发初级教程起步.docx_第3页
第3页 / 共19页
Android程序开发初级教程起步.docx_第4页
第4页 / 共19页
Android程序开发初级教程起步.docx_第5页
第5页 / 共19页
Android程序开发初级教程起步.docx_第6页
第6页 / 共19页
Android程序开发初级教程起步.docx_第7页
第7页 / 共19页
Android程序开发初级教程起步.docx_第8页
第8页 / 共19页
Android程序开发初级教程起步.docx_第9页
第9页 / 共19页
Android程序开发初级教程起步.docx_第10页
第10页 / 共19页
Android程序开发初级教程起步.docx_第11页
第11页 / 共19页
Android程序开发初级教程起步.docx_第12页
第12页 / 共19页
Android程序开发初级教程起步.docx_第13页
第13页 / 共19页
Android程序开发初级教程起步.docx_第14页
第14页 / 共19页
Android程序开发初级教程起步.docx_第15页
第15页 / 共19页
Android程序开发初级教程起步.docx_第16页
第16页 / 共19页
Android程序开发初级教程起步.docx_第17页
第17页 / 共19页
Android程序开发初级教程起步.docx_第18页
第18页 / 共19页
Android程序开发初级教程起步.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Android程序开发初级教程起步.docx

《Android程序开发初级教程起步.docx》由会员分享,可在线阅读,更多相关《Android程序开发初级教程起步.docx(19页珍藏版)》请在冰点文库上搜索。

Android程序开发初级教程起步.docx

Android程序开发初级教程起步

Android程序开发初级教程

(一)开始HelloAndroid

平台简介

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

下面是这个平台的架构模型:

  

  这个平台有以下功能:

  +Applicationframework:

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

  +Dalvikvirtulmachine:

一个基于Linux的虚拟机。

  +Integratedbrowser:

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

  +Optimizedgraphics:

包含一个自定义的2D图形库和基于OpenGLES1.0标准的3D实现。

  +SQLite:

数据库

  +Mediasupport:

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

  +GSMTelephony:

GSM移动网络,硬件支持。

  +Bluetooth,EDGE,3G,andWiFi:

都依赖于硬件支持。

  +Camera,GPS,compass,andaccelerometer:

都依赖于硬件支持。

  + Richdevelopmentenvironment:

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

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

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

  操作系统:

  WindowsXPorVista

  MacOSX10.4.8orlater(x86only)

  Linux(testedonLinuxUbuntuDapperDrake)

  SupportedDevelopmentEnvironments

  Eclipse

  Eclipse3.2,3.3(Europa)

  AndroidDevelopmentToolsplugin(optional)

  OtherdevelopmentenvironmentsorIDEs

  JDK5orJDK6(JREaloneisnotsufficient)

  NotcompatiblewithGnuCompilerforJava(gcj)

  ApacheAnt1.6.5orlaterforLinuxandMac,1.7orlaterforWindows

  我使用Eclipse3.3+JDK1.6.+Ant1.7的组合。

还有两个重要的就是:

AndroidSDK以及Android用于Eclipse中的插件。

  AndroidSDK的下载链接:

  如果你是第一次使用这些软件,请注意安装顺序和设置好环境变量。

一般的顺序是先安装JDK然后解压ant压缩包,然后设置java环境变量和ant环境变量,然后是解压AndroidSDK,再设置AndroidSDK的环境变量。

总之就是把JDK,ANT,AndroidSDK的路径添加到path里。

  Androidforeclipseplugin在安装过程很简单,通过网络安装插件就可以了,这个是URL:

https:

//dl-

  具体的配置过程,可以查看:

以下为一个helloAndroid的开发步骤:

  创建一个项目:

  创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Eclipse软件版本在3.2或3.3,你就可以开始开发了。

  首先,看一下要创建"Hello,World"程序从高级层面上有哪些步骤:

  1,通过 File->New->Project菜单,建立新项目"AndroidProject"

  2,填写新项目各种参数。

  3,编辑自动生成的代码模板。

  尽此而已,我们通过下面的详细说明来完成每个步骤。

  1, 创建一个新的Android项目

  启动Eclipse,选择 File->New->Project菜单,如果你安装好了Android的Eclipse插件,你将会在弹出的对话框中看到"AndroidProject"的选项。

  

  选择“AndroidProject”,点击 Next按钮。

  2,填写项目的细节参数.

  下面的对话框需要你输入与项目有关的参数:

  

  这个表格中详细介绍了每个参数的含义:

  ProjectName:

包含这个项目的文件夹的名称。

  PackageName:

包名,遵循JAVA规范,用包名来区分不同的类是很重要的,例子中用到的是"com.google.android",你应该按照你的计划起一个有别于这个的路径的名称。

  ActivityName:

这是项目的主类名,这个类将会是Android的Activity类的子类。

一个Activity类是一个简单的启动程

  序和控制程序的类。

它可以根据需要创建界面,但不是必须的。

  ApplicationName:

 一个易读的标题在你的应用程序上。

  在"选择栏"的 "Usedefaultlocation"选项,允许你选择一个已存在的项目。

 3,编辑自动生成的代码。

  当项目创建后,你刚才创建的HelloAndroid就会是包含下面的代码.

  publicclassHelloAndroidextendsActivity

  {

  /**Calledwhentheactivityisfirstcreated.*/

  @Override

  publicvoidonCreate(Bundleicicle)

  {

  super.onCreate(icicle);

  setContentView(R.layout.main);

  }

  }

  下面我们开始修改它

  [构建界面]

  当一个项目建立好以后,最直接的效果,就是在屏幕上显示一些文本,下面是完成后的代码,稍后我们在逐行解释。

  publicclassHelloAndroidextendsActivity{

  /**Calledwhentheactivityisfirstcreated.*/

  @Override

  publicvoidonCreate(Bundleicicle){

  super.onCreate(icicle);

  TextViewtv=newTextView(this);

  tv.setText("Hello,Android");

  setContentView(tv);

  }

  }

  注意你还需要添加importandroid.widget.TextView;在代码开端处。

  在Android程序中,用户界面是由叫做Views类来组织的。

 一个View可以简单理解为可以绘制的对象,像选择按钮,一个动画,或者一个文本标签(这个程序中),这个显示文本标签的View子类叫做TextView.

  如何构造一个TextView:

  TexiViewtv=newTextView(this);

  TextView的构造参数是Android程序的Context实例,Context可以控制系统调用,它提供了诸如资源解析,访问数据库等

  等。

Activity类继承自Context类,因为我们的HelloAndroid是Activity的子类, 所以它也是一个Context类,所以我们能用"this"在TextView构造中。

  当我们构造完TextView后,我们需要告诉它显示什么:

  tv.setText("Hello,Android");

  这个步骤很简单,当我们完成了这些步骤以后,最后要把TextView显示在屏幕上。

  setContentView(tv);

  Activity的setContentView()方法指示出系统要用哪个View作为Activity的界面,如果一个Activity类没有执行这个方法,将会没有界面并且显示白屏。

在这个程序中,我们要显示文本,所以我们传入已创建好的TextView。

  好了,程序代码已经写好,下面看看运行效果。

  运行代码:

Hello,Android

  使用Android的Eclipse插件就可以很轻松的运行你的程序,选择Run->OpenRunDialog。

你将会看到下面的对话框

  

  下一步, 高亮"AndroidApplication"标签,然后按下左上角的图标(就是像一片纸带个小星星那个), 或者直接双击 "AndroidApplication"标签,你将会看到一个新的运行项目,名为"New_configuration".

  

  取一个可以表意的名称,比如"Hello,Android",然后通过Browser按钮选取你的项目(如果你有很多个项目在Eclipse中,确保你选择要运行的项目),然后插件会自动搜索在你的项目中的Activity类并且将所有找到的添加在"Activity"标签的下拉列表中。

 我们只有"Hello,Android"一个项目,所以它会作为默认选择。

  点击"Apply"按钮,下图

  

  到这里,已经完成了,你只需要点击"Run"按钮,然后Android的模拟器将会启动,你的应用程序就会被显示出来。

  

  下次继续介绍如何把界面的布局用XML表示以及使用命令行进行编译和运行Android程序。

将界面实现用XML编排

 

你刚刚完成的"Hello,World"例子我们称之为”程序化”的界面编排。

意思就是说构建你的应用程序界面是直接使用的源代码。

如果你已经完成过很多界面程序,你大概熟悉像此类的方式是多么脆弱:

一个对布局小小的修改会对源代码造成很头疼的事情。

如果忘掉与View的紧密结合,这个导致代码出错和浪费你的调试时间的界面问题也会很简单。

 

这就是为什么Android提供了一种可替换的界面构建方式:

基于XML的布局文件。

最简单的解释这个概念的方式就是展示一个例子。

我们就用刚才创建的项目来进行演示,达到相同的界面效果。

 

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

>

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/文件夹下。

“res”是”resources”的缩写,它是存放所有非代码资源的文件夹,包含象图片,本地化字符串和XML布局文件。

这些Eclipse的插件已经给你创建好了,在我们上面的例子中,我们没有使用它。

在包浏览器中,展开res目录的layout.并且编辑main.xml,替换掉那个文本内容,然后保存。

 

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

 

publicfinalclassR{

   publicstaticfinalclassattr{

   };

   publicstaticfinalclassdrawable{

       publicstaticfinalinticon=0x7f020000;

   };

   publicstaticfinalclasslayout{

       publicstaticfinalintmain=0x7f030000;

   };

   publicstaticfinalclassstring{

       publicstaticfinalintapp_name=0x7f040000;

   };

};

 

 

一个项目的R.java文件是一个定义所有资源的索引文件。

使用这个类就像使用一种速记方式来引用你项目中包含的资源。

这个有点特别的强大像对于Eclipse这类IDE的代码编译特性,因为它使你快速的,互动式的定位你正在寻找的特定引用。

 

到目前需要注意的重要事情是叫做”layout”的内部类和他的成员变量”main”,插件会通知你添加一个新的XML布局文件,然后从新产生这个R.java文件,比如你添加了新的资源到你的项目,你将会看到R.java也相应的改变了

 

最后重要的事情是你需要去修改你的HelloAndroid源代码,去使用新的XML布局你的界面。

替换掉编码式的界面模式。

下面是你的新代码的样子,你可以看到,代码变得更加简单了。

 

publicclassHelloAndroidextendsActivity{

   

   @Override

   publicvoidonCreate(Bundleicicle){

       super.onCreate(icicle);

       setContentView(R.layout.main);

   }

}

 

当你做这些改变的时候,不要仅仅复制,粘贴到你的代码中,尝试去体验R.java的代码编译特点。

你会发现它对你有很大的帮助。

 

现在完成这些改变以后,你就可以重新运行你的程序,然后你会发现两种不同的界面编排方式会产生同样的效果。

调试你的项目

 

这个用于Eclipse中的Android插件作为Eclipse中的调试器也具有优秀的兼容性。

要演示这些,让我们制造一个bug在代码中,改变你的HelloAndroid源代码象下面这样:

 

publicclassHelloAndroidextendsActivity{

   

   @Override

   publicvoidonCreate(Bundleicicle){

       super.onCreate(icicle);

       Objecto=null;

       o.toString();

       setContentView(R.layout.main);

   }

}

 

 

这次简单的变化会引起一个NullPointerException异常,如果你再次运行程序,你将会看到屏幕

 要找到什么地方出错,需要设置个断点在你源代码的“Objecto=null;”行后(你可以双击在Eclipse中显示行数的左部区域),然后选择Run->Debug选择最后一次的运行加载。

你的程序将会重起模拟器,但是这个时候它会挂起,当它走到你刚才设置的断点的时候,在Eclipse的调试模式视图中,它就会停止在你的代码处。

就像你可以在其他任意程序中做这个一样。

 

  

 

 

使用其它的IDE工具创建项目

 

调试你的项目

这个用于Eclipse中的Android插件作为Eclipse中的调试器也具有优秀的兼容性。

要演示这些,让我们制造一个bug在代码中,改变你的HelloAndroid源代码象下面这样:

publicclassHelloAndroidextendsActivity{

   /**Calledwhentheactivityisfirstcreated.*/

   @Override

   publicvoidonCreate(Bundleicicle){

       super.onCreate(icicle);

       Objecto=null;

       o.toString();

       setContentView(R.layout.main);

   }

}

这次简单的变化会引起一个NullPointerException异常,如果你再次运行程序,你将会看到下面的屏幕:

要找到什么地方出错,需要设置个断点在你源代码的“Objecto=null;”行后(你可以双击在Eclipse中显示行数的左部区域),然后选择Run->Debug选择最后一次的运行加载。

你的程序将会重起模拟器,但是这个时候它会挂起,当它走到你刚才设置的断点的时候,在Eclipse的调试模式视图中,它就会停止在你的代码处。

就像你可以在其他任意程序中做这个一样。

使用其它的IDE工具创建项目

如果你没有使用Eclipse(比如你使用其他的IDE开发工具,或者简单的只使用文本编辑和命令行工具), 那么这个插件不会帮上你忙,别担心,你不会因为没有使用Eclipse而丢失任何开发能力。

其实Android的Eclipse插件也是将一套AndroidSDK的开发工具包装了。

(这些工具像:

模拟器,aapt,adb,ddms,和其他的,可以参考google的相关文档),因此,它也可以被其他工具包装,比如ant.

在AndroidSDK中包含一个Python脚本,叫做”activityCreator.py”,它用于为了你的项目创建所有的源代码和目录的编译环境(个人理解),也就是会产生可用于ant编译的build.xml.这样就允许你的项目从命令行方式创建或者集成到你选择的IDE中。

比如,要创建一个HelloAndroid项目,就像刚才我们用Eclipse中的一样,你可以使用下面的命令:

activityCreator.py--outHelloAndroidcom.google.android.hello.HelloAndroid

要编译你的项目,你要接着使用ant命令,当命令行提示成功时候,你会看到一个名为HelloAndroid.apk的文件在”bin”目录下。

这个.apk文件是一个Android的包,它需要使用”adb”工具安装进模拟器。

到这里为止,我向大家展示了Android平台的程序简单的开发实例,本人水平有限,翻译的时间仓促,一定有很多错误和疏漏,请多提修改意见。

本系列教程的主要内容都是翻译自Google的Android开发文档。

通过下面的链接查看全部内容。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2