Andriod:由HelloWorld展开的基础概念

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: HelloAndroid
  • Application name: Hello, Android
  • Package 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值