您的位置:首页 > 移动开发 > Android开发

Android第一个应用程序helloworld项目详解

2014-09-26 16:54 477 查看
转自:/article/2742801.html

首先新建一个android项目!!

填上项目名称,选择build Target;填上包名,就建好了一个android项目,并且hello world也自动写好了!就写完了!!下面是文件分析:



1、 src目录中比较关键的有:

HelloWorldActivity类

[java] view
plaincopy

packagecn.csdn.android.hello;

importandroid.app.Activity;//->导包

importandroid.os.Bundle;

publicclass HelloWorldActivity extends Activity {//继承了Activity

@Override

public void onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

这是新程序专桉中的主要程序区块。我们开发 Android 程序的多数时间,都是在 src 目录下和 Android 打交道。

2、 gen/自动生成目录:gen 目录中最关键的程序就是 R.java 档。R.java 这个档是自动产生的。会由 ADT 插件自动根据你放入 res 目录的 XML 描述文件、图像等资源,同步更新修改'R.java' 这个文件中。所有的 Android 程序中都会有以 R.java 为名的这个文件,你完全不需要,也应避免手工修改 R.java 这个文件。

R.java 中自动产生的R类别就像是个字典一样,包含了使用者界面、图像、字串等各式的资源与相应的编号 (id) 。 Android 应用程序中很多时候会需要透过 R 类别调用资源。 编译时编译器也会查看这个资源列表,没有使用到的资源就不会编译进去,为手机应用程序节省不必要没用的空间。

[html] view
plaincopy

/* 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 cn.csdn.android.heley;

public final class R {

public static final class attr {

}

public static final class drawable {

public static final int ic_launcher=0x7f020000;

}

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;

}

}

3、res/ 中的文件 :

main.xml

[html] view
plaincopy

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello" />

</LinearLayout>

strings.xml

[html] view
plaincopy

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World, HelloWorldActivity!</string>

<string name="app_name">HelloWorld</string>

</resources>

layout/ 版面配置 (layout) 目录layout目录包含所有使用 XML 格式的界面描述文件。layout中的 XML 界面描述档就像写网页时用到的 HTML 档桉一样,用来描述萤幕上的版面编排与使用的界面元件。 XML 界面文件描述的内容可以是整张萤幕,也可以只描述一部分的界面 ( 例如描述用来产生对话框的界面元件 ) 。

虽然你也能直接通过 Java 来建立使用者界面,不过透过 XML 描述档来建立使用者 界面相对更简单,架构也更清晰,以后维护时更容易釐清问题。要使用这些界面元件,应透过R.java档中自动产生的R类别来调用。

values/ 参数值 (value) 目录values目录包含所有使用 XML 格式的参数值描述文件,可以在此添加一些额外的资源如字串 ( 很常用 ) 、颜色、风格等。使用时也是透过R 类别来调用。

4、Android 功能清单!!AndroidManifest.xml;

[html] view
plaincopy

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="cn.csdn.android.heley"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

<activity

android:label="@string/app_name"

android:name=".HelloWorldActivity" >

<intent-filter >

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

AndroidManifest.xml是 Android 程序的功能清单,应用程序在这离列出该工程所提供的功能。当应用程序开启时,会提供诸如内容提供者 (ContentProvider) 、处理的资料类型、 实际运行的类别、跨应用程序的资讯等等讯息。你可以在此指定你的应用程序会使 用到的服务 ( 诸如电话功能、网路功能、 GPS 功能等 ) 。当你新增一个页面行为类别 (Activity) 时 ,

你也需要先在此注册这个新增的 Activity 类别后,才能顺利调用。

接下来说一下项目有时候会有错误,解决方案:1、随便在java类中的一个地方排一个空格,再改回来,保存一下,有时候那个R.java不知道怎么回事不自动更新,再重新保存一下就好了,这是经验!!2、菜单有一个project下有一个clean清除,执行一下,项目会自动更新一下,这就没事了!如果这两个方法还是不行的,那有可能是你写的程序有问题!!3、还有一个经验,就是你在导入一个android项目,比如是别人写的,但是是程序没有错,但是你导进入就错了,可能是你的构建路径需要添加android的系统类库,右击项目构建路径,在打开的窗口右边有个android,在右边选择你的类库,然后应用,再返回到你的java
build path中选择添中libraries里的add library一直next就ok了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: