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

来源:互联网 发布:霏凡软件 编辑:程序博客网 时间:2024/04/29 13:59


转自:http://blog.csdn.net/rhljiayou/article/details/7044323


首先新建一个android项目!!

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


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

HelloWorldActivity类

[java] view plaincopy
  1. packagecn.csdn.android.hello;  
  2. importandroid.app.Activity;//->导包  
  3. importandroid.os.Bundle;  
  4. publicclass HelloWorldActivity extends Activity {//继承了Activity  
  5.     @Override  
  6.     public void onCreate(BundlesavedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.main);  
  9.     }  
  10. }  


这是新程序专桉中的主要程序区块。我们开发 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
  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 cn.csdn.android.heley;  
  9.   
  10. public final class R {  
  11.     public static final class attr {  
  12.     }  
  13.     public static final class drawable {  
  14.         public static final int ic_launcher=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. }  


3、res/ 中的文件 :

main.xml

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <TextView  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:text="@string/hello" />  
  11.   
  12. </LinearLayout>  
strings.xml

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.   
  4.     <string name="hello">Hello World, HelloWorldActivity!</string>  
  5.     <string name="app_name">HelloWorld</string>  
  6.   
  7. </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
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="cn.csdn.android.heley"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     <uses-sdk android:minSdkVersion="7" />  
  8.   
  9.     <application  
  10.         android:icon="@drawable/ic_launcher"  
  11.         android:label="@string/app_name" >  
  12.         <activity  
  13.             android:label="@string/app_name"  
  14.             android:name=".HelloWorldActivity" >  
  15.             <intent-filter >  
  16.                 <action android:name="android.intent.action.MAIN" />  
  17.   
  18.                 <category android:name="android.intent.category.LAUNCHER" />  
  19.             </intent-filter>  
  20.         </activity>  
  21.     </application>  
  22.   
  23. </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了!


0 0