首先,建立一个类HelloWorldActivity:
public class HelloWordActivity extends Activity {

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

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

setTitle("Hello World");

}

在这个类中,我们看到了我们写的类继承了Activity这个类,Activity这个在android中是非常常用的。比较容易理解的说话,一个Activity就相当于手机屏幕的一屏。如果把手机比作浏览器,那个Activity就相当于一个网页;在Activity中可以一些控件(view),并能够对这些控件做一些相应的处理。 一个android的程序通常会由多个Activity组成,不同的Activity之间可以跳转;和网页的跳转是类似的。而且Activity之间的跳转是可以有返回值的。比如从Activity1 跳转到Activity2,Activity2结束后,有可能会返回一个值给Activity1. Activity生命周期是由android的系统进行维护的;这在以后的文章将会详细介绍。

当实现自己的Activity的时候,一般都需要重载onCreate 这个方法来实现添加控件,处理控件的相关功能等。setContentView(R.layout.main);就是实现控件的添加布局(视图)。视图由R类负责寻找。 而R.layout.main 会指向res/layout/main.xml 这个配置文件,在这个配置文件中,可以添加控件,并对控件进行布局。下面我们讲一下android工程的结构,会便于理解这个问题。

如下图,所示:





src下面是自己的写的代码,同时我们可以看到,还有一个gen目录,在该目录下面有个R.java的文件。R文件由ADT自动生成,程序员不需要也不要去修改它,R文件负责调用应用程序中的非代码资源。在R文件中每一个资源文件都会对应一个整数。 如下所示:



public final class R {

public static final class attr {

}

public static final class drawable {

public static final int icon=0x7f020000;

}

public static final class id {

public static final int button1=0x7f050006;

public static final int button2=0x7f050007;

public static final int lineLayout1=0x7f050003;

public static final int linelayout1=0x7f050002;

public static final int text1=0x7f050000;

public static final int text2=0x7f050001;

public static final int textview1=0x7f050004;

public static final int textview2=0x7f050005;

}

public static final class layout {

public static final int frame_layout=0x7f030000;

public static final int main=0x7f030001;

}

public static final class string {

public static final int app_name=0x7f040001;

public static final int hello=0x7f040000;

}

}

这里需要注意的是android系统本身也有一个R.java的文件,在android这个包下面。当import了这个系统的R的时候(import android.R;),我们需要通过带包名的方式来访问项目的R.java.比如:

setContentView(org.terry.R.layout.main);

Res目录下面对应这个资源文件,包括工程用到的图片,xml文件等。也就是resource目录,这个目录下存放资源文件,资源文件的统一管理,也是Android系统的一大特色。现在要注意看的是layout目录下的main.xml等文件(建立下面的时候,默认会生成main.xml文件,用于主Activity的布局,如果你需要设置其他Activity的布局,可以添加其他的xml文件)。这个文件的内容是有关用户界面布局和设计的,setContentView(R.layout.main),就是设置用户界面布局的。这个类似于网页里面的html标签语言。

在工程跟目录下面,还可以看到一个AndroidManifest.xml文件,对于每一个android工程,这个文件都是必须的。在创建工程的时候,会自动生成这个文件。该文件向Android操作系统包括程序的组件,所实现的功能,能处理的数据,要请求的资源等等。如果你知道javaweb开发,可以用web.xml 来类比这个文件。

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

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

package="org.terry"

android:versionCode="1"

android:versionName="1.0">

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



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

<activity android:name=".HelloWordActivity"

android:label="@string/app_name">

<intent-filter>

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

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

</intent-filter>

</activity>

<activity android:name =".FrameLayoutActivity"

android:label="@string/app_name">

</activity>

</application>

</manifest>其中Manifest是根节点,versionCode和versionName来表示应用程序的版本;里面可以包含0个或1个application元素,application可以包含多个activity组件等等,具体的内容我们在接下来的课程里详细讲解。程序所包含的activity的实现等等都需要在这个文件里面定义出来。比如上面application 里面添加的FrameLayoutActivity,如果不添加,当程序调用这个类的时候,就会报找不到类的错误。

更多相关文章

  1. Android文件上传
  2. android 下载文件图片圆形进度条
  3. Android(安卓)的常用控件(下拉,日期,时间,单项,多项)
  4. Android支持横行滚动的ListView控件
  5. Android倒计时
  6. Android(安卓)读写文件整理
  7. Android(安卓)ArrayAdapter的使用
  8. Android使用HttpURLConnection获取数据
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android撬动IT市场的新支点!
  2. Android的init过程详解(一)
  3. 《程序人生 —— Android实现录音、播音
  4. Android 不要把android做成ios!
  5. Android 图片加载Bit地图 OOM异常解决方
  6. Android进程与线程基本知识一
  7. 微软的 Android 计划:邪恶的天才计划或只
  8. android Setting中隐藏项实现原理与代码
  9. Android架构组件—LiveData
  10. android虚拟器启动慢的问题