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文件,前面已经有了简单的介绍,后面也将会有相当多的博客来介绍这方面的内容,这里就先不说了。

时间: 2024-10-17 03:31:03

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

Android控制UI界面

⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制,从而更好的体现MVC原则. Android把用户界面放在XML文档中定义,就可以让XML文档专门负责用户UI设置,而Java程序则专门负责业务实现,这样可以降低程序的耦合性. 当我们在Android应用的\res\layout目录下定义一个主文件名任意的XML布局文件之后(R.java会自动收录该布

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

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

八、Android学习第七天——XML文件解析方法(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:extensible markup language 定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 解析XML的方式: SAX——Simple API for XML,既是一种接口,也是一个软件包采用的是事件驱动,也就是它解析

Android中解析与创建XML文件

Android中解析与创建XML文件 在Android中对XML的操作有多种方式,常见的有三种方式:SAX.DOM和PULL方式. DOM方式会把整个XML文件加载到内存中,在PC上常使用DOM的方式. 但是在性能敏感的设备上,主要采用的是SAX的方式,但是缺点是嵌套多个分支的时候处理不是很方便. 而PULL的方式类似SAX方式,同样很节省内存. 因此,本文章中只提供PULL的方式解析与创建XML文件. 基础类 本例中使用的实体类的定义如下: public class CAddress impl

android使用XmlPullParser来解析XML文件

解析以下的一个XML: <?xml version="1.0" encoding="utf-8" ?> <rss><sid>77f265bb46de068e78f35afbadec62af</sid><count>3</count><control>0</control> <mblog><uid>1195224593</uid><

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

使用ant批量将corba的idl文件生成java代码

这次有30多个idl文件需要生成java代码,并且其中有些idl之间相互引用,用命令一个个生成感觉非常反锁,并且容易出问题,看到jacorb中的例子是用ant来生成的,与自己也用ant批量生成了,在这里记录下主要的代码内容,供下次参考. ant的build.xml文件内容如下: <?xml version="1.0"?> <!-- 批量将idl生成java代码 --> <project name="idlBuilder" default

android基础(1):控制UI界面

一:xml布局文件控制UI界面 activity_main.xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView 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