Android——Activity初步(二)

说明:

Android这个系列中使用的开发工具为:Eclipse中配置ADT插件。

 

 

 

<LinearLayout – 表示使用的是线性布局管理器xmlns:android=http://schemas.android.com/apk/res/android—引用Android
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"—表示宽度为全屏
    android:layout_height="match_parent"—表示高低为全屏
    android:orientation="vertical" >--表示此布局下的组件以垂直的方式码放

    <TextView—定义一个文本显示组件
        android:layout_width="wrap_content"—-此组件宽度为包裹
        android:layout_height="wrap_content"—此组件的高度也是为包裹
        android:text="这是我的第一个程序" />--此组件显示的内容

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World" />

</LinearLayout>

 以上就是我们的布局管理器。

观察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中,这是一个规则,必须遵守,当然,在后续的博客中,可能会为了简便,直接写在布局文件中。 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">第一个Android程序</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="textcontent">这是我的第一个程序</string>
    <string name="helloworld">Hello World</string>
</resources>

对于这个资源文件,有一个编写规则,就是类似于我们Map集合,是一个键值对应的关系,键是不能重复的。

    <TextView
        android:id="@+id/mytext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/textcontent" />--通过键 显示值

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/helloworld" />

AndroidManifest.xml:是我们Android应用程序的核心配置文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstproject"
    android:versionCode="1"—我们这个应用的版本
    android:versionName="1.0" >--可以让用户看到的版本
    <uses-sdk
        android:minSdkVersion="10" – 这边是SDK的最低的版本
        android:targetSdkVersion="10" />--开发此应用所使用的版本
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"—程序安装之后的图标
        android:label="@string/app_name"—程序安装之后的名称
        android:theme="@style/AppTheme" >-程序所使用的主题
        <activity—配置Activity程序,以后所有的Activity程序都需要在此文件中进行配置
            android:name="com.example.myfirstproject.MyFirstActivity"
            android:label="@string/app_name" >--此Activity的名称
            <intent-filter>--配置了一个过滤器
                <action android:name="android.intent.action.MAIN" />--配置为主Activity,表示此应用已开启,就启动此Activity

                <category android:name="android.intent.category.LAUNCHER" />--配置
            </intent-filter>
        </activity>
    </application>
</manifest>

当然除了以上的配置之外,以后我们在此文件中配置比较多的就是配置权限。

继续来完成我们程序。其实我们的一个组件就是一个对象,那么对象肯定有类型,比如我们这个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文件中保存。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛栗子201105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值