1. activity, view概述
进行android开发,只需具有java语言基础即可。入门的开发并不需要一些高深的java知识,如Swing,网络,线程,数据库等。
刚开始进行android开发,会觉得android的架构设计得很好,接口简单,模块独立。特别是像我这种C++程序员来说,没有了框架自动添加的很多消息映射宏,窗口的启动,过多复杂的类等。如android应用程序的基本构成就采用MVC模式,界面与逻辑开发独立,程序员可以只专注于程序逻辑开发,美工可以专注于界面设计。
简单的看,activity可以认为是MVC中的control,用于产生控制逻辑;View则是MVC中的view,用于展示软件界面。而view可以用xml来简单地表示和生成,美工可以采用一些界面设计器来设计界面,而不用理会复杂的java代码。这样android就实现了逻辑与界面的良好分离,软件开发起来简单高效。
怎么将activity与view关联起来呢?
Activity提供了setContentView这个方法,只要继承Activity的子类调用该方法即可呈现view所描述的界面。View既可用xml描述,也可以用java代码来生成。
例如我们一般在activity中的onCreate函数中调用setContentView(R.layout.main),就要显示出main.xml所描述的界面来。使用setContentView也可以实现一个activity切换多个view。
下面即是android上经典的HelloWorld程序,在主界面中显示Hello.
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="hello"
/>
</LinearLayout>