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

正文內(nèi)容

基于android平臺的樂報天下系統(tǒng)設(shè)計與實現(xiàn)-資料下載頁

2025-06-24 22:17本頁面
  

【正文】 TextView重新設(shè)置時間且讓進(jìn)度條前進(jìn)1秒的進(jìn)度。對音軌進(jìn)行刷新。這樣就實現(xiàn)了歌詞同步功能。SeekBar有一個監(jiān)聽器,該監(jiān)聽器的作用是一直保持著對進(jìn)度條的監(jiān)聽,當(dāng)我們用鼠標(biāo)向SeekBar的各位置進(jìn)行點(diǎn)擊時,它會自動監(jiān)聽其位置,進(jìn)行相應(yīng)的位置顯示。這也是進(jìn)度條上的游標(biāo)會不停的移動和歌詞時間會不停的變動的原因。 Android的媒體播放原理:Android源程序已經(jīng)為我們封裝好了一個接口類,叫MediaPlayer。該接口在執(zhí)行行需要一個數(shù)據(jù)源,通過如下四個步驟:第一步:()。復(fù)位操作,為以后的媒體準(zhǔn)備播放作準(zhǔn)備。第二步:傳入歌曲數(shù)據(jù)源,這里也是一個數(shù)據(jù)流 (String path)。參數(shù)需要傳一個路徑,該接口類在收到路徑后將其轉(zhuǎn)化為數(shù)據(jù)源。第三步:準(zhǔn)備播放數(shù)據(jù)源,()。第四步:()。播放數(shù)據(jù)源,該數(shù)據(jù)源播放后,不再與程序 有關(guān),()()。讓其啟動。歌曲數(shù)據(jù)源的獲得:要獲得數(shù)據(jù)源,需要我們提供給接口類一個歌曲存放路徑,而這個路徑已經(jīng)被事先放到數(shù)據(jù)庫里了,我們只需要進(jìn)行數(shù)據(jù)庫進(jìn)行操作。將里面的路徑取出。這里將調(diào)用PlayRackActivity的一個方法query()。代碼算法如下:public String query() { ContentResolver cr = getContentResolver()。 Uri uri = 。 String[] projection = { path }。 String selection = fileName=?。 String[] selectionArgs = { selectName }。 Cursor c=(uri,projection,selection,selectionArgs, null)。 if (()) { String path = (0)。 return path。 }return null。 } ,它會自動的調(diào)用ContentProvider中的關(guān)聯(lián)數(shù)據(jù)庫,我們需用這個方法就可以操作數(shù)據(jù)庫。數(shù)據(jù)庫操作需要一個Uri 。Uri類似一個網(wǎng)絡(luò)連接的Url。Uri是數(shù)據(jù)庫唯一的標(biāo)識,不同的Uri可以操作不同的數(shù)據(jù)庫表。在查詢數(shù)據(jù)庫時需要傳入一個當(dāng)前播放的歌曲名字,通過歌曲名字來查詢歌曲的路徑。 歌詞顯示模塊。:[00:]呼吸著 你的香水味即是以“時間+歌詞”的格式存儲。(1).xml配置文件的存儲 Android系統(tǒng)目錄結(jié)構(gòu)如下圖:圖 15 系統(tǒng)目錄結(jié)構(gòu) 我們可以看到一個目錄為sdcard,該目錄即為擴(kuò)展卡,我們定義一個BufferedReader buffer=new BufferedReader(new FileReader(new File(/sdcard/+ musicName + .lrc)));,并將文件讀取到BufferReader中。由于我們要分別存放時間和歌詞,所以我們應(yīng)該定義兩個ListString容器來存放時間和歌詞。在讀取lrc時,每次讀取一行,再用算法將時間和歌詞分開后放到一個數(shù)組里面,并分別存放在兩個list中。由于歌曲在播放時會存在界面之間的跳轉(zhuǎn),所以歌詞必須固定存放在一個文件中,而不能作為一個對象,因此,我們將兩個時間List和歌詞List再寫進(jìn)一個配置文件中。Android提供給我們一個共享文件的類SharedPreferences。它有一個方法getSharedPreferences(參數(shù)1,參數(shù)2),參數(shù)1為寫進(jìn)時的標(biāo)記,便于在從其中讀取出來時的標(biāo)記,參數(shù)2為讀取模式,有只寫模式(MODE_WORLD_WRITEABLE)和只讀模式(MODE_WORLD_READABLE),在寫之前將其置入編輯狀態(tài), editor = ()。然后對象editor可以存入一個HashMapkey,values類型的鍵值,即putString(KEY, VALUES),這樣,我們可以將List中的對象轉(zhuǎn)化成一樣長的字符中放進(jìn)配置文件中。當(dāng)寫入成功時,android系統(tǒng)會自動在目錄data/data/工程包名/shared_prefs/目錄下生成一個配置文件如圖所示:圖 16 配置文件,文件中是以map的形式存儲。鍵名string name=random_Play/string, 而它的值是is_Radom。如下:?xml version= encoding=utf8 standalone=yes?mapstring name=random_Playis_Random/stringstring name=lyLrcis_Show/stringnull name=order_Play/null name=single_Play//map(2) .xml配置文件的讀取 我們?nèi)砸圆シ拍J阶x取為例:當(dāng)需要用到播放模式的確定時,同樣用共享文件類SharedPreferences 通過用方法getSharedPreferences(SET_MSG,MODE_WORLD_READABLE)。SharedPreferences的對象調(diào)用方法getString(sigle_Play, null),方法返回一個String類型的值,即是我們以前存儲進(jìn)去的String值。此方法當(dāng)該標(biāo)記不存在時會默認(rèn)返回一個null值。獲得成功后我們就可以運(yùn)用當(dāng)前的值再對程序進(jìn)行操作了。 設(shè)置模塊設(shè)計 ,在設(shè)置模塊中對默認(rèn)啟動時城市名進(jìn)行修改,點(diǎn)擊保存按鈕就會將設(shè)置好的參數(shù)會存儲到SQLite中。核心代碼如下://OnClick()事件public void onClick(View v) { switch (()) { case : { city = ().toString()。 updatetime = (().toString())。 ContentValues values = new ContentValues()。 (, widgetId)。 (, city)。 (, updatetime)。 (, 1)。 (, 1)。 ContentResolver resolver = getContentResolver()。 // 通過ContentResolver對象存儲數(shù)據(jù) (, values)。 (new int[]{widgetId})。 // 啟動獲取天氣預(yù)報信息的后臺服務(wù) startService(new Intent(this, ))。setConfigureResult()。 finish()。 break。 } }ConfigureActivity的布局文件是res/layout/,采用了LinearLayout的布局方式。代碼如下:LinearLayout android:id=@+id/layout03 android:orientation=vertical xmlns:android= android:layout_width=wrap_content android:layout_height=wrap_content LinearLayout android:orientation=horizontal android:layout_width=fill_parent android:layout_height=wrap_content TextView android:text=城市名稱(拼音) android:layout_width=wrap_content android:layout_height=wrap_content android:textColor=@color/words /TextView EditText android:text= android:id=@+id/cityname android:layout_width=200dip android:layout_height=wrap_content /EditText /LinearLayout/LinearLayout 第六章 系統(tǒng)測試 Android SDK模擬器 Android SDK包含一個Eclipse插件,名為ADT。這個IDE工具用于開發(fā)、調(diào)試和測試Java應(yīng)用程序。也可以單獨(dú)使用Android SDK,使用命令行工具代替ADT。兩種方法都支持使用模擬器來運(yùn)行、調(diào)試和測試應(yīng)用程序。甚至90%的應(yīng)用程序開發(fā)工作都不需要真實設(shè)備。全功能的Android模擬器能夠模擬大部分的設(shè)備功能。模擬器不能模擬USB連接、照相機(jī)與視頻采集、耳機(jī)、電池和藍(lán)牙。Android模擬器使用一種名為QEMU的開源“處理器模擬器”技術(shù)來完成它的工作,此技術(shù)由Fabrice Bellard開發(fā)。這項技術(shù)還支持在一個操作系統(tǒng)上模擬另一個操作系統(tǒng),而不用考慮采用了何種處理器。QEMU支持在CPU級別上進(jìn)行模擬。在Android模擬器中,處理器基于ARM架構(gòu)。ARM是一種基于RISC的32位微處理器架構(gòu),其設(shè)計上的簡單性和較高的速度通過指令集中精簡的指令來實現(xiàn)。模擬器在此模擬處理器上運(yùn)行Linux的Android版本。 在Android SDK 1.6的模擬器上對樂報天下軟件的各項功能進(jìn)行調(diào)試和測試。調(diào)試結(jié)束后,將編譯生成的安裝文件拷貝到SD卡并安裝在手機(jī)上。 本軟件是Android移動平臺上應(yīng)用在無線網(wǎng)絡(luò)與本地客戶端之間的軟件,使用戶能夠方便進(jìn)行即時信息數(shù)據(jù)的交互,提供了實時查看信息記錄便捷信息等功能。本系統(tǒng)中實現(xiàn)的功能有: 開發(fā)的客戶端實現(xiàn)了實時天氣查詢、日歷事項編輯、音樂后臺播放等功能。客戶端實現(xiàn)了在系統(tǒng)設(shè)計中用例圖列出的所有功能。本系統(tǒng)運(yùn)行在Android 1.6 SDK環(huán)境中,提供了實現(xiàn)功能必要的用戶界面。 下面就根據(jù)界面的流程圖對整個客戶端系統(tǒng)的所有界面進(jìn)行測試。用戶進(jìn)入系統(tǒng),將首先進(jìn)入啟動界面。圖 17 軟件啟動界面 等待3秒后,進(jìn)入首頁—天氣Tab頁。在輸入框內(nèi)輸入城市名,點(diǎn)擊“GO!”按鈕,即得到如圖18(2)所示。 點(diǎn)擊手機(jī)Menu鍵,彈出菜單,分別為“關(guān)于”、“幫助”、“退出”,如圖18(3)所示。 (1) (2) (3)圖 18 天氣模塊運(yùn)行界面圖關(guān)于界面、幫助界面如圖19所示。圖19 關(guān)于界面、幫助界面通過點(diǎn)擊軟件上方標(biāo)簽頁切換到日歷選項卡,如圖20(1)所示。長按日歷中某一天的日期,或點(diǎn)擊手機(jī)Menu鍵,彈出如下菜單“查看記錄/提醒”、“轉(zhuǎn)到指定日期”、“今天”、“關(guān)于”、“幫助”、“退出”,如圖20(2)所示。 (1) (2)圖20 日歷模塊顯示查看記錄/提醒界面如圖21所示,存在記錄的日期上會出現(xiàn)*號。圖21 查看記錄/提醒界面轉(zhuǎn)到指定日期如圖22所示。圖22 轉(zhuǎn)到指定日期界面通過點(diǎn)擊軟件上方標(biāo)簽頁切換到音樂選項卡,如圖23所示。向左或向右滑動可循環(huán)切換播放控制界面、播放列表界面、歌詞顯示界面。圖23 音樂模塊顯示音樂界面下方播放控制條,不僅可以播放/暫停歌曲、上一曲、下一曲,還可以切換播放模式(單曲循環(huán)、順序播放、隨機(jī)播放、循環(huán)播放)、創(chuàng)建不同天氣屬性的播放列表。如圖24所示。圖24 播放列表創(chuàng)建示例非功能性測試:對系統(tǒng)要求的其他功能也進(jìn)行了一些必要的測試工作。系統(tǒng)中界面均基于統(tǒng)一的風(fēng)格,容易被用戶所接受,同時也獲得了良好的用戶體驗,在模擬器上,系統(tǒng)運(yùn)行速度比較快。(1)運(yùn)行程序時,出現(xiàn)如下提示activity not started, its current task has been brought to the front原因:application已經(jīng)在設(shè)備上運(yùn)行,系統(tǒng)不會kill掉,但會把它移到前臺運(yùn)行。 (2)運(yùn)行AVD時,console中打印此消息waiting for HOME (39。39。) to be launched原因:這不是一個錯誤,只要多等一會兒就好了。但是也可以通過右鍵工程,run as Android application來解決。(3)運(yùn)行AVD時,出現(xiàn)錯誤failed to install on device 39。emulator5554!39。原因:在AVD加載的過程中,不要亂點(diǎn)已經(jīng)出現(xiàn)的模擬器上的圖標(biāo),要等待AVD完全加載完成。如果過程中出現(xiàn)紅色警告,只要重新運(yùn)行即可。到這里,基于Android手機(jī)平臺的樂報天下系統(tǒng)軟件的介紹基本結(jié)束。 第七章 總結(jié)經(jīng)過數(shù)個月的努力,Android平臺的樂報天下系統(tǒng)軟件終于完成了。由于對JAVA濃厚的興趣引發(fā)了我對Android的好奇心,從一開始什么都不懂到一直摸索學(xué)習(xí),終于完成了這個軟件。對Android系統(tǒng)技
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1