首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-09-05 
Android中贪吃蛇游戏的学习(二)? snake类为Activty的类,是Android项目的主类。package com.easyway.dev.and

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

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

package com.easyway.dev.android.snake;import android.app.Activity;import android.os.Bundle;import android.view.Window;import android.widget.TextView;/** * 贪吃蛇游戏(代码来源自Android的源代码中) *  * 每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets, * 而Android程序的基类是Activity。这个activity为我们提供了对移动操作系统的基本功能和事件 * 的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以及其他底层的手持设备的访问。 * 实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用 * Activity类来编写Android程序。 *  * 这事Android的Activty类的子类,一个Activty类是一个简单的启动程序和控制程序的类。 * 它可以根据需要创建界面,但是不是必须。在Android程序中,用户界面是由叫做views类来组织的,一个 * view可以简单理解为可以绘制的对象, */public class Snake extends Activity {    private SnakeView mSnakeView;        private static String ICICLE_KEY = "snake-view";        /**     * onCreate方法将在应用程序第一次开始时调用。Bundle对象包含了任何用于建立参数或环境数据     * 所需要的基本信息。Activity可以是全屏的,或是悬浮的。它们可以是嵌套的,但是每一部分基     * 本是独立的。     *      * 在Activity类被调用时首先被创建,关闭标题栏,设置视图内容,激活视图页面     * Called when Activity is first created. Turns off the title bar, sets up     * the content views, and fires up the SnakeView.     *      */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //setTitle("程序标题");        // No Title bar        //设置标题栏        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) {            // We were just launched -- set up a new game            mSnakeView.setMode(SnakeView.READY);        } else {            // We are being restored        //获取资源的信息            Bundle map = savedInstanceState.getBundle(ICICLE_KEY);            if (map != null) {                mSnakeView.restoreState(map);            } else {            //暂停状态                mSnakeView.setMode(SnakeView.PAUSE);            }        }    }    /**     * 暂停的操作     */    @Override    protected void onPause() {        super.onPause();        // Pause the game along with the activity        mSnakeView.setMode(SnakeView.PAUSE);    }        @Override    public void onSaveInstanceState(Bundle outState) {        //Store the game state        outState.putBundle(ICICLE_KEY, mSnakeView.saveState());    }}

?

热点排行