Android开发学习笔记(程序目录结构及基本概念)

选定《深入浅出Android》作为入门资料,同时还需要找个开源项目做参考以加深学习。虽然ADT本身有带不少例子,但我还想找个复杂点的例子。曾在java上看到javaeye android客户端开源的消息,于是就不费心去找其他的例子了http://code.google.com/p/javaeye-android-client/

先创建一个新的Android主要目录如下

|~gen/ 系统自动生成的文件
| `~com/
|   `~haoluobo/
|     `-R.java
|~res/ 资源文件,图片以及界面描述等xml文档
| |+drawable-hdpi/
| |+drawable-ldpi/
| |+drawable-mdpi/
| |~layout/ 界面布局的描述文件
| | `-main.xml
| `~values/
|   `-strings.xml 字符串常量
|+src/ java代码

Android的界面虽然可以完全用java代码完成,但使用XML定义界面使界面和实现代码分开,更有利维护。且ADT提供了界面预览功能,可以直观的看到界面效果。

界面使用XML定义后,界面元素和java代码又要如何交互?所以就有了系统自动生成的R.java这个java类。ADT会在R.java里为XML里的界面元素创建对应的ID(int类型的常量)。根据元素类型的不同,常量保存在不同的子类中。这里说得有些不明白,直接上代码。

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }

…….

java代码里要获取对应的页面元素使用如下的方法

usernameField = (EditText)findViewById(R.id.username_field);