Android开发 - Activity 初步

back>>

1. Activity的作用
    * 是android应用程序和用户交互的接口;
    * 一个Activity中可以放置很多控件,可以把Activity看做是一些控件的容器。
   
2. 创建Activity的方法
    * 创建一个Activity类,一个Activity就是一个类,并且这个类要继承Activity;
    * 覆写父类的onCreate方法,当一个Activity第一次运行时,会调用该方法;

    * 设置布局文件: setContentView(R.layout.main);
    * 一个应用程序可以有很多个Activity;
        - 在一个Activity中启动另外一个Activity的方法: startActivity(Intent intent);(见代码02_Activity_01,乘法计算)

        - Activity可以启动另外一个Activity(不限于Activity,可以是其它组件),并且所启动的组件可以不在当前应用程序中;

    * Activity必须注册到AndroidManifest.xml文件中

        <activity android:name=".Activity01"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        <activity android:name=".Activity02"
                  android:label="@string/app_name">
        </activity>

    * 应用程序启动时,会首先调用在AndroidManifest.xml里注册的有intent-filter元素的那个Activity。

 

3. Intent的作用: 相当于B/S结构中的request请求,在Activity(不限于Activity)之间传递数据

    * Intent是一个对象,包含了一组信息:

        - Component name: 指定要启动的组件(Activity)

        - Action: 指定下一个组件要执行的操作

        - Data: 传递给下一个组件的数据,RUI形式

        - Category

        - Extras: 传递给下一个组件的数据,键值对的形式

        - Flags
    * 使用Intent在Activity之间传递数据的基本方法;

			Intent intent = new Intent();
			intent.putExtra("one", factorOneStr);
			intent.putExtra("two", factorTwoStr);
			
			//Activity01.this是当前Activity,Activity02.class是要跳转到的组件
			intent.setClass(Activity01.this, Activity02.class);
			Activity01.this.startActivity(intent);//启动

    * 在另外一个Activity中得到传递的Intent对象

		Intent intent = getIntent();

		String factorOne = intent.getStringExtra("one");
		String factorTwo = intent.getStringExtra("two");
 


4. 在Activity中添加必要的控件

    * 在layout的配置文件中添加控件,并指定控件的id  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!--LinearLayout是线性布局(除此之外还有相对定位和绝对定位布局等),vertical表示垂直方向线性布局-->
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >    
<Button 
	android:id="@+id/myButton"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
/>
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>
 

    * 在Activity中通过控件id来访问控件,设置控件的一些样式和内容

		Button myButton = (Button) findViewById(R.id.myButton);
		myButton.setText("  这是我的第一个button");
		myButton.setOnClickListener(new MyButtonListener());
。。。
class MyButtonListener implements OnClickListener {

		public void onClick(View v) {	

		}

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值