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

正文內(nèi)容

基于android平臺的個人旅游系統(tǒng)的設(shè)計與實現(xiàn)本科(編輯修改稿)

2025-01-09 05:08 本頁面
 

【文章內(nèi)容簡介】 一個 Service 也具有一定的生命周期,如圖 27 所示 。 圖 27 service 的生命周期 從上圖可以看出, service 主要有以下兩個循環(huán)過程: 12 1) 完整的生命周期 : 從 onCreate()開始到 onDestroy()結(jié)束,在 onCreate()函數(shù)中完成初始化,在 onDestroy()函數(shù)中釋放所有的資源。例如一個音樂播放程序,可以在 onCreate()中創(chuàng)建音樂播放線程,在 onDestroy()中終止這個線程。 2) 活躍的生命周期 : 從 onStart()開始,在這個函數(shù)中處理傳遞給 startService()的 Intent 對象。例如對于一個音樂播放程序,會在 Intent 中找到需要播放的音樂曲目。 (三) BroadcastReceiver: 用來接收廣播信息,并給出相應(yīng)的處理結(jié)果。這些廣播信息也許來自于系統(tǒng)自身,如電池電量低、拍攝照片、來電話或短信等 ; 也許來自應(yīng)用程序,比如下載完成時發(fā)送通知來告知用戶。每個應(yīng)用程序擁有的廣播接收器沒有限制,并且可以對任意感興趣的通知進行響應(yīng),廣播接收器也不具有用戶界面。廣 播接 收器 的生 命周 期很短 ,只 有在 廣播 消息抵 達接 收器 并且 接收 器中的onReceive()函數(shù)被調(diào)用時處于活躍狀態(tài),一旦 onReceive()函數(shù)返回后,廣播接收器就處于失活 狀態(tài)。 (四) Intent:協(xié)助前面提到的三種組件完成通信過程,一個 Intent 由動作(Action)、數(shù)據(jù) (Data)、分類 (Category)、類型 (Type)、組件 (Component)和擴展信息 (Extra)等內(nèi)容組成,系統(tǒng)根據(jù) Intent 中所攜帶的不同描述信息來決定將此 Intent交給哪個組件以及該組件獲得 Intent 后要采取的動作。 (五) Content Provider:為應(yīng)用程序之間共享數(shù)據(jù)提供了一個 統(tǒng)一的接口并隱藏了具體的數(shù)據(jù)來源, Android 系統(tǒng)中為一些常見的應(yīng)用 (如聯(lián)系人、音樂、圖像等 )定義了相應(yīng)的 Content Provider,調(diào)用者通過相應(yīng)的 URI來對數(shù)據(jù)進行訪問。通常 Content Provider 將一個應(yīng)用程序的數(shù)據(jù)封裝,并向需要使用該數(shù)據(jù)的其他應(yīng)用程序賦予權(quán)限,這樣就可以使得數(shù)據(jù)在多個程序之間共享。需要注意的是, Content Provider 是基于權(quán)限控制的,這種做法可以提高數(shù)據(jù)的安全性。 程序界面開發(fā) Android 系統(tǒng)為開發(fā)者提供了豐富的可視化界面設(shè)計組件, 包括菜單、對話框、按鈕、文本框等,其中最主要的界面元素包括以下三類 。 1) 視圖組件 (View: 是基類 的一個實例,用來存儲屏幕上特定矩形內(nèi)的布局和內(nèi)容屬性,由視圖又衍生出了一個子類 Widgets(窗體 控件 ),用來處理屏幕區(qū)域的測量和繪制,常用的 Widget 包括 Text, EditText, Button,CheckBox 和 ScrollView 等。 2) 視圖容器 (ViewGroup: 是基類 的一個實例,用來承載和管理一組下層的視 圖和其他視圖組,通常稱為 View 的容器。 3) 布局管理 : Android 使用布局管理器來管理應(yīng)用程序中各用戶界面的組件,這樣做的好處是可以避免因手機分辨率、尺寸等的差異導(dǎo)致編寫的應(yīng)用程序無法移 13 植,因為布局管理器能根據(jù)運行平臺調(diào)整組件的大小。所有的布局管理器都是ViewGroup 的子類,圖 28 表示布局管理器中各類的關(guān)系。 圖 28 Android 布局管理器的類圖 1) LinearLayout(線性布局 ): 該布局中元素之間成線性排列,常用的布局有水平布局和垂直布局。 2) RelativeLayout(相對布局 ): 該布局中元素之間根據(jù)相對位置排列,即在指定一個元素位置時往往會以它的父元素或其它元素的位置作為參照,來決定當前元素的位置,這種布局方式相對隨意,沒有規(guī)律性,但必須保證在使用之前其參照物己經(jīng)存在。 3) AbsoluteLayout(絕對布局 ): 該布局中元素之間根據(jù)坐標排列,即將整個手機劃分成坐標系,通過指定坐標系中的兩個偏移量來決定元素的位置。 4) FrameLayout(幀布局 ): 該布局為每個加入的組件都創(chuàng)建了一個空白區(qū)域 (一幀 ),這些幀會根據(jù) gravity 屬性自動對齊 ,這樣會形成組件疊加的效果。 5) TableLayout(表格布局 ): 該布局中元素之間的排列由表格決定,表格的行和列通過添加 TableRow 或其他組件來控制,通常加入一個 TableRow 或是一個組件都代表一行,表格的寬度取決于父容器的寬度,這種布局只是實現(xiàn)方式與表格類似,但元素之間并沒有實際的分界線。 Android 中提供了兩種方式來利用上面的組件設(shè)計布局,一是在 XML布局文件中通過設(shè)置 XML 屬性進行控制,二是在 Java 程序中通過調(diào)用函數(shù)進行控制,也可以將這兩種方法組合起來使用。 Android 推薦使 用 XML 布局文件的方式來控制用戶界面的顯示,這樣做不僅簡單明了,還可以將視圖控制邏輯從代碼中剝離出來,放入一個單 14 獨的文件中進行控制,更好的體現(xiàn)了 MVC 原則。 Android 系統(tǒng)數(shù)據(jù)存儲方式 Android系統(tǒng)一共提供了四種數(shù)據(jù)存儲方式,分別是 SharedPreferences(通過鍵值二元組存儲簡單數(shù)據(jù) )、文件 (存儲較大規(guī)模的數(shù)據(jù) )、 SQLite數(shù)據(jù)庫 (存儲結(jié)構(gòu)化數(shù)據(jù) )和 ContentProvider(用于應(yīng)用程序之間的數(shù)據(jù)共享 ),下面詳細介紹每一種方式的具體使用方法和使用場合。 1) SharedPreferences: 用鍵 /鍵值形式的二元組來存儲數(shù)據(jù),支持的數(shù)據(jù)類型有 Boolean, string, float, long和 integer,通常用來存儲默認值、實例變量、 UI狀態(tài)和用戶設(shè)置等。每個應(yīng)用程序 Context均有一個 SharedPreferences對象,通過 getSharedPreferences()函數(shù)來獲取該對象,通過 getBoolean(), getFloat()和 getInt()等函數(shù)讀取該對象中存儲的數(shù)據(jù),這些函數(shù)一共有兩個參數(shù),第一個參數(shù)為鍵 /鍵值對中的鍵,第二個參數(shù) 為指定鍵對應(yīng)的鍵值,如果該鍵值不存在則以默認的函數(shù)返回值代替。修改 SharedPreferences對象中的內(nèi)容需要用到 putBoolean() ,putFloat()和 putInt()等函數(shù),并且在修改完后還要調(diào)用 mit()函數(shù),否則修改無效。 2) 文件操作 : Android上層應(yīng)用程序是用 Java語言編寫的,在 Java的 I/O包中提供了大量的文件讀寫函數(shù),如 , , , Android對這些函數(shù)都有良好的支持,除此之外,Android還提供了 openFileInput和 openFileOutput這兩個函數(shù)用來簡化對文件的讀寫操作,與 Java I/O包中的函數(shù)所不同的是,這兩個函數(shù)只能操作當前應(yīng)用程序所在目錄的文件。 3) SQLite數(shù)據(jù)庫 : SQLite是一種開源的、與底層無關(guān)的,輕量級的數(shù)據(jù)庫,最大支持 2048GB的數(shù)據(jù)存儲,與其它大多數(shù) SQL數(shù)據(jù)庫不同的是, SQLite沒有獨立的服務(wù)進程。 SQLite中的數(shù)據(jù)庫文件是跨平臺的,可以在 32位和 64位系統(tǒng)之間,甚至BigEndian和 LittleEndian兩種不同的架構(gòu)之間自由的拷貝數(shù)據(jù), SQLite數(shù)據(jù)庫被用在大量的消費類電子產(chǎn)品中。 SQLite數(shù)據(jù)庫具有以下特點 : 1) 無需配置 : 直接解壓可執(zhí)行文件即可運行。 2) 沒有服務(wù)進程 : 不需要提交到服務(wù)器處理后再返回結(jié)果。 3) 單個數(shù)據(jù)文件 : 將用戶數(shù)據(jù)存儲在一個文件中。 4) 數(shù)據(jù)文件可跨平臺移植 : 不受操作系統(tǒng)位數(shù)和架構(gòu)的限制。 5) 緊湊 : 不需要系統(tǒng)提供太大的資源,占用不到 1M的內(nèi)存空間就可運行。 6) 事務(wù)性 : 采用獨立事物處理機制,遵守 ACID (Atomicity, Consistency,Isolation, Durability)原則。使用數(shù)據(jù)庫的獨占性和共享鎖處理事務(wù),這樣既允許多個進程并發(fā)讀取數(shù)據(jù)庫中的數(shù)據(jù),又能保證最多只有一個進程寫數(shù)據(jù),可以有 15 效地防止讀臟數(shù)據(jù)、不可重復(fù)讀、丟失修改等異常的發(fā)生。 3 SQLite 數(shù)據(jù)庫 SQLite 主要語法 結(jié)構(gòu)新建 SQLite數(shù)據(jù)庫中的結(jié)構(gòu)新建由以下四個部分組成:新建表: CREATE TABLE table_ name (column_ name1 data type, column_ name2 data type,?? ),用來在 SQLite數(shù)據(jù)庫中新建一張數(shù)據(jù)表。 新建視圖: CREATE VIEW[database name]view name AS select statement,用來在 SQLite數(shù)據(jù)庫中新建一個視圖 (虛擬表 ),該表以另一種方式表示一個或多個表中的數(shù)據(jù)。 新建觸發(fā)器: CREATE TRIGGER trigger_name Database_eventON [database_ name]table_ name Trigger_ action Database_ event: delete /insert /update /update of Trigger_ action : BEGIN selectstatement/insert_ statement /update_ statement/delete_ statement END,用來在 SQLite數(shù)據(jù)庫中新建一個觸發(fā)器,在用戶試圖對指定的表執(zhí)行指定的數(shù)據(jù)修改語句時自動執(zhí)行,其中觸發(fā)器是一種特殊的存儲過程。 新建索引: CREATE INDEX index name ON[database name]table name,用來為指定表或視圖創(chuàng)建索引。 結(jié)構(gòu)刪除 SQLite數(shù)據(jù)庫中的結(jié)構(gòu)刪除由以下四部分組成: 1) 刪除表: DROP TABLE[database_name]table_name,用來刪除數(shù)據(jù)表及該表的全部索引。 2) 刪除視圖: DROP VIEW view_name,用來刪除一個視圖。 3) 刪除觸發(fā)器: DROP TR工 GGER[database_name]trigger_name,用來刪除一個觸發(fā)器。 4) 刪除索引: DROP INDEX[database_name]index_name用來刪除一個索引。 數(shù)據(jù)操作 SQLite數(shù)據(jù)庫中的數(shù)據(jù)操作分為增加、刪除、修改和查找四個部分,各個操作的主要語法如下: 增加: INSERT INTO table name[columnl, column2, ...] VALUES (valuel,value2, ...),向 SQLite數(shù)據(jù)庫的數(shù)據(jù)表中插入一行數(shù)據(jù)。 刪除: DELETE FROM table name WHERE column name=some value,刪除 SQLite 16 數(shù)據(jù)表中符合條件的 數(shù)據(jù)。 修改: UPDATE table name SET colume name=new value WHERE column name=some value,將 SQLite數(shù)據(jù)表中符合條件的記錄修改為新的數(shù)據(jù)。 查找: SELECT select list FROM table source [WHERE search condition][GROUP BY group by_ expression][HAVING serch_ condition],查找 SQLite數(shù)據(jù)表中符合條件的記錄。 事 務(wù)處理 當有多項相關(guān)的操作需要完成時,可以使用 SQLite 數(shù)據(jù)庫提供的事務(wù)處理機制,即使用多條 SQL語句結(jié)合在一起形成一個邏輯處理單元,其中每條語句都只能完成整個任務(wù)中的一部分,所有語句合起來才能完成全部任務(wù)。 SQLite 數(shù)據(jù)庫保證事務(wù)處理過程中的所有操作要么全部完成,要么回到起始狀態(tài),這就是事務(wù)處理的原子性。事務(wù)處理還具有其他三條屬性,分別是一致性,隔離性和永久性一致性是指當事務(wù)完成時,數(shù)據(jù)必須處于一致狀態(tài);隔離性是指對數(shù)據(jù)進行修改的所有并發(fā)事務(wù)是彼此隔離的,即一個事物不應(yīng)以任何方式依賴或影響其他事務(wù);永 久性是指當事務(wù)完成后,它對數(shù)據(jù)庫的修改被永久保存。這四條屬性結(jié)合起來可以確保使用事務(wù)處理機制對 SQLite 數(shù)據(jù)庫的修改不會給數(shù)據(jù)庫帶來“臟數(shù)據(jù)’夕事務(wù)處理機制可以劃分為事務(wù)開始、事務(wù)終止、事務(wù)結(jié)束和事務(wù)回滾四部分,各部分的語法如下所示: 事務(wù)開始: BEGIN [TRAN SACTION [name] ] 事務(wù)終止: END [TRAN SACTION [name] ] 事務(wù)結(jié)束: COMMIT[TRANSA
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1