Android编程权威指南(第二版)第一章-Android开发初体验
编写的首个应用名为GeoQuiz,它能测试用户的地理知识。用户单击TRUE或FALSE
按钮来回答屏幕上的问题, GeoQuiz可即时反馈答案正确与否。
PIONT 1.界面设计之层级结构,组件属性和字符串资源

界面的层级结构如图所示:

其中,xmlns是XML Namespaces的缩写,中文名称是XML命名空间。Android中xml中的使用是:xmlns:前缀=
http://schemas.android.com/apk/res/应用程序包路径;然后使用的时候按格式:namespace-prefix(前缀):属性
如果使用xmlns,则xmlns的定义必须放在最外层开始的的标记中,如本例中放在最外层的linearlayout中
另外,字符串资源保存在app/res/values/string.xml,便于统一管理应用中的字符串资源,最好将所有的复用的简短的字符串资源保存在string中,在使用的时候在代码中对string进行引用,以便日后对程序进行汉化时统一管理,不用在源码中修改字符串。
POINT 2.资源布局XML到视图对象之资源ID,组件的引用与监听器
布局是一种资源。资源是应用非代码形式的内容,比如图像文件、音频文件以及XML文件等。可以使用资源ID在代码中获取相应的资源,R.java文件在Android项目编译过程中自动生成



为了方便我贴的图片来表示,使用Android:id="@+id/****"创建这个资源的ID,要引用这个资源时,使用findViewById(R.id.****)得到资源对象。
得到了对象之后就是设置监听器使得我们定义的资源可以根据用户的操作来进行交互。为响应某个事件而创建的对象叫作监听器(listener)。 监听器是实现特定监听器接口的对象,用来监听某类事件的发生。无需自己编写, Android SDK已经为各种事件内置开发了很多监听器接口。

资源对象.setOnClickListener,设置这个对象的点击事件的响应是什么,这里使用了匿名内部类,原书上对这个部分讲解的很清楚,直接上图

对按钮点击的响应使用toast,也就是在屏幕的正下方有一段小的信息提示
Toast.makeText(QuizActivity.this,R.string.correct_toast,Toast.LENGTH_SHORT).show();
第一个参数为acitivity的实例,第二个为消息提示的具体内容,第三个是表示toast显示的时间长短

浙公网安备 33010602011771号