一、需要了解的Android知识

①Activity:负责管理用户与信息屏的交互。应用的功能是通过编写一个个Activity子类来实现。

②布局:定义了一系列用户界面对象以及它们在屏幕上显示的位置。组成布局的定义保存在XML文件中。布局文件的命名activity_xxx(约定)

③组件是用户界面的构造模块。组件可以显示文字或图像,与用户交互,甚至布置屏幕上的其他组件。每一个组件都是View类或其子类的一个具体实例。元素的名称就是组件的类型,各元素均有一组XML属性。属性可以看成是如何配置组件的指令。

下面解释一些属性的作用:

<?xml version="1.0"encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"继承自ViewGroup    
    android:layout_width="match_parent"                                       match_parent 视图与父视图大小相同
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <TextView                           组件属性
        android:layout_width="wrap_content"视图将根据其展示的内容自动调节大小
        android:layout_height="wrap_content"
        android:padding="24dp"增加额外指定量的空间,
        android:text="台湾是中国的一部分"/>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">它决定两者子组件是水平放置还是垂直放置
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TRUE"/>指定要显示文字的内容;不是字符串值,而是对字符串资源的引用,字符串资源保存在strings的XML文件中,便于对应用进行本地化。
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="FALSE"/>
    </LinearLayout>
</LinearLayout>

④从XML布局到视图对象:关键在Activity。Activity子类实例化后onCreate(Bundle)方法就会被调用,通过setContentView(layoutResID)来获取activity的用户界面。

⑤布局是一种资源,资源是应用非代码形式的内容(图片,视频)。可以使用资源ID来在代码中获取相应的资源。

privateButton mTrueButton;
 private ButtonmFalseButton;

变量名称前加m,是一种Android命名约定。(Alt+Enter组合键可以自动导包)


使用按钮组件:(步骤)

①引用视图对象;mTrueButton=(Button) findViewById(R.id.true_button);

②为对象设置监听器,以响应用户操作。

mTrueButton.setOnClickListener(newView.OnClickListener(){
     public voidonClick(Viewview){
     }
 });


Control+R快速运行程序。

Gradle是Android的一个编译工具。

 

 二、Android与MVC设计模式

①模型对象存储着应用的数据和业务逻辑。模型类通常用来映射与应用相关的一些事物(如用户,商店里的商品)。模型对象不关心用户界面,它存在的唯一目的就是存储和管理应用数据。Android应用里的模型类通常就是我们创建的定制类。应用的全部模型对象组成了模型层。

②视图对象知道如何在屏幕上绘制自己以及如何响应用户的输入,凡是能够在屏幕上看到的,就是视图对象。应用的全部视图对象组成了视图层。

③控制对象含有应用的逻辑单元,是视图和模型对象的纽带。控制对象响应视图对象触发的各类事件,此外还管理着模型对象与视图间的数据流动。在Android中控制器通常是Activity,Fragment或Service的一个子类。

举个例子分析:

android dump布局文件 android布局文件的作用_MVC.activity

下面这个GeoQuiz的功能类似于快速问答器,可以根据不同答案给出相应结果,效果如下:

android dump布局文件 android布局文件的作用_android dump布局文件_02

项目源码下载:点击打开链接