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

简介:
+关注继续查看
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 

转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/301.html




———————————————————————

多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑这一块;请点击下面联系进入阅读:

【Android游戏开发十九】(必看篇)SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处理! 』

——————————————————————-

今天讲下在Surfaceview中如何实现两个或者多个Activity之间的切换与数据交互,为了更形象一些我做了一个游戏登录界面的demo,其中对于输入界面的布局这些我也是随意写了下,主要是实现功能并没有花时间去美化,所以大家可以自己去xml或者代码中去改变布局,每个小组件的宽高等。好了,下面先上图(本人超爱~哆啦A梦,所以少不了用哆啦A梦的图了,娃哈哈)

 

 

 

由于代码中一共写了三个类,这里不再全部贴出来,不方便;大家可以在文章的末尾去下载源码;

两个activity之间切换我概括的分为两步:

1. 代码实现切换操作。2.配置中声明另外一个acitivity!

我们先看第一步:这里是触屏处理中的一段代码:

显示定义一个intent 对象,Intent 这个类的机制是协助交互的,详细的说明这里不多讲;

Intent 中的putExtra()函数是起到两个activity之间交互交互的,这个方法类似 hashtable 或者hashmap中的put是一样的,第一个参数是key(索引) ,后一个参数volue(值),根据key我们可以得到对应的volue了。那么后面我也附上接受的处理。

Intent 中的setClass()函数也是传入两个参数,第一个是传入当前实例的activity对象,后面一个参数指需要打开的activity这个类!然后我们就可以利用当前activity对象来启动另外一个activity了。然后我们看下在另外一个activity是如何创建并且怎么接受数据的。

以上代码可以看出,新建一个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!下面附上xml中的code!

<!—->此符号是注释

这里我们有两个声明方法,用注释隔开了,上面一个声明中还设定了一些属性,theme显示的形式,等等,其实最简单的声明也是可以的就像注释下面那一句声明就足以起到作用了。

当有新的activity的时候一定要去声明;千万不要忘记这一步。

备注:配置中有一属性 -> android:screenOrientation 这是设置横屏,所以竖屏中点击会有问题,如果想竖屏显示正常那么可以自行删除xml中的  android:screenOrientation=”landscape”     就可以了。

源码下载: “一个简单注册界面Register_Project.rar”      下载地址:  http://vdisk.weibo.com/s/hq3fw

相关文章
|
8月前
|
Android开发 容器
Android实现面包屑效果,支持Fragment联动
Android实现面包屑效果,支持Fragment联动
|
8月前
|
Android开发
Android实现连线题效果
Android实现连线题效果
|
8月前
|
Android开发
flutter中实现仿Android端的onResume和onPause方法
flutter中实现仿Android端的onResume和onPause方法
|
9月前
|
Android开发
Android实现调用系统相机录像及实现录音
Android实现调用系统相机录像及实现录音
403 0
|
9月前
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
262 0
通过howler.js实现在Android下的微信浏览器自动播放音频
|
9月前
|
存储 Dart Java
【Flutter】packages思维以及使用Java添加Android平台特定的实现在Flutter框架里的体现和运用
【Flutter】packages思维以及使用Java添加Android平台特定的实现在Flutter框架里的体现和运用
|
9月前
|
缓存 JSON Java
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
245 1
java 实现读取txt文件,反射创建对象,android 手机缓存文件目录
|
9月前
|
数据库 Android开发
android 多级下拉菜单实现教程 greendao使用
android 多级下拉菜单实现教程 greendao使用
103 0
android 多级下拉菜单实现教程 greendao使用
|
9月前
|
XML 开发工具 Android开发
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
211 0
Android自定义控件(十三)——实现CSDN搜索框文字提示容器
|
9月前
|
XML Android开发 数据格式
Android自定义控件(十一)——自定义ViewGroup实现LinearLayout
Android自定义控件(十一)——自定义ViewGroup实现LinearLayout
325 0
相关产品
云迁移中心
推荐文章
更多