【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

相关文章
|
3月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
38 0
|
3月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
42 1
|
3月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
43 2
|
9天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android&#39;s AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
9 0
|
9天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
9 0
|
1月前
|
移动开发 JavaScript Android开发
Android与Html5交互
Android与Html5交互
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
2月前
|
Android开发 数据安全/隐私保护
【Android Studio】简单的QQ登录界面
【Android Studio】简单的QQ登录界面
|
2月前
|
XML Android开发 数据格式
安卓和webview交互
安卓和webview交互
25 0
|
3月前
|
JSON Java Android开发
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
Android网络和数据交互: 请解释Android中的JSON解析库,如Gson。
24 0