2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  智能手機程序設計</b></p><p>  題 目 安卓智能手機貪吃蛇游戲設計 </p><p>  二0 一四 年 六 月 一日</p><p><b>  目錄</b></p><p><b>  第一章 緒論

2、3</b></p><p><b>  1.1開發背景3</b></p><p>  1.1.1安卓系統簡介3</p><p>  1.1.2游戲簡介3</p><p>  1.2開發目的及意義4</p><p>  1.3開發環境及工具4</p><p

3、>  第二章需求分析5</p><p>  2.1游戲界面分析5</p><p>  2.2游戲角色分析5</p><p>  2.3游戲控制分析5</p><p>  2.4 可行性分析6</p><p>  第三章總體設計7</p><p>  3.1系統功能模塊層次圖

4、7</p><p><b>  3.2運行機制8</b></p><p>  3.3貪吃蛇功能流程圖10</p><p>  第四章 詳細設計與實現12</p><p>  4.1 TiltView類12</p><p>  4.2 SnakeView類14</p>

5、<p>  4.3 界面設計16</p><p><b>  第五章 測試20</b></p><p>  5.1游戲功能測試20</p><p>  5.2游戲控制測試20</p><p>  5.3游戲界面測試20</p><p>  5.4測試結果20</p&

6、gt;<p><b>  第六章結論21</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1開發背景</b></p><p>  1.1.1安卓系統簡介</p><p>  安卓系統作為新興的手機操作系統,在問世不久

7、,變風靡全球,占領手機操作系統里很大的市場份額,與蘋果,諾基亞三分天下,Android是基于Linux開放性內核的操作系統,是Google公司在2007年11月5日公布的手機操作系統。 早期由原名為"Android"的公司開發,谷歌在2005年收購"Android.Inc"后,繼續對Android系統開發運營,它采用了軟件堆層(software stack,又名軟件疊層)的架構,主要分為三部分。底

8、層Linux內核只提供基本功能,其他的應用軟件則由各公司自行開發,部分程序以Java編寫。</p><p><b>  1.1.2游戲簡介</b></p><p>  1976年,Gremlin平臺推出了一款經典街機游戲Blockade。游戲中,兩名玩家分別控制一個角色在屏幕上移動,所經之處砌起圍欄。角色只能向左、右方向90度轉彎,游戲目標保證讓對方先撞上屏幕或圍欄。

9、 聽起來有點復雜?其實就是下面這個樣子:     基本上就是兩條每走一步都會長大的貪吃蛇比誰后完蛋,玩家要做的就是避免撞上障礙物和越來越長的身體。更多照片、視頻可以看 Games D Base 的介紹?!?   Blockade 很受歡迎,類似的游戲先后出現在 Atari 2600、TRS-80、蘋果 2 等早期游戲機、計算機上。但真正讓這種游戲形式紅遍全球的還是21年后隨諾基亞手機走向世界的貪吃蛇游戲——Snake。</p&

10、gt;<p>  貪吃蛇游戲是一款老牌的手機游戲,同時也是一款比較需要耐心地游戲。貪吃蛇游戲就是一條小蛇,不停地在屏幕上游走,吃各個方向出現的食物,越吃越長。只要蛇頭碰到屏幕四周,或者碰到自己的身子,小蛇就立即斃命。玩“貪吃蛇游戲”,難度最大的不是蛇長得很長的時候,而是開始的時候。那時蛇身很短,看上去難度不大,卻最容易死掉,因為把玩一條小蛇讓人容易走神,失去耐心。</p><p>  1.2開發目的

11、及意義</p><p>  通過本次課程設計,了解android軟件的開發過程,熟悉并掌握JAVA語言,HTML. 程序關鍵在于表示蛇的圖形及蛇的移動。用一個小矩形快表示蛇的一節身體,身體每長一節,增加一個矩形塊,蛇頭用倆節表示。移動時必須從蛇頭開始,所以蛇不能向相反的方向移動,如果不按任意鍵,蛇自行在當前方向上前移,但按下有效方向鍵后,蛇頭朝著該方向移動,一步移動一節身體,所以按下有效方向鍵后,先確定蛇頭的位置

