偶滴第一个安卓项目

来源:互联网 发布:繁体流程图软件 编辑:程序博客网 时间:2024/05/24 01:49
 

我们所做的第一个android的项目必须是HelloWorld啦

代码如下:

HelloWorldActivity.java

package cn.lyhz;

import android.app.Activity;

import android.os.Bundle;

public class HelloWorldActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

}

1、继承了Activity这个类

 2、重写了onCreate这个入口方法

          1)方法中传递了一个BundlesavedInstanceState

          2)方法中调用了父类的方法super.onCreate(savedInstanceState);

          3)setContentView(R.layout.main);

3、R.layout.main:输出的是整型

 

R.xml
package cn.lyhz;

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;
    }
R.layout.main中的R是gen目录下eclipse自动生成的一个final类       

在R.java中有四个静态内部类:

                   staticfinal class attr

                            将存放在res中values下xml中的数组对象生成唯一的十六进制ID

                   staticfinal class drawable

                            将存放在res中的图片生成唯一的十六进制ID

                   staticfinal class layout

                            将存放在res中layout下的布局文件生成唯一的十六进制ID

                   staticfinal class string

                            将存放在res中values下xml中的键值对生成唯一的十六进制ID

         当我们在代码中用到res中各文件中的属性的时候直接以此类方法R.layout.main调用即可

main.xml

<?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>

这是schema约束

是名字空间(默认的):xmlns:android="http://schemas.android.com/apk/res/android"    

 

 

AndroidManifest

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

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

     package="cn.sword.Activity"    <!-- 当前应用所在包 -->

     android:versionCode="1"

     android:versionName="1.0">

 

      <!-- @:次标记可以理解为读取R.java中的资源 

android:icon="@drawable/icon"为应用程序的图标

android:label="@string/app_name"为应用程序的名称  -->

<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">

 

    <!--用以描述一个activity

        .MainActivity中的“.”意思是当前包路径下的MainActivity,此时可以省略

        必须是上面package中所生明的路径,或其下面的子路径

        如果是多级路径,“.”不能省略,如.sub.MainActivity

       <activity android:name=".MainActivity"

                  android:label="@string/app_name">

            <!--意图过滤器:安装android应用时系统读取此信息

                下面的信息用以声明当前应用的启动activity,它会被系统显示在程序菜单栏中 ,如果是其它意图,可以修改为别的内容

当activity中配置有<intent-filter>意图过滤器时在程序启动后会首先进入这个Activity

            -->

           <intent-filter>

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

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

           </intent-filter>

       </activity>

 

        <!--另外两个activity -->

        <activityandroid:name=".OtherActivity" />

        <activityandroid:name=".ThreeActivity" android:theme="@android:style/Theme.Dialog"/>

</application>

<!—sdkandroid的版本 -->

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

</manifest>

 

 

 

 

 

其实这些代码都不是我自己写的,建好后就是这样。

介绍一下项目的目录吧!

项目的根下有六个文件夹:

Src:专门存放我们编写的java源代码的包

Android2.1:存放android自身的jar包

Gen:该目录不用我们自己维护,但又是非常重要的目录。该目录用来存放有android开发工具所生成的目录。该目录下的所有文件都不用我们自己创建,而是有ADT自动生成的,该目录下的R.java文件非常重要。

Assets:给目录用来存放应用中用到的类似于视频文件MP3一些媒体文件

Res:  res是resource的缩写。我们称该目录为资源目录。该目录可存放一些图标,界面文件,应用中用到的文字信息。

       res/drawable-hdpi:存放高分辨率的图标;

       res/drawable-ldpi:存放低分辨率的图标;

       res/drawable-mdpi:存放中等分辨率的图标;

value/string.xml:用来定义字符串和数值,在activity中使用getResouces().getString(resouceId)或者

getResouces().getText(resouceId)取得资源。

AndroidManifest.xml:给文件是功能清单文件,该文件累出了应用中所使用的组件,如:“activity”,以及后面要学习的广播接收者,服务等组件。

proguard:是混调器,用来压缩代码,加密代码

project.properties:该文件一般也不需要手工去更改。该文件存放了项目对应的一些环境配置如应用要求运行的最低版本android版本。

介绍完之后让我们运行一下吧。。。。。