当前位置:操作系统 > 安卓/Android >>

【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!

 

今天讲下在Surfaceview中如何实现两个或者多个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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,