12、,而后蛇的身體隨蛇頭移動,圖形的實現是從蛇頭新位置開始畫出蛇,這時,由于未清屏的原因,原來的蛇的位置和新蛇的位置差一個單位,所以看起來蛇多一節身體,所以將蛇的最后一節用背景色覆蓋。食物的出現與消失也是畫矩形塊和覆蓋矩形塊。為了便于理解,定義兩個結構體:食物與蛇 目的 本程序實現主要技巧在于java語言的應用。目的在于提高編程的水平。</p><p>  1.3開發環境及工具</p><p>

13、;  采用eclipse開發工具,在windows xp下進行,基于安卓2.2操作系統。</p><p><b>  環境搭建:</b></p><p><b>  1. JDK安裝</b></p><p>  2. Eclipse安裝</p><p>  3. Android SDK安裝&l

14、t;/p><p>  4. ADT安裝創建AVD</p><p><b>  需求分析</b></p><p><b>  2.1游戲界面分析</b></p><p>  首先應解決操作界面的問題,操作界面應該人性化設計,提示玩家當前游戲狀態,何時開始,按什么按鍵開始游戲,開始游戲之后,在游戲界面中,

15、以坐標的形式對整體界面進行劃分,將界面劃分為許多個小方格,還應設計蛇的樣式,蘋果的樣式和墻的樣式,在蛇吃到蘋果后的樣式,還有游戲結束或暫停時,界面的顯示,游戲結束后,要顯示所得的分數。</p><p><b>  2.2游戲角色分析</b></p><p>  設置游戲貪吃蛇初始時由固定個小矩形塊組成,并且,游戲中,要隨機出現由單個矩形塊構成的蘋果,并且在設置蘋果的時

16、候,還要設置,不能使將要出現的蘋果出現在蛇的身體之下,在蛇吃到蘋果的時候,要將蛇的身體加長,隨著游戲的進行,蛇移動的速度也要加快。此外,要判定游戲成功與失敗的條件,當蛇的頭和尾相撞或者蛇的頭部撞到了墻上,則游戲失敗,此時游戲結束,界面顯示所得分數,當累積分數達到一定標準則游戲成功。另外蛇的移動原理,由外部按鍵設置監聽控制蛇頭的移動方向,在方向的指引下進行移動,蛇及蘋果的位置都是由坐標數組確定的,蘋果的位置也是隨機產生的蛇的移動原理是后一

17、矩形塊覆蓋前一個矩形塊。當一個蘋果被吃掉的時候,要自動生成并顯示下一個蘋果的位置。這些都是在設計過程中需要實現的。</p><p><b>  2.3游戲控制分析</b></p><p>  游戲中需要通過按鍵對蛇的移動方位進行控制,共需要設置四個方位,分別是“東”“西”“南”“北”,在按鍵上用“上”“下”“左”“右”,按鍵與執行部分便涉及到監聽,通過監聽指示蛇的運動

18、,此外,要設置蛇移動是的默認方向為“上”</p><p>  游戲開始時也是由“上”鍵啟動,暫停后根據玩家的操作自動控制蛇的移動方向,設計過程中還應注意,蛇的移動只能是90度偏轉,不能進行180度偏轉。此外還要設置游戲的四種狀態,準備,運行,暫停,結束,蛇體變長的時候要用累加器進行加分。游戲暫停時,要對當前游戲的參數和狀態進行保存。</p><p>  2.4 可行性分析   貪吃蛇游戲

19、是一種簡單的大眾的游戲,自從計算機實現以來,深受廣大電腦玩家的喜愛,做一個簡單的貪吃蛇小游戲?! ?貪吃蛇的核心算法時如何實現移動和吃掉食物,沒有碰到食物的時候,把當前運動方向上的下個節點入隊,并以蛇節點的顏色繪制這個節點,然后把頭指針所指的節點出隊,并以游戲框架內部背景色重繪出隊的節點,這樣就可以達到移動的效果。而在吃到食物的時候,則只需把食物入隊即可。實現貪吃蛇的基本的蛇身移動、吃到食物身體增長、和碰到墻壁或自身死亡,能夠暫停和開

20、始?! ?本次設計我將主要運用java語言來完成。Java語言是一種跨平臺,適合于分布式計算環境的面向對象編程語言,用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行?! ∮捎贘ava主要用于網絡應用程序開發,因此對安全性有較高的要求。如果沒有安全保證,用戶從網絡下載程序執行就非常危險。Java通過自己的安全機制防止了病毒程序的產生和下載程序對本地系統的威脅破壞。</p><p><b> 

