`
liangyouyu
  • 浏览: 9746 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Android入门之helloworld

阅读更多
搭建好开发环境之后,我们来创建一个Hello World工程,体验一下Android的开发。



1 打开Eclipse,选择【File】>【New】>【Project】



2 选择【Android】>【Android Project】,点击【Next】



3 创建一个新的Android工程



       Project name: HelloWorld    (工程的目录名)
       Package name: com.android.helloworld    (包名,用于定位该包中类的位置)
       Activity name: main    (默认UI界面主窗口的类名,类似brew中的mainform)
       Application name: HelloWorld    (应用的标题名字)



接下在工程会被自动创建,



在Package Explorer窗口中选择【src】>【com.android.helloworld】>【main.java】文件,编辑代码:



package com.android.helloworld ;
import android.app.Activity;
import android.os.Bundle;



public class main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle saveInstanceState) {
        super.onCreate(saveInstanceState);
        setContentView(R.layout.main);
    }
}



指定模拟器avd,然后“menu -> run”。




将创建好的Helloworld项目中的文件夹逐一展开如下图所示:



1.src目录

src 目录下放置的是Java源文件,这个文件中可以创建若干的Java包,在包中可以创建应用的处理逻辑,应用的Activity都会放在这个目录下,上图中的“main.java”就是在创建项目的时候创建的一个Activity,在Activity中可以编写控制View的逻辑。核心的控制逻辑都都会写在这里,看看“main.java”中都有什么:


   1: package com.android.helloworld;    2:      3: import android.app.Activity;    4: import android.os.Bundle;    5:      6: public class main extends Activity {    7:     /** Called when the activity is first created. */    8:     @Override    9:     public void onCreate(Bundle savedInstanceState) {   10:         super.onCreate(savedInstanceState);   11:         setContentView(R.layout.main);   12:     }   13: }
代码解释:


第一行表示包的名称。

3,4行代码导入Android的包,相当于.net 中的using语句引入命名空间。

6到13行是main类的主体,main类继承自Activity,android中所有的用户界面展示的类都直接或间接继承自Activity。

8到12行是一个重要的函数,这个函数重写Actitity中的onCreate,每一个继承自Activity的子类都要重写该方法来初始化界面,和asp.net中Page_Load事件相似,可以在这个方法中初始化界面上的元素,8行中“Override”表示方法的“重写”是Java的关键字,11行设置了main这个Activity要展示的用户界面的配置文件,”R.layout.main”是一个资源的常量,这个资源是对main.xml的一个间接引用,当程序启动时将main.xml文件中的内容展示给用户。

2.Android 2.0目录

这个目录下放的是当前工程使用的android SDK.上图中表示当前项目引用的是Android SDK 2.0,不同版本的SDK这个文件的名会不同。

3.gen目录

gen目录下的Java包中有一个“R.java”文件,这个文件是由Eclipse自动生成的,开发者不用去修改和维护里面的内容,但是这个文件却非常有用,它和另一个文件夹res紧密相连,对res下资源的操作都会导致R.java文件的重新编译,R.java 中定义的常量类也是间接帮助Activity完成对资源的应用,android这样设计的好处是,使得复杂的资源通过专门的类来管理而使得程序中的代码变得整齐,强壮,不会出现一些“弱类型的字符串”而变成强类型(这里借用了.net中的术语),减少程序出错和减少bug。

基本的R.java的代码如下:


   1: /* AUTO-GENERATED FILE.  DO NOT MODIFY.    2:  *    3:  * This class was automatically generated by the    4:  * aapt tool from the resource data it found.  It    5:  * should not be modified by hand.    6:  */    7:      8: package com.android.helloworld;    9:     10: public final class R {   11:     public static final class attr {   12:     }   13:     public static final class drawable {   14:         public static final int icon=0x7f020000;   15:     }   16:     public static final class layout {   17:         public static final int main=0x7f030000;   18:     }   19:     public static final class string {   20:         public static final int app_name=0x7f040001;   21:         public static final int hello=0x7f040000;   22:     }   23: }
4.assets目录

这个目录中通常放置一些原生的资源,它会在android打包的时候原封不动的一起打包,安装时会直接解压到对应的assets目录中。这里同常放置一些项目中用到的多媒体资源等。注意:在醒目打包的时候删除掉项目中没有引用到的资源,因为这会占用设备资源同时也会“撑大”应用apk包

5.res目录

这个目录中放置的是android要用到的各种资源

drawale—*dpi 文件夹中放置一些图片资源项目ico等

layout 中放置项目布局的XML文件,所有UI布局的xml文件都放置这个文件夹中,并且每创建一个资源R.java中都会创建一个资源常量。android的UI是通过xml来描述的,它将UI展示和逻辑控制分离这也是android的一个有点,针对不同的分辨率的适配也是相当容易的,不用去改动业务逻辑只需要重新创建一套适应的xml布局就可以了。

main.xml文件内容:


   1: <?xml version="1.0" encoding="utf-8"?>    2: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    3:     android:orientation="vertical"    4:     android:layout_width="fill_parent"    5:     android:layout_height="fill_parent"    6:     >    7: <TextView      8:     android:layout_width="fill_parent"     9:     android:layout_height="wrap_content"    10:     android:text="@string/hello"   11:     />   12: </LinearLayout>
这个文件中的内容就是android UI布局的描述,针对android的UI布局后面会专门用篇幅来介绍,这里不做过多的解释。

6.values目录

这个目录中放置的是一些字符串,数组,颜色,样式,动画等资源,好的程序设计习惯是将界面中所用到的信息资源以单独文件形式存储,这样好处是易于管理,易于维护,更重要的原因是在多语言处理的时候会非常方便,我想Google在当时设计android的时候一定充分考录到了这些因素,所以才使得多语言变得简单,values目录下的资源也是通过Eclipse来维护其和R.java的对应关系,Activity 不需要引用直接的资源而是通过引用R.java中的常量,这一点非常巧妙,也为我们编程带来了极大的便利,string.xml中的文件内容:


   1: <?xml version="1.0" encoding="utf-8"?>    2: <resources>    3:     <string name="hello">Hello World, main!</string>    4:     <string name="app_name">HelloWorld</string>    5: </resources>
这个文件中定义了两个变量“hello” 和“app_name”,hello的值”Hello World,main !”表示在界面中显示这样一个问候语,它的引用在main.xml文件中:android:text="@string/hello",这个"@string/hello“是引用资源的常用的写法,以@+文件名+资源的名称。app_name的值“HelloWorld”表示项目的名称。在R.java的定义如下:


   1: public static final class string {    2:         public static final int app_name=0x7f040001;    3:         public static final int hello=0x7f040000;    4:     }
这里将文件名string.xml转化成一个string 静态类,文件中的资源名被转化成了一个静态的整型常量。

Values 目录中的每一个文件都会转化成R.java中的一个静态类,文件中的每一个资源都会转化成R.java中对应静态类的静态整型常量,这样Activiy中通过一个解析器就可以获取到对应的资源。

7.AndroidManifest.xml文件

这个文件是整个项目的配置资源,里面配置的内容包括,Activity,访问权限等等,这个文件相当于asp.net中的web.config文件。

AndroidManifest.xml文件的内容:


   1: <?xml version="1.0" encoding="utf-8"?>    2: <manifest xmlns:android="http://schemas.android.com/apk/res/android"    3:       package="com.android.helloworld"    4:       android:versionCode="1"    5:       android:versionName="1.0">    6:     <application android:icon="@drawable/icon" android:label="@string/app_name">    7:         <activity android:name=".main"    8:                   android:label="@string/app_name">    9:             <intent-filter>   10:                 <action android:name="android.intent.action.MAIN" />   11:                 <category android:name="android.intent.category.LAUNCHER" />   12:             </intent-filter>   13:         </activity>   14:     15:     </application>   16:     <uses-sdk android:minSdkVersion="5" />   17:     18: </manifest> 
这个文件中7到13行配置了项目中的UI包、用到的Activity以及项目启动的主界面为“.main”(这main就是src目录下的那个main.java文件的类名)16行配置了使用android SDK的版本。

8.default.properties文件

这个文件中记录了android项目运行时的环境信息以及Android SDK的版本信息,文件的内容如下:


   1: # This file is automatically generated by Android Tools.    2: # Do not modify this file -- YOUR CHANGES WILL BE ERASED!    3: #     4: # This file must be checked in Version Control Systems.    5: #     6: # To customize properties used by the Ant build system use,    7: # "build.properties", and override values to adapt the script to your    8: # project structure.    9:     10: # Indicates whether an apk should be generated for each density.   11: split.density=false   12: # Project target.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/echoff/archive/2010/10/18/5948320.aspx
分享到:
评论

相关推荐

    认识Android入门的HelloWorld程序

    ### 认识Android入门的HelloWorld程序 #### 程序构成详解 本文旨在通过剖析一个简单的`HelloWorld`程序,让读者深入了解Android应用程序的基本结构及其运行机制。这对于初次接触Android开发的学习者而言至关重要。...

    Android demo Android helloworld

    在Android开发领域,"Android demo Android helloworld"通常是指初学者入门的第一个小程序,它标志着开发者在Android平台上迈出了第一步。这个简单的程序展示了如何在Android设备上显示“Hello, World!”的文字,是...

    Android开发入门 实例 helloworld

    在Android开发领域,"Hello, World!"项目是一个经典的起点,它为初学者提供了一个简单而直接的编程体验,帮助他们理解和熟悉Android应用的基本构建过程。本文将深入探讨这个入门实例,带您逐步走进Android开发的世界...

    使用Android Studio开发HelloWorld应用程序

    使用 Android Studio 开发 HelloWorld 应用程序 Android Studio 是 Google 官方推出的集成开发环境(IDE),专门为 Android 应用程序开发设计。使用 Android Studio 可以快速创建、编译、调试和优化 Android 应用...

    android_helloworld

    本文将深入探讨“android_helloworld”项目,理解Android应用的基础结构,以及如何在Android Studio中创建和运行一个简单的应用。 首先,"android_helloworld"项目的核心是展示Android应用程序的基本构成。Android...

    androidNDK helloworld

    这个"androidNDK helloworld"资源就是一个入门级别的示例,旨在帮助初学者理解如何在Android项目中集成和使用NDK。下面将详细讲解Android NDK的基础知识以及如何创建并运行一个简单的"Hello, World!"程序。 首先,...

    android helloWorld程序

    在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个项目,它标志着你在Android编程之旅的起点。这个简单的程序旨在教你如何在Android环境中创建并运行一个基本的应用。让我们详细了解一下这个过程以及...

    Android版得HelloWorld

    在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个项目,它标志着你在Android编程之旅的起点。这个简单的程序通常包含一个显示"Hello, World!"文本的屏幕,帮助开发者熟悉基本的环境配置和代码编写...

    Android HelloWorld程序

    在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个接触点,它标志着开发者在Android世界中的第一次正式亮相。这个程序虽然简单,但却是理解Android应用开发基础的重要起点。接下来,我们将深入探讨...

    使用Android Studio创建HelloWorld应用程序

    ### 使用Android Studio创建HelloWorld应用程序的关键知识点 #### 一、Android Studio简介 - **定义**:Android Studio是由Google推出的一款官方集成开发环境(IDE),它基于IntelliJ IDEA平台,专为Android应用开发...

    android实战 开发HelloWorld程序(android studio源程序工程)

    这个压缩包包含的就是这样一个简单的HelloWorld项目,非常适合Android开发的新手。 Android Studio是Google官方推荐的Android应用开发工具,它基于IntelliJ IDEA,提供了丰富的功能和优化的Android开发体验。使用...

    android 写的hello world 源码

    package com.example.helloworld; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { ...

    Android系统源代码情景分析之HelloWorld应用程序

    在Android系统中,"HelloWorld"程序是每个开发者入门的标志性项目,它展示了如何构建一个基本的Android应用程序。本文将深入解析Android系统源代码中"HelloWorld"的应用场景,帮助你理解Android系统的运行机制和应用...

    hello world _android

    在Android开发领域,"Hello World"程序是每个初学者入门时的第一个项目,它标志着开发者向Android编程世界的迈进。"hello world _android"这个标题暗示我们将深入探讨如何在Android环境中创建并运行一个简单的"Hello...

    Android HelloWorld

    在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个项目,它标志着开发者向Android世界迈出的第一步。这个程序通常非常简单,但包含了Android应用开发的基本元素,让我们一起深入了解一下。 首先,...

    Android开发HelloWorld

    Android开发最基础的HelloWorld,Android入门

    helloworld android代码

    在Android开发领域,"Hello World"是初学者入门的经典示例,它标志着开发者在构建安卓应用的旅程中迈出了第一步。这个例子旨在介绍基本的Android应用程序结构和生命周期,以及如何在屏幕上显示简单的文本。 首先,...

    实验一Android开发环境搭建与Helloworld.doc

    Android开发环境搭建与Helloworld Android开发环境搭建是Android应用开发的基础, Android开发环境的搭建包括安装Java JDK、下载Eclipse、安装ADT(Android Development Tools)、安装Android SDK、安装手机USB...

    Android移动开发-HelloWorld入门.zip

    在Android移动开发的世界里,"HelloWorld"是一个经典的入门示例,它标志着开发者初次与这个平台的交互。这个"Android移动开发-HelloWorld入门.zip"压缩包,显然是为初学者设计的,旨在引导他们理解Android应用程序的...

Global site tag (gtag.js) - Google Analytics