前言
上一节我们通过一个Demo熟悉了Eclipse的基本使用、如何在模拟器和手机中运行以及如何打包成APK,但没具体编写代码,相信很多同学已经按耐不住了吧,这一节我们会动手编写代码来熟悉Android SDK的情况和JAVA的一些特性。
声明
本系列文章不是教程,仅为笔记,如有不当之处请指正。
正文
我们先了解一下编写程序都要涉及到哪些东西,熟悉一下SDK的基本组件,然后编写一个很简单的小程序。
一、分析Demo
在上一节建立的工程Demo下,打开src/com.android.demo下的DemoActivity.java,如下所示:
![9b231fe485f4f3efcfba96a685499090.png](https://img-blog.csdnimg.cn/img_convert/9b231fe485f4f3efcfba96a685499090.png)
Demo程序的代码就只有13行,我们依次来分析一下:
package com.android.demo;/** 申明这个文件的代码属于包“com.android.demo” */
import android.app.Activity;/** 从Android SDK中引用Activity组件 */
import android.os.Bundle;/** 从Android SDK中引用Bundle组件 */
public class DemoActivity extends Activity {/** 新建类DemoActivity,继承Activity,它就拥有Activity的特性了 */
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {/** 重写基类的同名函数,程序运行候创建Activity时被调用 */
super.onCreate(savedInstanceState);/** 调用基类的同名函数 */
setContentView(R.layout.main);/** 设置试图,用于显示界面 */
}
}
第1行,声明代码属于哪个包,这里的包名得与文件所在的包对应上,否则会报错。
第3、4行,引用组件。这里的“引用”并不像其他语言的include那样将文件包含进来,只是告诉编译器,后面会使用到这里面的成员。
关于Package 与 Import的详细说明,>>请到这里查看。
第6行,新建一个类DemoActivity,继承Activity。JAVA是一门完全面向对象的语言,所有东西都要封装在类里面,之前不熟悉面向对象的朋友估计会很不习惯(话说我之前用PHP做WEB开发,哪里都能写实现…)。DemoActivity类继承了Activity的特性,就属于一个“Activity”了(前面提过,Activity是Android中的基本组件之前,非常之基础,任何有界面的程序都有它)。
想深入了解“面向对象”的同学,>>请到这里查看。
第9行,重载onCreate函数。有编程经验的同学看到on前缀就知道这个函数是个回调函数,属于小受受,只能“被”,它在Activity这个界面开始创建时被调用。
第10行,调用基类的同名函数。基类还有些事情要处理呢,得通知他。
第11行,指定用哪个视图来显示界面。从字面上可以看到setContentView(R.layout.main),采用R.layout.main作为试图,那么R.layout.main代表什么?我们要修改的话从哪里下手呢呢?
我们在上一节介绍工程文件的时候介绍过一个由IDE自动维护的文件夹gen,里面有个R.java文件,有同学可能明白了,这里就是引用里面的内容,如下所示: