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 SnakeViewmSnakeView;
- private static StringICICLE_KEY= "snake-view" ;
- /**
- *onCreate方法將在應用程序第一次開始時調用。Bundle對象包含了任何用于建立參數或環境數據
- *所需要的基本信息。Activity可以是全屏的,或是懸浮的。它們可以是嵌套的,但是每一部分基
- *本是獨立的。
- *
- *在Activity類被調用時首先被創建,關閉標題欄,設置視圖內容,激活視圖頁面
- *CalledwhenActivityisfirstcreated.Turnsoffthetitlebar,setsup
- *thecontentviews,andfiresuptheSnakeView.
- *
- */
- @Override
- public void onCreate(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
- protected void onPause(){
- super .onPause();
- //Pausethegamealongwiththeactivity
- mSnakeView.setMode(SnakeView.PAUSE);
- }
- @Override
- public void onSaveInstanceState(BundleoutState){
- //Storethegamestate
- outState.putBundle(ICICLE_KEY,mSnakeView.saveState());
- }
- }
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
