Android註冊介面執行個體代碼

來源:互聯網
上載者:User

1:代碼實現切換操作
2:配置中聲明另外一個acitivity

我們先看第一步,這裡是觸屏處理中的一段代碼:

 代碼如下 複製代碼
public boolean onTouchEvent(MotionEvent event) {
    float pointx = event.getX();
    float pointy = event.getY();
    if (pointx > bp_x + 14 && pointx < bp_x + 14 + 117) {
        if (pointy > bp_y + 43 && pointy < bp_y + 43 + 15) {
        // 帳號
        Intent i = new Intent();// 得到一個意圖的執行個體
        i.putExtra("count", 1);// 寫出資料
        i.putExtra("himi", str_zh);
        i.setClass(MainActivity.instance, Register.class);// 設定當前activity以及將要操作的類
        MainActivity.instance.startActivity(i);// 用當前activity來啟動另外一個activity
        }
    }
}

顯示定義一個intent對象,Intent這個類的機制是協助互動的,詳細的說明這裡不多講。

Intent中的putExtra()函數是起到兩個activity之間互動互動的作用,這個方法類似 hashtable 或者hashmap中的put,第一個參數是key(索引) ,後一個參數volue(值),根據key我們可以得到對應的volue了。那麼後面我也附上接受的處理。

Intent 中的setClass()函數也是傳入兩個參數,第一個是傳入當前執行個體的activity對象,後面一個參數指需要開啟的activity這個類!然後我們就可以利用當前activity對象來啟動另外一個activity了。然後我們看下在另外一個activity是如何建立並且怎麼接受資料的。

 代碼如下 複製代碼

package com.himi;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

/** * @author Himi **/

public class Register extends Activity {
    private Button button_ok;
    private EditText et;
    private TextView tv;
    private LinearLayout ly;
    private Register rs;
    private byte count;

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        rs = this;
        ly = new LinearLayout(this);
        button_ok = new Button(this);
        button_ok.setWidth(100);
        button_ok.setText("確定");
        button_ok.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
            if (count == 1) {
                MySurfaceView.str_zh = et.getText().toString();
            }
            else if (count == 2) {
                MySurfaceView.str_pass = et.getText().toString();
            }
            rs.finish();
        }
    });

    Intent intent = this.getIntent();
    count = (byte) intent.getIntExtra("count", 0);
    String temp_str = "";
    String temp_str2 = "";
    et = new EditText(this);
    tv = new TextView(this);
    if (count != 3) {
        temp_str = intent.getStringExtra("himi");
        if (count == 1) {
            rs.setTitle("請輸入帳號!");
        }
        else {
            rs.setTitle("請輸入密碼!");
        }
        ly.addView(tv);
        ly.addView(et);
        ly.addView(button_ok);
        if (temp_str != null) {
            et.setText(temp_str);
        }
    }
    else {
        temp_str = intent.getStringExtra("himi_zh");
        temp_str2 = intent.getStringExtra("himi_pass");
        rs.setTitle("您輸入的資訊:");
        tv.setText("帳號:" + temp_str + "n" + "密碼" + temp_str2);
        ly.addView(tv);
        ly.addView(button_ok);
        if (temp_str != null) {
            et.setText(temp_str);
        }
    }
    setContentView(ly);
 }
}

以上代碼可以看出,建立一個activity其實只需要繼承Activity以及重寫onCreate()方法即可。當然建立的還需要一步很重要的步驟,我會在第二步中會詳細說明,這裡我們看下是如何接受之前的activity傳來資料的。

 代碼如下 複製代碼
Intent intent = this.getIntent();
count = (byte) intent.getIntExtra("count", 0);

接受也是很簡明易懂,建立一個Intent 意圖對象,調用來去getIntExtra函數得到之前傳來的資料,根據key。當然還有getStringExtra()等等函數都是類似,只是根據你傳入的資料不同選擇不同函數罷了。同學們應該注意的是getIntExtra中第二個參數是什麼意思,其實就是一個對於找不到key相匹配的時候會預設return 0;

那麼下面介紹第二步:在配置中聲明

當建立一個activity的時候我們必須在AndroidMainFeset.xml中去聲明我們建立的這個類是個Activity。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.