21、 總體設計</b></p><p>  3.1系統功能模塊層次圖</p><p>  工程中包括4個Activity,分別為Snake(主界面)、Game(游戲界面)、Help(游戲說明界面)、AuthorView(作者信息界面),通過不同Activity之間的轉換實現不同界面之間的切換。Snake(Activity)繼承了SnakeView類,SnakeView類繼承了Til

22、eView類。TileView類繼承了View其實 Snake的工程蠻簡單的,源文件就三個: Snake.java SnakeView.java TileView.java。 Snake類是這個游戲的入口點, TitleView類進行游戲的繪畫, SnakeView類則是對游戲控制操作的處理。 Coordinate, RefreshHandler是 2個輔助類,也是 SnakeView類中的內部類。其中, Coordinate是一個點的

23、坐標( x, y), RefreshHandler將 RefreshHandler對象綁定某個線程并給它發送消息。如下圖:</p><p><b>  類圖</b></p><p><b>  3.2運行機制</b></p><p>  任何游戲都需要有個引擎來推動游戲的運行,最簡化的游戲引擎就是:在一個線程中 While

24、循環,檢測用戶操作,對用戶的操作作出反應,更新游戲的界面,直到用戶退出游戲。在 Snake這個游戲中,輔助類 RefreshHandler繼承自 Handler,用來把 RefreshHandler與當前線程進行綁定,從而可以直接給線程發送消息并處理消息。注意一點: Handle對消息的處理都是異步。 RefreshHandler在 Handler的基礎上增加 sleep()接口,用來每隔一個時間段后給當前線程發送一個消息。 han

25、dleMessage()方法在接受消息后,根據當前的游戲狀態重繪界面,運行機制如下: 活動圖運行機制這比較類似定時器的概念,在特定的時刻發送消息,根據消息處理相應的事件。 update()與 sleep()間接的相互調用就構成了一個循環。這里要注意: mRedrawHandle綁定的是 Avtivity所在的線程,也就是程序的主線程;另外由于 sleep()是個異步函數,所以 up

26、date()與 sleep()之間</p><p>  3.3貪吃蛇功能流程圖</p><p>  第四章 詳細設計與實現</p><p>  4.1 TiltView類</p><p>  TiltView的基類是View,包含了貪吃蛇游戲畫面的各個設定參數,主要負責繪制游戲畫面。TileView類定義如下:</p>&l

27、t;p>  public class TileView extends View {</p><p>  private static final String tag = "yao";</p><p>  protected static int mTileSize = 20;//方格的邊長</p><p>  protected sta

28、tic int mXTileCount;//X軸上方格的個數</p><p>  protected static into mYTileCount;//Y軸上方格的個數</p><p>  private static int mXOffset;//繪圖時X軸上的起始坐標</p><p>  private static int mYOffset;//繪圖時Y軸上

29、的起始坐標</p><p>  private Bitmap[] mTileArray;//位圖數組</p><p>  private int[][] mTileGrid;//映射整個游戲畫面的數組</p><p>  private final Paint mPaint = new Paint();//畫筆</p><p>  publi

30、c TileView(Context context, AttributeSet attrs) {</p><p>  super(context, attrs);</p><p>  Log.i(tag, "TileView Constructor");</p><p>  Log.i(tag, "mTileSize=" +

31、 mTileSize);</p><p><b>  }</b></p><p>  //重置位圖數組的長度</p><p>  public void resetTiles(int tilecount) {</p><p>  mTileArray = new Bitmap[tilecount];</p>

32、<p><b>  }</b></p><p><b>  @Override</b></p><p>  //適應各種分辨率的屏幕,當改變屏幕大小尺寸時,同時修改tile的相關計數指標</p><p>  protected void onSizeChanged(int w, int h, int oldw,

33、 int oldh) {</p><p>  Log.i(tag, "onSizeChanged," + "w=" + w + " h=" + h + " oldw=" + oldw + " oldh=" + oldh);</p><p>  mXTileCount = (int) Math

34、.floor(w / mTileSize);</p><p>  mYTileCount = (int) Math.floor(h / mTileSize);</p><p>  Log.i(tag, "mXTileCount=" + mXTileCount);</p><p>  Log.i(tag, "mYTileCount=&qu

35、ot; + mYTileCount);</p><p>  mXOffset = ((w - (mTileSize * mXTileCount)) / 2);</p><p>  mYOffset = ((h - (mTileSize * mYTileCount)) / 2);</p><p>  Log.i(tag, "mXOffset=" +

36、 mXOffset);</p><p>  Log.i(tag, "mYOffset=" + mYOffset);</p><p>  mTileGrid = new int[mXTileCount][mYTileCount];</p><p>  clearTiles();</p><p><b>  }<

