Andorid开发第一个程序HelloWorld

Andorid开发HelloWorld之旅

在搭建完Andorid开发环境之后,首先实现HelloWorld程序。

一、新建HellloWorld

打开配置好android开发环境的eclipse,new->other->Android Application Project,弹出如下对话框:


输入应用名字、工程名字、包名  、targetSdk等,然后默认一直next,在弹出如下activity对话框时:


输入相应的Activity Name及Layout Name,最后点击Finish,HelloWorld工程创建完成,初始目录结构如下:


PS:Android工程结构

src:源代码,我们的代码。

gen:Android开发工具所生成的文件,我们不能编辑这个文件。

R.java,标识程序中使用的各种资源。没有被此文件标识的资源,不会被打包到APK文件中。

assets:应用系统需要使用到的文件,比如mp3、视频...。这些文件会被原样打包到APK中。

res:资源目录,向此目录添加资源时,会被R.java自动记录。

drawabel-?dpi:图标文件(*.png*.jpg)

layout:界面布局文件(main.xml)WEB应用中的HTML类同

values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xmlcolors.xmldimens.xmlstyles.xml...

AndroidManifest.xml:项目的总配置文件,记录应用中所使用的各种组件。如果应用中使用到手机中的功能,需要在此声明使用权限。

default.properties:记录项目中所需要的环境信息,比如Android的版本等。

AndroidManfest.xml分析

manifest

根节点,描述了package中所有的内容

xmlns:android

包含命名空间的声明。

xmlns:android=http://schemas.

android.com/apk/res/android,使得

Android中各种标准属性能在文件中使用,

提供了大部分元素中的数据

Package

声明应用程序包

application

包含package中application级别组件声

明的根节点。此元素也可包含application

的一些全局和默认的属性,如标签、icon、

主题、必要的权限,等等。一个manifest

能包含零个或一个此元素(不能大余一个)

android:icon

应用程序图标

android:label

应用程序名字

Activity

用来与用户交互的主要工具。Activity是用

户打开一个应用程序的初始页面,大部分

被使用到的其他页面也由不同的activity所

实现,并声明在另外的activity标记中。

注意,每一个activity必须有一个<activity>

标记对应,无论它给外部使用或是只用于

自己的package中。如果一个activity没有

对应的标记,你将不能运行它。另外,

为了支持运行时查找Activity,可包含一个

或多个<intent-filter>元素来描述activity所支持的操作

android:name

应用程序默认启动的activity

intent-filter

声明了指定的一组组件支持的Intent值,从

而形成了IntentFilter。除了能在此元素下指

定不同类型的值,属性也能放在这里来描

述一个操作所需的唯一的标签、icon和其他信息

action

组件支持的Intent action

category

组件支持的Intent Category。这里指定

了应用程序默认启动的activity

uses-sdk

该应用程序所使用的sdk版本相关

二、修改代码

程序的运行由主配置文件开始AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld"
    android:versionCode="1"
    android:versionName="1.0" >
<!-- 本程序使用AndoridSDK的最低版本 -->
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />


    <!--
@drawable/icon:
@代表R.java
drawable是R.java的静态内部类
icon是drawable的常量,指定图片资源的ID。
-->
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!--
.MainActivity指向package="com.example.helloworld"下面的MainActivity类。
我们可以在此添加子包.sub.xxxClass,但不能添加上级包。
-->
        <activity android:name=".MainActivity" android:label="@string/app_name">
<!-- 意图过滤,程序加载由此开始向外。 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
    </application>


</manifest>


接下来从MainActivity类开始(新建class类集成activity,类名取于创建activity时的名字一致):

package com.example.helloworld;


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


public class MainActivity extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
// 在此方法中完成界面的绘制
super.onCreate(savedInstanceState);
// 显示R.java文件中的layout静态内部类的main常量。它指向mail.xml
setContentView(R.layout.main);
}
}

 

然后再我们再看看res->layout中的main.xml(初始没有,可以新建Android XML File)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!--
文本视图控件
android:layout_width="fill_parent" ,它的父窗口是屏幕,所以宽度为整个屏幕。
android:layout_height="wrap_content" ,它的高度为它所包含的内容高度。如果内容中有一行,就是一行的高度。
android:text="@string/hello",它包含(显示)的文本内容,指向R.java中string静态内部类的常量hello所指向的文本资源ID,文本资源文件是strings.xml。
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
</LinearLayout>

 

再看看Strings.xml:

<resources>
    <string name="app_name">HelloWorld</string>
<string name="hello">HelloWorld,Hello World!</string>
</resources>

  现在让我们看看掌管资源的主文件R.java

R.java文件中的所有资源ID全部是自动生成的,我们不可以手动编辑。当我们添加一个图片时,ADT插件,会以图片的名称为常量的名称,然后自动生成对应的资源ID。当我们向strings.xml中添加一个字符串时,ADT插件会以符串的名称为常量的名称,然后自动生成对应的资源ID。 

    R.java文件不需要我们手动编辑,我们只需要在需要使用到资源的地方引用这个文件里标识的资源即可!

三、运行HelloWorld

     选中HelloWorld程序,右键run as->Android Application,Console控制台信息如下:

Starting: 

Intent 

act=android.intent.action.MAIN 

cat=[android.intent.category.LAUNCHER] 

cmp=cn.itcast/.MainActivity 

}

表示运行了。

这时观察模拟器,

既可以看到出现了不同。


表示模拟器已经正常运行,程序已经发布到手机上,此时模拟器如下图所示:


至此,HelloWorld之旅圆满结束!

表示运行了。

这时观察模拟器



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值