Android有感(9):10.使用XML文件和Java代码控制UI界面

Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

我们可以在app\src\main\res\layout目录下定义一个XML文件(R.java文件会自动收录该资源),然后可以在Java代码的Activity组件中通过setContentView(R.layout.<资源文件名字>)显示出来。

在XML文件中添加组件的时候,可以为组件指定android:id属性,然后就可以在Java代码中通过findViewById(R.id.<android:id属性>)访问该组件。

当然android也支持完全使用Java代码设置UI界面,实现类似于Swing,下面是一个简单的例子:

package zxc.blogtest;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);
        super.setContentView(layout);
        layout.setOrientation(LinearLayout.VERTICAL);
        final TextView show = new TextView(this);
        Button bn = new Button(this);
        show.setText("HelloWorld");
        bn.setText("Button");
        layout.addView(show);
        layout.addView(bn);
    }
}

创建组件时传入的this是一个Context参数,这是Activity和Service的基类,传入的参数可以让UI组件获取到Android的全局变量。

这种设置UI界面的方式非常不优美,而且和其他的逻辑代码放在一起会让人觉得很混乱,非常不推荐。

关于XML文件,前面已经有了简单的介绍,后面也将会有相当多的博客来介绍这方面的内容,这里就先不说了。

时间: 12-07

Android有感(9):10.使用XML文件和Java代码控制UI界面的相关文章

Android手机如何获取power_profile.xml文件

最近在做关于能耗方面的测试,看了一个月时间的论文,终于找到了一些新的思路,但是一个问题出现了,以至于 工作无法再进行下去. 在Android手机中,对于手机中的每个部件(cpu.led.gps.3g等等)运行时对应的能耗值都放power_profile.xml 文件中,而且系统的 设置-->电池-->使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数 的.Android手机如何获取power_profile.xml文件呢?接下来我们会详细介绍该问题

Android——控制UI界面

一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/FrameLayout1" android:layout_width

Android项目中的config.xml文件 “config.xml”

Android应用程序需要保存一些配置时,可以将这些配置项放置到values/config.xml文件中. 实例分析: <?xml version="1.0" encoding="utf-8"?> <!-- /* ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "Lice

【Android】解决新建的xml文件无法正常加载的问题

新建一个xml布局文件,如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent&q

使用xml和java代码混合控制UI界面

main.xml.................... <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="horizontal"     android:layout_width=&qu

怎么查看jar包里面的.class文件源java代码

http://book.zhulang.com/299056/736458.html http://book.zhulang.com/299056/736459.html http://book.zhulang.com/299056/736460.html http://book.zhulang.com/299056/736461.html http://book.zhulang.com/299056/736462.html http://book.zhulang.com/299056/7364

android基础知识13:AndroidManifest.xml文件解析

1.重要性 AndroidManifest.xml是Android应用程序中最重要的文件之一.它是Android程序的全局配置文件,是每个 android程序中必须的文件.它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息. 因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所

SAX方式解析xml文件查看天气

1.SAX方式解析xml文件的步骤: ①创建解析器工厂对象 ②使用当前配置的工厂参数创建SAXParser对象 ③解析xml文件 ④利用DefaultHandler创建事件驱动者 2.对于标签对象进行引用怎么办? ①定义当前解析的标签:private String tagName=null; ②在startElement()方法中赋值tagName:this.tagName=qName; ③在endElement()方法中将tagName赋值为空:this.tagName=null; ④在cha

利用pull方式进行xml文件查看天气

1.需要使用到的java文件 解析china.xml文件中的内容. 利用pull方式进行xml文件步骤: ①直接创建出XmlPullParser解析器对象  XmlPullParser xmlPullParser = Xml.newPullParser(); ②设置解析的文件输入流 并且制定输入流在操作方式中的编码方式    xmlPullParser.setInput(getClass().getClassLoader().getResourceAsStream("china.xml"