android学*资料注册界面实例

发布于:2021-07-20 04:57:41

此文章由麦可网 收集整理,转载请注明出处。

Android 注册界面实例 在 Surfaceview 中如何实现两个或两个以上 Activity 之间的切换与数据交互呢?为了更好的 表达我简单的做了一个游戏 android 注册界面,其中对于输入界面的布局这些我也只是随意 的写了下,主要是实现功能并没有花时间去美化,所以大家可以自己去 xml 或者代码中去 改变布局,每个小组件的宽高等。 两个 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) { 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。


相关推荐

最新更新

猜你喜欢