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

正文內(nèi)容

基于安卓android的多功能視頻播放器的系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2024-12-16 02:39 本頁面
 

【文章內(nèi)容簡介】 varchar 255 Y 文件書簽 videoArtist varchar 255 Y 藝術(shù)家信息 videoSize varchar 255 Y 文件大小 歷史播放文件表 歷史播放文件表記錄了播放器中播放過的文件信息,這里包括文件名,文件絕對路徑兩個選項(xiàng),方便用戶讀取歷史播放記錄信息,以及在此播放等功能。其表詳情見表 。 表 歷史播放文件列表 名稱 類型 長度 十進(jìn)制 允許空? 備注 _id integer 11 0 N 主鍵 videoName varchar 255 0 N 視頻文件名 videoPath varchar 255 N 文件的絕對路徑 收藏文件表 收藏 文件表記錄了手機(jī)內(nèi)部存儲的視頻文件,這樣方便用戶讀取收藏文件列表的視頻文件進(jìn)行播放,其表詳情見表 。 名稱 類型 長度 十進(jìn)制 允許空? 備注 _id integer 11 0 N 主鍵 videoName varchar 255 0 N 視頻文件名 videoPath varchar 255 N 文件的絕對路徑 表 收藏文件列表 14 4 基于 Android 的多功能視頻播放的系統(tǒng)實(shí)現(xiàn) 數(shù)據(jù)庫管理 Android 在運(yùn)行時( runtime)集成了 SQLite,所以每個 Android 應(yīng)用程序都可以使用 SQLite 數(shù)據(jù)庫。對于熟悉 SQL 的開發(fā)人員來時,在 Android 開發(fā)中使用 SQLite 相當(dāng)簡單。但是,由于 JDBC 會消耗太多的系統(tǒng)資源,所以 JDBC 對于手機(jī)這種內(nèi)存受限設(shè)備來說并不合適。因此, Android 提供了一些新的 API 來使用 SQLite 數(shù)據(jù)庫, Android 開發(fā)中,程序員需要學(xué)使用這些 API。 Android 不自動提供數(shù)據(jù)庫。在 Android 應(yīng)用程序中使用 SQLite,必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建表、索引,填充數(shù)據(jù)。 Android 提供了 SQLiteOpenHelper 幫助你創(chuàng)建一個數(shù)據(jù)庫,你只要繼承 SQLiteOpenHelper 類,就可以輕松的創(chuàng)建數(shù)據(jù)庫。 SQLiteOpenHelper 類根據(jù)開發(fā)應(yīng)用程序的需要,封裝了創(chuàng)建和更新數(shù)據(jù)庫使用的邏輯。 SQLiteOpenHelper 的子類,至少需要實(shí)現(xiàn)三個方法:構(gòu)造函數(shù),調(diào)用父類 SQLiteOpenHelper 的構(gòu)造函數(shù)。這個方法需要四個參數(shù):上下文環(huán)境(例如,一個 Activity),數(shù)據(jù)庫名字,一個可選的游標(biāo)工廠(通常是 Null),一個代表你正在使用的數(shù)據(jù)庫模 型版本的整數(shù)。 onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數(shù),根據(jù)需要對這個對象填充表和初始化數(shù)據(jù)。 onUpgrage() 方法,它需要三個參數(shù),一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個數(shù)據(jù)庫從舊的模型轉(zhuǎn)變到新的模型。 在 中,繼承了 SQLiteOpenHelper 類,定義了需要建立的表,在 onCreate()方法中進(jìn)行了創(chuàng)建,在 onUpgrage()需要先來判斷表的存在性,這樣避免出現(xiàn)表的二義性。 SQLiteOpenHelper 構(gòu)造, onUpgrage(),onCreate()的具體實(shí)現(xiàn)如下: public DatabaseHelper(Context context) { super(context, DB_NAME, null, VERSION)。 // TODO Autogenerated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Autogenerated method stub (DB_CREATE)。 15 (DB_CREATE1)。 (DB_CREATE2)。 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Autogenerated method stub (drop table if exists + TABLE_NAME)。 (drop table if exists + TABLE_NAME1)。 (drop table if exists + TABLE_NAME2)。 onCreate(db)。 } 在 文件中,對 SQLite 中的數(shù)據(jù)查詢,刪除,添加等操作進(jìn)行了實(shí)際操作的封裝。其中需要注意的是,鑒于數(shù)據(jù)庫的操作安全,需要在每次對數(shù)據(jù)庫操作完成之后,執(zhí)行 close()操作,用于實(shí)時同步數(shù)據(jù)庫數(shù)據(jù)。其中主要針對,實(shí)際建立的 3 個表進(jìn)行的查詢,插入,清楚表操作的封裝。重要代碼如下: public void insertLocal(int type,Video_Info vinfo){ (TAG, insert ())。 dBase = ()。 (TAG, insert1 ())。 switch(type){ case localList: (TAG, insert localList ())。 (insert into locallist (videoName,videoPath,videoDuration,videoDescription,videoBookMark,videoArtist,videoSize) + values(?,?,?,?,?,?,?),new Object[]{, ,deoSize})。 break。 } ()。 } public void cleartable(int type){ (TAG, cleartable ())。 dBase = ()。 switch(type){ case localList: (locallist, 1,null)。 (TAG, clear locallist is ok)。 break。 ..... 16 } ()。 } UI 界面的實(shí)現(xiàn) 主界面 UI 如圖 所示 : 圖 主界面 UI 運(yùn)用到 Android 的滑動效果。比如菜單欄是滑動而入。有流動感 ; PlayList的數(shù)據(jù)要求有記憶功能。運(yùn)用到 SQLite; 隨著 PlayList 的視窗的可見性,調(diào)節(jié)播放窗體,以及播放進(jìn)度條的長度。 智能搜索模塊的實(shí)現(xiàn) 智能搜索模塊主要是用于通過在手機(jī)里面通過列表框列出所有的視頻文件看,然后,通過文件名的搜索框?qū)χ付ǖ奈募M(jìn)行簡單的快速定位。其主要界面結(jié)構(gòu)圖如圖 所示。 FileOpen PlayList About Favourite PlayList Window of play Video Is Visible when has the mand of search in Inter! WebBrowser 17 圖 智能搜索界面框架圖 下面為應(yīng)用程序?qū)嵗写嬖诘膶?shí)際智能搜索模塊的界面設(shè)計(jì)。智能搜索框?qū)嵗鐖D 所示。 圖 智能搜索框?qū)嵗? 智能搜索框中對視頻文件響應(yīng)界面實(shí)例如圖 所示。 Search(智能查找) Listview(獲取當(dāng)前 sdcard 中所有視頻文件,顯示名稱,以及修改時間等信息。 當(dāng) listview 中的選項(xiàng)被選中,底部顯示多媒體文件詳細(xì)路徑 Play Remove 當(dāng)單擊 listview 中的選項(xiàng)的操作。 More Back 18 圖 智能搜索模塊當(dāng) 文件被點(diǎn)擊后的界面實(shí)例 獲取視頻文件詳細(xì)信息實(shí)例如圖 所示: 圖 選擇界面中點(diǎn)擊 More Info 之后縣市的有關(guān)文件詳細(xì)信息實(shí)例 在智能搜索框的設(shè)計(jì)中,主要涉及到的是如何遍歷 sdcard 中的視頻文件,如何實(shí)現(xiàn)智能框的智能化搜索。再就是控制智能搜索結(jié)構(gòu)與其他控制相關(guān)的操作。 在遍歷 sdcard中的視頻文件的方法是調(diào)用 android系統(tǒng)中自帶的檢測視頻文件的功能,然后對其結(jié)果進(jìn)行過濾記錄,載入數(shù)據(jù)庫中。 其精簡代碼如下: cursor = managedQuery(, null, null, null, null)。 19 if (()) { do { = (cursor .getColumnIndex())。 = (cursor .getColumnIndexOrThrow())。 = (cursor .getColumnIndexOrThrow())。 ()。 ........( 省略 ) (TAG, before sql insert)。 (1, myVideoInfo)。 (TAG, after sql insert)。 } while (())。 這里通過 android 的游標(biāo)特性 , 進(jìn)行 CONTENT_URI 的查詢 , 就是在 sdcard 存儲卡中對多媒體進(jìn)行通過 URI 的掃描。 而對于實(shí)現(xiàn)智能搜索框的智能搜索功能的實(shí)現(xiàn)如下: ArrayAdapterString searchAdapter = new ArrayAdapterString(this, , searchTextName)。 (searchAdapter)。 (1)。 class searchListOnItemSelectedListener implements OnItemSelectedListener{ 首先建立一個適配器 Adapter,適配類型為前面搜索出來的所有 sdcard 中視頻文件,然后將其綁定到 Android 的一個 AutoCompleteTextView 類型的搜索文本。之后對其控件進(jìn)行一個狀態(tài)監(jiān)聽,這里包括選中監(jiān)聽,以及單擊監(jiān)聽。 public void onItemSelected(AdapterView? arg0, View arg1, int arg2, long arg3) { // TODO Autogenerated method stub (TAG, onItemSelected()..)。 20 int location = ()。 long id = ()。 if( (location == arg2) amp。amp。 (id == arg3)){ ()。 Media_Search_Items selectedItem = (location)。 (文件路徑: +())。 (())。 } } public void onNothingSelected(AdapterView? arg0) { // TODO Autogenerated method stub (TAG, onNothingSelected()..)。 ()。 } } 以上為單擊響應(yīng)的監(jiān)聽。單擊之后出來的界面也就是上面的表 所示。這里顯示了新的模態(tài)對話框,以及在其背后會顯示出來的是選中狀態(tài)的信息。 class searchListOnItemSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView? arg0, View arg1, int arg2, long arg3) { // TODO Autogenerated method stub (TAG, onItemSelected()..)。 int location = ()。 long id = ()。 if( (location == arg2) amp。amp。 (id == arg3)){ ()。 Media_Search_Items selectedItem = (location)。 (文件路徑 +())。 (())。 } } public void onNothingSelected(AdapterView? arg0) { // TODO Autogenerated
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1