1.环境搭建
网上关于环境搭建已经有不少文章,这里可以参考一下这个网址。http://www.cnblogs.com/huaping-audio/archive/2009/05/26/1490455.html
另外买Andriod手机的时候官方也会有相应的SDK和相关文档和模拟器可以下载,我用的是国产魅族M9,按照官方给出的文档进行了配置,如果新建项目的时候有问题,在Windows→Android SDK and AVD Manager中 Update All一下就可以了。
2.首先建立一个HelloAndriod项目,对Andriod开发有一个大概的认识
其中有几个必填项:
ProjectName:包含这个项目的资料文件夹名称
ApplicationName:显示在应用程序上的标题
PackageName:这个是命名空间,而且也是套件名下Activity生成的地方。命名有一定规则 com.andriod.[ActivityName]
CreateActivity:项目的主要类别,可以在这里启动程序并控制程序流程,或控制屏幕界面等。
MinSDKVersion:选择程序要运行的最低版本。
好了,这里我们依次命名:
Project name: HelloAndroidApplication name: Hello, AndroidPackage name: com.example.helloandroid (or your own private namespace)Create Activity: HelloAndroid点Finish后建立相应的项目:
首先展开HelloAndroid > src > com.example.helloandroid,打开HelloAndroid.java ,看到以下代码:
package com.example.helloandroid; import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); }}
这里看到我们的类继承于Activity,Activity在程序中相当于actions。@Override标示重写这个onCreate方法。Bundle参数保存了应用程序上次关闭时的状态,并且可以通过一个Activity传给下一个Activity。接下来改写一下这个方法:
package com.example.helloandroid;import android.app.Activity;import android.os.Bundle;import android.widget.TextView; public class HelloAndroid extends Activity { /* * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView( this ); tv.setText( " Hello, Android " ); setContentView(tv); } }
大致可以看出,我们新建了一个TextView文本,然后设置它的Text为“Hello,Andriod”,最后让这个文本显示出来。
View就是界面中显示的各种元素,TextView就就继承了它的文本元素。
this代表了我们这个Context引用。
点运行可以看到模拟器上的样子:
但其实上,既然采用MVC的开发模式,肯定会有界面与逻辑的分离,实际上我们开发过程中,各种View是分离出来的,Andriod的界面是用XML方式来表示的,有些类似于HTML。再回过来看一下我们的程序。
打开res/layout/main.xml,将代码替换成下面这样:
<? xml version="1.0" encoding="utf-8" ?> < TextView xmlns:android =http://schemas.android.com/apk/res/android android:id ="@+id/textview" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:text ="@string/hello" />
xmlns:android 声明引用了Andriod的命名空间,每个界面都要有这个声明。android:id 指定这个元素的唯一ID。它的命名有些特别,在代码中我们可以通过类似R.id.height控制这个元素中的属性。android:layout_width 在这里是充满全屏的宽android:layout_height 充满全屏的高。android:text 这里我们指定了文本资源,资源文件在res/values/strings.xml 中。
把HelloAndroid 这个class改回原样。点运行。
3.更深层次的东西:
Andriod并不直接使用XML文档,而是XML描述转换成资源,程序要使用某个界面或各种资源的时候,会通过索引来查询。
我们看一下gen里生成的R.java文件:
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.example.helloandroid; public final class R { public static final class attr { } public static final class drawable { public static final int icon = 0x7f020000 ; } public static final class id { public static final int textview = 0x7f050000 ; } public static final class layout { public static final int main = 0x7f030000 ; } public static final class string { public static final int app_name = 0x7f040001 ; public static final int hello = 0x7f040000 ; }}
开发工具会根据XML的描述,生成对应的资源,自动指定一个位置。
在XML中我们就可以使用@[类型]/[识别符号] 这样的语法来识别符号。
一些API和元素说明我们可以通过google的离线文档进行查询。
转载于:https://www.cnblogs.com/kumaws/archive/2011/03/19/1988630.html
