Android中贪吃蛇游戏的学习(二)
16lz
2021-01-23
Android中贪吃蛇游戏的学习(二)
文章分类:移动开发
snake类为Activty的类,是Android项目的主类。
Java代码- packagecom.easyway.dev.android.snake;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.Window;
- importandroid.widget.TextView;
- /**
- *贪吃蛇游戏(代码来源自Android的源代码中)
- *
- *每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,
- *而Android程序的基类是Activity。这个activity为我们提供了对移动操作系统的基本功能和事件
- *的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以及其他底层的手持设备的访问。
- *实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用
- *Activity类来编写Android程序。
- *
- *这事Android的Activty类的子类,一个Activty类是一个简单的启动程序和控制程序的类。
- *它可以根据需要创建界面,但是不是必须。在Android程序中,用户界面是由叫做views类来组织的,一个
- *view可以简单理解为可以绘制的对象,
- */
- publicclassSnakeextendsActivity{
- privateSnakeViewmSnakeView;
- privatestaticStringICICLE_KEY="snake-view";
- /**
- *onCreate方法将在应用程序第一次开始时调用。Bundle对象包含了任何用于建立参数或环境数据
- *所需要的基本信息。Activity可以是全屏的,或是悬浮的。它们可以是嵌套的,但是每一部分基
- *本是独立的。
- *
- *在Activity类被调用时首先被创建,关闭标题栏,设置视图内容,激活视图页面
- *CalledwhenActivityisfirstcreated.Turnsoffthetitlebar,setsup
- *thecontentviews,andfiresuptheSnakeView.
- *
- */
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- //setTitle("程序标题");
- //NoTitlebar
- //设置标题栏
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- //Activty的setContentView()方法指示系统要用哪个view作为Activty的界面,
- //如果一个Activty类的没有执行这个方法,将会没有界面并且显示白屏。
- setContentView(R.layout.snake_layout);
- //查找设置视图
- mSnakeView=(SnakeView)findViewById(R.id.snake);
- mSnakeView.setTextView((TextView)findViewById(R.id.text));
- //视图状态的为空创建一个新视图,设置为准备状态
- if(savedInstanceState==null){
- //Wewerejustlaunched--setupanewgame
- mSnakeView.setMode(SnakeView.READY);
- }else{
- //Wearebeingrestored
- //获取资源的信息
- Bundlemap=savedInstanceState.getBundle(ICICLE_KEY);
- if(map!=null){
- mSnakeView.restoreState(map);
- }else{
- //暂停状态
- mSnakeView.setMode(SnakeView.PAUSE);
- }
- }
- }
- /**
- *暂停的操作
- */
- @Override
- protectedvoidonPause(){
- super.onPause();
- //Pausethegamealongwiththeactivity
- mSnakeView.setMode(SnakeView.PAUSE);
- }
- @Override
- publicvoidonSaveInstanceState(BundleoutState){
- //Storethegamestate
- outState.putBundle(ICICLE_KEY,mSnakeView.saveState());
- }
- }
更多相关文章
- android延续按两次返回退出程序(完整代码)
- Android的关键的持久数据应该在onPause()方法中保存
- Android添加单元测试的方法与步骤
- Android Studio无法执行Java类的main方法问题及解决方法
- Android获取屏幕宽度的4种方法
- Android应用程序进程启动过程的源代码分析(2)
- android 开发收银系统,弹出键盘固定界面UI的方法
- Android优质学习方法
- Android应用程序组件Content Provider的共享数据更新通知机制分