Android中贪吃蛇游戏的学习(二)

系统 1647 0

Android中贪吃蛇游戏的学习(二)

文章分类: 移动开发

snake类为Activty的类,是Android项目的主类。

Java代码
  1. package com.easyway.dev.android.snake;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.Window;
  5. import android.widget.TextView;
  6. /**
  7. *贪吃蛇游戏(代码来源自Android的源代码中)
  8. *
  9. *每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,
  10. *而Android程序的基类是Activity。这个activity为我们提供了对移动操作系统的基本功能和事件
  11. *的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以及其他底层的手持设备的访问。
  12. *实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用
  13. *Activity类来编写Android程序。
  14. *
  15. *这事Android的Activty类的子类,一个Activty类是一个简单的启动程序和控制程序的类。
  16. *它可以根据需要创建界面,但是不是必须。在Android程序中,用户界面是由叫做views类来组织的,一个
  17. *view可以简单理解为可以绘制的对象,
  18. */
  19. public class Snake extends Activity{
  20. private SnakeViewmSnakeView;
  21. private static StringICICLE_KEY= "snake-view" ;
  22. /**
  23. *onCreate方法将在应用程序第一次开始时调用。Bundle对象包含了任何用于建立参数或环境数据
  24. *所需要的基本信息。Activity可以是全屏的,或是悬浮的。它们可以是嵌套的,但是每一部分基
  25. *本是独立的。
  26. *
  27. *在Activity类被调用时首先被创建,关闭标题栏,设置视图内容,激活视图页面
  28. *CalledwhenActivityisfirstcreated.Turnsoffthetitlebar,setsup
  29. *thecontentviews,andfiresuptheSnakeView.
  30. *
  31. */
  32. @Override
  33. public void onCreate(BundlesavedInstanceState){
  34. super .onCreate(savedInstanceState);
  35. //setTitle("程序标题");
  36. //NoTitlebar
  37. //设置标题栏
  38. requestWindowFeature(Window.FEATURE_NO_TITLE);
  39. //Activty的setContentView()方法指示系统要用哪个view作为Activty的界面,
  40. //如果一个Activty类的没有执行这个方法,将会没有界面并且显示白屏。
  41. setContentView(R.layout.snake_layout);
  42. //查找设置视图
  43. mSnakeView=(SnakeView)findViewById(R.id.snake);
  44. mSnakeView.setTextView((TextView)findViewById(R.id.text));
  45. //视图状态的为空创建一个新视图,设置为准备状态
  46. if (savedInstanceState== null ){
  47. //Wewerejustlaunched--setupanewgame
  48. mSnakeView.setMode(SnakeView.READY);
  49. } else {
  50. //Wearebeingrestored
  51. //获取资源的信息
  52. Bundlemap=savedInstanceState.getBundle(ICICLE_KEY);
  53. if (map!= null ){
  54. mSnakeView.restoreState(map);
  55. } else {
  56. //暂停状态
  57. mSnakeView.setMode(SnakeView.PAUSE);
  58. }
  59. }
  60. }
  61. /**
  62. *暂停的操作
  63. */
  64. @Override
  65. protected void onPause(){
  66. super .onPause();
  67. //Pausethegamealongwiththeactivity
  68. mSnakeView.setMode(SnakeView.PAUSE);
  69. }
  70. @Override
  71. public void onSaveInstanceState(BundleoutState){
  72. //Storethegamestate
  73. outState.putBundle(ICICLE_KEY,mSnakeView.saveState());
  74. }
  75. }

Android中贪吃蛇游戏的学习(二)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论