37、;/b></p><p>  //這里做了一個 Drawable 到 bitmap 的轉換</p><p>  public void loadTile(int key, Drawable tile) {</p><p>  Bitmap bitmap = Bitmap.createBitmap(mTileSize, mTileSize, Bitmap.Con

38、fig.ARGB_8888);</p><p>  Canvas canvas = new Canvas(bitmap);</p><p>  tile.setBounds(0, 0, mTileSize, mTileSize);</p><p>  tile.draw(canvas);</p><p>  mTileArray[key] =

39、 bitmap;</p><p><b>  }</b></p><p><b>  //清空圖形顯示</b></p><p>  public void clearTiles() {</p><p>  Log.i(tag, "TileView.clearTiles");<

40、;/p><p>  for (int x = 0; x < mXTileCount; x++) {</p><p>  for (int y = 0; y < mYTileCount; y++) {</p><p>  setTile(0, x, y);</p><p><b>  }</b></p>

41、<p><b>  }</b></p><p><b>  }</b></p><p>  //在相應的坐標位置繪制相應的磚塊</p><p>  public void setTile(int tileindex, int x, int y) {</p><p>  mTileGri

42、d[x][y] = tileindex;</p><p><b>  }</b></p><p><b>  // onDraw</b></p><p><b>  @Override</b></p><p>  //將直接操作的畫布繪制到手機界面上</p>&l

