freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于android的益智游戲的設計與實現本科生畢業(yè)設計(編輯修改稿)

2024-07-23 13:13 本頁面
 

【文章內容簡介】 ndroid:versionCode=1 android:versionName= application android:icon=@drawable/icon android:label=@string/app_name activity android:name=.BroadCastReceiverActivity android:label=@string/app_name intentfilter action android:name= / category android:name= / /intentfilter /activity !廣播注冊 receiver android:name=.SmsBroadCastReceiver intentfilter android:priority=20 action android:name=/ /intentfilter /receiver /application usessdk android:minSdkVersion=7 / ! 權限申請 usespermission android:name=/usespermission /manifest 兩種注冊類型的區(qū)別是:1)第一種不是常駐型廣播,也就是說廣播跟隨程序的生命周期。2)第二種是常駐型,也就是說當應用程序關閉后,如果有信息廣播來,程序也會被系統調用自動運行。 ContentProviderContentProvider可以實現不同組件之間的數據共享。ContentProvider:為存儲和獲取數據提供統一的接口??梢栽诓煌膽贸绦蛑g共享數據。Android已經為常見的一些數據提供了默認的ContentProviderContentProvider使用表的形式來組織數據 無論數據的來源是什么,ContentProvider都會認為是一種表,然后把數據組織成表格ContentProvider提供的方法 query:查詢 insert:插入 update:更新 delete:刪除 getType:得到數據類型 onCreate:創(chuàng)建數據時調用的回調函數每個ContentProvider都有一個公共的URI,這個URI用于表示這個ContentProvider所提供的數據。二、ContentProvider的內部原理自定義一個ContentProvider,來實現內部原理步驟:定義一個CONTENT_URI常量(里面的字符串必須是唯一)Public static final Uri CONTENT_URI = (content://)。如果有子表,URI為:Public static final Uri CONTENT_URI = (content://)。定義一個類,繼承ContentProviderPublic class MyContentProvider extends ContentProvider實現ContentProvider的所有方法(query、insert、update、delete、getType、onCreate)  android:name=. android:authorities= / 本章小結本章將會詳細敘述Android的應用程序所包括的基本組件,還有這些組件之間的溝通方式—Intent(除了Contentprovider),同時講解一下Android應用程序的生命周期(Activity)—這是其他智能收與Android手機平臺最顯著不同的地方。最后將介紹在Android的應用程序中如何利用下載外部資源。4 項目相關技術 地圖的滑動地圖的滑動我是分兩步實現:1. 重寫Activity的onFling()方法,用來判斷用戶手指滑動的方向。onFling()是Android手勢中用來接收快速滑動的方法,要實現這樣一個滑動效果需要一下四步, 否則失效。 【8】寫一個類,實現OnGestureListener, OnTouchListener接口。重寫里面的方法,記得把onDown()方法return true。這樣才能觸發(fā)onFling事件。 (2) 設置layout的onTouch事件: LinearLayout layout = (LinearLayout) findViewById()。 (this)。(3) 在touch時調用如下: 在onTouch方法中return (event)。 //其中detector是:GestureDetector detector = new GestureDetector(this)。 (4)寫onFling()方法: public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if(() () 50 amp。amp。 (velocityX)0){ (Left.......)。//向左滑動 }else if(()()50 amp。amp。 (velocityX)0){ (Right......)。//向右滑動 } return false。 } 【8】在本項目中的HKDGActivity的onFling()方法中我是直接調用了GameEngine的onFling()方法: @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Autogenerated method stub// (this, onFling, ).show()。 return (e1, e2, velocityX, velocityY)。 }2. 重寫Activity的onScroll()方法,用來控制圖片的移動。 @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Autogenerated method stub return (e1, e2, distanceX, distanceY)。 } MusicPlayer這是一個自己封裝的類,用來播放游戲中的音樂。里面封裝了一個MediaPlayer對象及幾個對音樂文件進行操作的方法。MediaPlayer類可用于控制音頻/視頻文件或流的播放, 對播放音頻/視頻文件和流的控制是通過一個狀態(tài)機來管理的,如下圖所示:[9]圖42 MediaPlayer的狀態(tài)機制[9]public class Music { private Context _context。 private MediaPlayer _meMediaPlayer。 private boolean _isMute=false。 public Music(Context context) { _context = context。 _meMediaPlayer = new MediaPlayer()。 } public void initMusic(int resID) { _meMediaPlayer = (_context, resID)。 } public void initMusic(String path) { try { AssetManager assetManager = ()。 AssetFileDescriptor afd = (path)。 ()。 ((), (), ())。 } catch (IllegalArgumentException e) { // TODO Autogenerated catch block ()。 } catch (IllegalStateException e) { // TODO Autogenerated catch block ()。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } } public void playMusic() { if (!()||!_isMute) { try { ()。 ()。 setLoop(true)。 } catch (IllegalStateException e) { // TODO Autogenerated catch block ()。 } catch (IOException e) { // TODO Autogenerated catch block ()。 } } } public void setLoop(boolean isloop) { (isloop)。 } public void setMute(boolean setMute) { _isMute = setMute。 } public void setMusicVolum(int Volume) { (Volume, Volume)。 } public void stop() { if (()||!_isMute) { ()。 } } public void pause() { if (()||!_isMute) { ()。 } } public Boolean isPlaying(){ return ()。 } public void releaseMusic() { ()。 ()。 ()。 _meMediaPlayer=null。 }} 本游戲的核心類GameEngine `如果說整個游戲是一架飛機,那么GameEngine絕對是這個飛機的引擎。其他所有的類是這架飛機大大小小的零件,部件。他們之間通過種種設計模式也就是飛機 的鋼筋骨架連接起來,成為一架完整的飛機。而這架飛機最終翱翔天空,GameEngine提供了核心動力。 首先這個類繼承了View,而這個自定義的View就是我們游戲的界面。因此我們可以在這個View里面重寫其onDraw()方法來畫出炫麗的游戲界面。 protected void onDraw(Canvas canvas) { if (paint == null) { paint = new Paint()。 ()。 } (0, 0, (), (), paint)。 if(ispaint){ if (getPage() != null) { getPage().paint(canvas,mPaint)。 } } if (_screenState != SCREEN_NORMAL) { ()。 (alphaSize)。 (0, 0, (), (), paint2)。 } }然后,這個類實現了Runable接口,在這個View里面重新啟動了一個線程用來驅動整個游戲的運行。// the thread controller public void run() { long start, cost。 while (mBLoop) { start = ()。 try { cost = () start。 start = cost。 if (start 0) { try { logic()。 (start)。 } catch (Exception e) { ()。 } } } catch (Exception e) { ()。 } ()。 // refurbish the screen } }最后,由于本游戲界面繁多,每一個界面都是一個實現了GameView接口的類,[10]到底要實例化誰,將來會不會增加實例化的對象,比如切換界面,這是很容易變化的地方,應該考慮用一個單獨的類來做這個創(chuàng)造實例的過程,[10]于是在這個類
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1