说明:
Android这个系列中使用的开发工具为:Eclipse中配置ADT插件。
--表示此布局下的组件以垂直的方式码放
--此组件显示的内容
以上就是我们的布局管理器。
观察Activity程序,我们在开发这个程序的时候,对于Activity程序并没有做修改
package com.example.myfirstproject;
import android.app.Activity;
import android.os.Bundle;
public class MyFirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);--调用父类的onCreate()方法
setContentView(R.layout.activity_my_first);--设置显示的组件,这个内容是通过R.java 文件中取得的,R.java文件我们称为注册文件,不需要用户修改,是自动生成的。
}
}
大家发现,我们在Eclipse中建立的Android程序有非常多的文件夹,那么现在不同的文件夹中放的内容又是哪些呢?
在我们的布局文件中,直接将字符串内容写在里面,这样写法是不准确的,在以后的开发中,我们的字符串都需要写在strings.xml中,这是一个规则,必须遵守,当然,在后续的博客中,可能会为了简便,直接写在布局文件中。
第一个Android程序
Settings
Hello world!
这是我的第一个程序
Hello World
对于这个资源文件,有一个编写规则,就是类似于我们Map集合,是一个键值对应的关系,键是不能重复的。
--通过键 显示值
AndroidManifest.xml:是我们Android应用程序的核心配置文件
--可以让用户看到的版本
--开发此应用所使用的版本
-程序所使用的主题
--此Activity的名称
--配置了一个过滤器
--配置为主Activity,表示此应用已开启,就启动此Activity
--配置
当然除了以上的配置之外,以后我们在此文件中配置比较多的就是配置权限。
继续来完成我们程序。其实我们的一个组件就是一个对象,那么对象肯定有类型,比如我们这个TextView就是一个类,此类对象表示的是一个文本的显示组件。注意,所有的组件都必须配置在Activity程序中,那么我们也可以在Activity程序中取得这些组件。
public class MyFirstActivity extends Activity {
private TextView mytext1 = null;
private TextView mytext2 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_first);
this.mytext1 = (TextView) super.findViewById(R.id.mytext1);//取得布局中所定义的组件
this.mytext2 = (TextView) super.findViewById(R.id.mytext2);
this.mytext1.setText("程序之美");//重新设置文本显示内容
this.mytext2.setText("Android is useful");
}
}
除了取得布局文件中组件和设置组件内容之外呢,我们还可以在Activity程序中定义一个新的组件。
public class MyFirstActivity extends Activity {
private TextView mytext1 = null;
private TextView mytext2 = null;
private LinearLayout mylayout = null;
private Button but = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_first);
this.mytext1 = (TextView) super.findViewById(R.id.mytext1);//取得布局中所定义的组件
this.mytext2 = (TextView) super.findViewById(R.id.mytext2);
this.mylayout = (LinearLayout) super.findViewById(R.id.mylayout);
this.mytext1.setText("程序之美");//重新设置文本显示内容
this.mytext2.setText("Android is useful");
this.but = new Button(this);//实例化按钮组件
this.but.setText("你点我呀");//设置按钮组件内容
this.mylayout.addView(this.but);//将按钮组件放置在布局管理器中
}
以上的程序我们都使用了布局文件,当然也可以不使用布局文件。
public class MyFirstActivity extends Activity {
private LinearLayout mylayout = null;
private Button but = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.mylayout = new LinearLayout(this);
setContentView(this.mylayout);
this.but = new Button(this);//实例化按钮组件
this.but.setText("你点我呀");//设置按钮组件内容
this.mylayout.addView(this.but);//将按钮组件放置在布局管理器中
}
}
在的开发中,虽然可以不使用布局文件,但上班中正式的开发我们肯定是要使用布局文件的。
小结:
1、Android项目由若干个Activity程序所组成,每一个Activity都是一个Java类;
2、一个Android项目中所有用到的资源都保存在res文件夹之中;
3、Android中的组件需要在布局管理器中进行配置,之后在Activity程序中可以使用findViewById()方法查找并进行控制;
4、在布局管理器中定义的每一个组件都有其对应的操作类,用户可以直接实例化这些类的对象进行组件的定义显示;
5、标准的Android项目,所有的文字显示信息应该保存在strings.xml文件中保存。