【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
今天讲下在Su易做图ceview中如何实现两个或者多个Activity之间的切换与数据交互,为了更形象一些我做了一个游戏登录界面的demo,其中对于输入界面的布局这些我也是随意写了下,主要是实现功能并没有花时间去美化,所以大家可以自己去xml或者代码中去改变布局,每个小组件的宽高等。好了,下面先上图(本人超爱~哆啦A梦,所以少不了用哆啦A梦的图了,娃哈哈)
由于代码中一共写了三个类,这里不再全部贴出来,不方便;大家可以在文章的末尾去下载源码;
两个activity之间切换我概括的分为两步:
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) {
&
补充:移动开发 , Android ,