43、t;p>  public void onDraw(Canvas canvas) {</p><p>  Log.i(tag, "onDraw");</p><p>  super.onDraw(canvas);</p><p>  Bitmap bmp;</p><p>  float left;</p>

44、<p>  float top;</p><p>  for (int x = 0; x < mXTileCount; x++) {</p><p>  for (int y = 0; y < mYTileCount; y++) {</p><p>  if (mTileGrid[x][y] > 0) {</p><

45、;p>  bmp = mTileArray[mTileGrid[x][y]];</p><p>  left = x * mTileSize + mXOffset;</p><p>  top = y * mTileSize + mYOffset;</p><p>  canvas.drawBitmap(bmp, left, top, mPaint);<

46、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

47、;<p>  4.2 SnakeView類</p><p>  SnakeView類定義了游戲運行時的畫面改變及蛇體和果子的更新方法。</p><p>  首先用Handler機制實現定時刷新,代碼如下:</p><p>  class RefreshHandler extends Handler {</p><p><

48、b>  //獲取消息并處理</b></p><p><b>  @Override</b></p><p>  public void handleMessage(Message msg) {</p><p>  SnakeView.this.update();</p><p>  SnakeView.

49、this.invalidate();//刷新view為基類的界面</p><p>  Log.i(tag, "handleMessage|Thread Name="+Thread.currentThread().getName());</p><p><b>  }</b></p><p>  //定時發送消息給UI線程,以

50、此達到更新效果</p><p>  public void sleep(long delayMillis) {</p><p>  this.removeMessages(0); //清空消息隊列,Handler進入對新消息的等待 </p><p>  Log.i(tag, "sleep|Thread Name="+Thread.curren

51、tThread().getName());</p><p>  //定時發送新消息,激活handler </p><p>  sendMessageDelayed(obtainMessage(0), delayMillis);</p><p><b>  }</b></p><p><b>  };<

52、/b></p><p>  定義SnakeView()函數初始化游戲,代碼如下:</p><p>  public SnakeView(Context context, AttributeSet attrs) {</p><p>  super(context, attrs);</p><p>  Log.i(tag, "Sn

53、akeView Constructor");</p><p>  initSnakeView();//構造函數中,初始化游戲</p><p><b>  }</b></p><p>  定義initSnakeView()初始化SnakeView類,代碼如下:</p><p>  private void ini

54、tSnakeView() {</p><p>  Log.e(tag, "initSnakeView");</p><p>  //設置焦點,由于存在 文字界面 和 游戲界面的跳轉。這個focus是不可或缺的。</p><p>  setFocusable(true);</p><p>  //取得資源中的圖片,加載到 磚

55、塊字典 中。 </p><p>  Resources r = this.getContext().getResources();</p><p>  resetTiles(4);</p><p>  loadTile(RED_STAR, r.getDrawable(R.drawable.redstar));</p><p>  loadTi

56、le(YELLOW_STAR, r.getDrawable(R.drawable.yellowstar));</p><p>  loadTile(GREEN_STAR, r.getDrawable(R.drawable.greenstar));</p><p><b>  }</b></p><p>  此外還定義了updateWalls()

57、、updateApples()、updateSnake()繪制墻、果子、蛇,以及更新畫面函數、保存位置坐標函數等,具體代碼請詳見目錄。</p><p><b>  4.3界面設計</b></p><p>  界面設計包括游戲主界面(Snake)、游戲說明界面、游戲界面的設計。界面的設計采用的是xml文檔形式,在xml文檔中規劃好界面布局布局后,分別在java文件中聲明

58、。</p><p>  主界面設計:主界面包括一個 TextView及布局設定,其main.xml文檔如下</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <!-- Copyright (C) 2007 The Android Open S

59、ource Project</p><p>  Licensed under the Apache License, Version 2.0 (the "License");</p><p>  you may not use this file except in compliance with the License.</p><p>  Y

60、ou may obtain a copy of the License at</p><p>  http://www.apache.org/licenses/LICENSE-2.0</p><p>  Unless required by applicable law or agreed to in writing, software</p><p>  dist

61、ributed under the License is distributed on an "AS IS" BASIS,</p><p>  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</p><p>  See the License for the specifi

62、c language governing permissions and</p><p>  limitations under the License.</p><p><b>  --></b></p><p>  <FrameLayout xmlns:android="http://schemas.android.c

63、om/apk/res/android"</p><p>  android:layout_width="match_parent"</p><p>  android:layout_height="match_parent"></p><p>  <com.example.android.snake.Sn

64、akeView</p><p>  android:id="@+id/snake"</p><p>  android:layout_width="match_parent"</p><p>  android:layout_height="match_parent"</p><p>

65、;  tileSize="24"</p><p><b>  /></b></p><p>  <RelativeLayout</p><p>  android:layout_width="match_parent"</p><p>  android:layout_

66、height="match_parent" ></p><p><b>  <TextView</b></p><p>  android:id="@+id/text"</p><p>  android:text="@string/snake_layout_text_text&qu

67、ot;</p><p>  android:visibility="visible"</p><p>  android:layout_width="wrap_content"</p><p>  android:layout_height="wrap_content"</p><p&g

68、t;  android:layout_centerInParent="true"</p><p>  android:gravity="center_horizontal"</p><p>  android:textColor="#ff8888ff"</p><p>  android:textSize=

69、"24sp"/></p><p>  </RelativeLayout></p><p>  </FrameLayout></p><p>  至此,全部界面設計完成,但還有最重要的一步,就是將所有的Activity注冊到AndroidManifest.xml中。AndroidManifest.xml文檔如下:<

70、;/p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <!-- Copyright (C) 2007 The Android Open Source Project</p><p>  Licensed under the Apache Licens

71、e, Version 2.0 (the "License");</p><p>  you may not use this file except in compliance with the License.</p><p>  You may obtain a copy of the License at</p><p>  http://

72、www.apache.org/licenses/LICENSE-2.0</p><p>  Unless required by applicable law or agreed to in writing, software</p><p>  distributed under the License is distributed on an "AS IS" BAS

73、IS,</p><p>  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</p><p>  See the License for the specific language governing permissions and</p><p>  limitatio

74、ns under the License.</p><p><b>  --></b></p><p>  <!-- Declare the contents of this Android application. The namespace</p><p>  attribute brings in the Android p

75、latform namespace, and the package</p><p>  supplies a unique name for the application. When writing your</p><p>  own application, the package name must be changed from "com.example.*&quo

76、t;</p><p>  to come from a domain that you own or have control over. --></p><p>  <manifest xmlns:android="http://schemas.android.com/apk/res/android"</p><p>  packa

77、ge="com.example.android.snake"></p><p>  <application android:label="Snake on a Phone"></p><p>  <activity android:name="Snake"</p><p>  an

78、droid:theme="@android:style/Theme.NoTitleBar"</p><p>  android:screenOrientation="portrait"</p><p>  android:configChanges="keyboardHidden|orientation"></p>

79、;<p>  <intent-filter></p><p>  <action android:name="android.intent.action.MAIN" /></p><p>  <category android:name="android.intent.category.LAUNCHER"

80、/></p><p>  </intent-filter></p><p>  </activity></p><p>  </application></p><p>  </manifest></p><p><b>  4.4項目演示</b&g

81、t;</p><p><b>  游戲前畫面</b></p><p><b>  游戲中界面</b></p><p><b>  游戲結束時畫面</b></p><p><b>  第五章 測試</b></p><p><b&

82、gt;  5.1游戲功能測試</b></p><p>  經過在模擬器上的測試,本軟件能書案例實現其功能,達到了小蛇在屏幕上的移動,小蛇吃蘋果,蘋果隨機出現的功能,當小蛇頭尾相撞或與墻相撞時,游戲結束.這些均在測試中得到驗證。</p><p><b>  5.2游戲控制測試</b></p><p>  在測試過程中,也著重對游戲的控

83、制功能進行了測試,游戲是通過方向鍵的控制來實現的,在游戲剛開始的階段,上下左右四個方位的控制都很成功,但隨著蛇移動的速度越來越快,按鍵的控制反應會出現滯后,通過分析,可能是由于蛇的運動速度超過了鍵盤的反應速度造成的,與軟件無關,所以得出結論,游戲的控制設計也是成功的。</p><p><b>  5.3游戲界面測試</b></p><p>  游戲運行之后,就是在畫面

84、中出現蛇和兩個蘋果的初始位置,并且是靜止的,并且在畫面上還會出現操作提示“按上鍵開始游戲”,游戲運行過程中,除了蛇的運動之外,界面大題沒有變化,分別由綠色矩形塊的圍墻,黃色矩形塊的蘋果和紅色矩形塊的蛇身(蛇頭為黃色)組成。游戲結束后,界面處于暫停狀態,提示游戲結束并顯示分數。</p><p><b>  5.4測試結果</b></p><p>  通過對游戲軟件的功能

85、測試,控制測試和界面測試。詳細說是對游戲的開始新游戲、 退出、 查看最高成績、 計時、 統計分數等功能進行測試, 并測試程序的鼠標點擊事件、菜單的響應及按鍵響應等事件,結論是該游戲軟件能正確實現功能要求。要求輸出的效果與預期的輸出效果完全 一致。</p><p><b>  結論</b></p><p>  回顧這個設計過程,我學到了許多書本上沒有學到的知識。通過這次

86、自己制作的軟件,豐富了自己的實踐技能,擴展了本專業的知識面,使我受益非淺,同時 也體驗到了搞軟件開發的困難度。 在這次設計的同時,我又從中學到了許多東西。 但由于我對這樣的軟件開發還只是一個開始,了解的不多,這其中或許還有很多 的不足,有些模塊做得不是很好,界面的設計及整體的布局還比較簡單,沒有突 出特色出來,這也可能是我這個系統的不足之處,在這里也懇請老師能夠對 我的作品指明不足并加以改正。 </p><p>

87、  我所做的設計功能并不算強大,但是這些結合了本學期所學習的內容,主要是界面的設計,并改寫了兩個類。通過自己寫代碼,我更進一步清楚了android工程的框架及設計的步驟,以及每個文件的作用,稍微掌握了一些View類的方法,同時也學到了更多的界面設計的方法,比如如何實現一個TextView里顯示多行數據,如何自定義視圖等。</p><p>  但同時我也遇到了問題,比如在編寫控制模塊代碼的時候,如何何時按鍵監聽這一

88、塊讓我很頭疼,另外在設計界面整體布局的時候,如何編寫XML文件,這也是很大的問題后來通過查閱資料,對這些問題都做到了很好的解決</p><p>  總之,在這一次的課程設計過程中,我查閱了大量的資料,對 Java 有了一 點初步的認識,對于軟件工程這些輔助性的教材也鞏固了不少,為我這次的課設 提供了很大的幫助,鍛煉了我的能力讓我掌握了一門新的程序設計語言:java 語言,系統地學習了數據庫方面的知識,并更進一步提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論