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

正文內(nèi)容

android手機通訊_錄的設(shè)計與實現(xiàn)_本科畢業(yè)論文-資料下載頁

2024-09-01 17:15本頁面

【導(dǎo)讀】進行研究所取得的研究成果。除了文中特別加以標注引用的內(nèi)容外,本。論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果。到本聲明的法律后果由本人承擔(dān)。

  

【正文】 Content 郵箱地址 position Content 地點 pany Content 公司地址 remark Integer 標記 imageid Integer 組件的 ID 號 表 49 字段說明表 在程序開發(fā)階段,首先確定“ Android 平臺文本編輯軟件”的工程名 為 AndroidContact,據(jù)程序模塊設(shè)計的內(nèi)容,建立 AndroidContact工程。 AndroidContact工程源代碼的結(jié)構(gòu)如圖 410所示。 圖 410AndroidContact 工程源代碼的結(jié)構(gòu) 數(shù)據(jù)提供者 MyDBHelper 繼承 SQLiteOpenHelper,是在應(yīng)用程序間共享數(shù)據(jù)的一種接口機制。應(yīng)用程序在不同的進程中運行,因此,數(shù)據(jù)和文件在不同的應(yīng)用程序之間是不能夠直接進行訪問的。而 MyDBHelper程序員提供了較高級的數(shù)據(jù)共享方法,應(yīng)用程序可以指定需要共享的數(shù)據(jù),而其他應(yīng)滁州 學(xué)院畢業(yè)論文 19 用程 序則可 以在不知數(shù)據(jù)來源、路徑的情況下,對共享數(shù)據(jù)進行查詢、添加、刪除 和更新等操作 [23]。 對應(yīng)于數(shù)據(jù)庫的操作我首先定義了各個值: public long insert(User user) { ContentValues values = new ContentValues()。 (name, )。 (mobilephone, )。 (officephone, )。 (familyphone, )。 (address, )。 (othercontact, )。 (,)。 (position, )。 (pany, )。 (zipcode, )。 (remark, )。 (imageid, )。 (privacy, )。 return (DB_TABLENAME, null, values)。 } 為了解決用戶菜單操作中刪除所有的聯(lián)系人的操作我使用了如下的代碼 : public void delete(int _id) { (DB_TABLENAME,_id=?, new String[]{(_id)})。 } public void deleteAll(int privacy) { (DB_TABLENAME,privacy=?,new String[]{(privacy)})。 } 當用戶通過長期的點擊選擇鍵時會默認 的選擇需要操作的聯(lián)系人,通過長按鍵點擊可以對標記的聯(lián)系人進行刪除操作,通過長點擊進行標記,然后對標記的數(shù)據(jù)進行徹底的刪除操作。 public void deleteMarked(ArrayListInteger deleteId) { StringBuffer strDeleteId = new StringBuffer()。 (_id=)。 for(int i=0。i()。i++) { if(i!=()1) { 滁州 學(xué)院畢業(yè)論文 20 ((i) + or _id=)。 } else { ((i))。 } } (DB_TABLENAME, (), null)。 (())。 } 為了將用戶的數(shù)據(jù)存儲到 文件 中我們進行了如下的操作: private void saveDataToFile(String strData,boolean privacy) { } 這條命令的含義就是將用戶的數(shù)據(jù)存儲到 文件 中。 為了將用戶的數(shù)據(jù)存儲到數(shù)據(jù)庫中我使用了如下的代碼操作: public void restoreData(String fileName) { try { file = new File(SDPATH + zpContactData/+ fileName)。 } } BufferedReader br = new BufferedReader(new FileReader(file))。 } } catch(Exception e) { } } 文件的查找操作可以通過對數(shù)據(jù)庫的查找來實現(xiàn),通過建立 findFile函數(shù)可以實現(xiàn)數(shù)據(jù)庫的查找 : public boolean findFile(String fileName) { String SDPATH = () + /。 File file = null。 if((.bk)) { file = new File(SDPATH + zpContact/+fileName)。 } else { file = new File(SDPATH + zpContact/+fileName + .bk)。 } 滁州 學(xué)院畢業(yè)論文 21 if(()) { return true。 } else { return false。 } } 下 面是數(shù)據(jù)庫的類繼承函數(shù),顯示了數(shù)據(jù)庫類的繼承關(guān)系: class MyDBHelper extends SQLiteOpenHelper { public MyDBHelper(Context context, String name, int version) { super(context, name, null, version)。 } 通過對數(shù)據(jù)庫的詳細描述,我們知道了一個數(shù)據(jù)庫的建立,和查找,刪除,列表,標記等操作的實現(xiàn)。 后臺服務(wù)是整個應(yīng)用程序的核心,主要是“數(shù)據(jù)獲取模塊” ,負責(zé)周期性的從用戶輸入的內(nèi)容中獲取信息。后臺服務(wù)在程序啟動時就由 AppWidgetProvider 啟動,也可由用戶界面通過startService()進行啟動,啟動后的后臺服務(wù)將一直保持運行狀態(tài)。 用戶界面從數(shù)據(jù)庫中獲取文本信息。之所以這么簡單,一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺服務(wù)可以及時更新數(shù)據(jù),以保證數(shù)據(jù)的準確性。 數(shù)據(jù)庫適配器封裝了所有對 SQLite數(shù)據(jù)庫操作的方法,用戶界面和后臺服務(wù)會調(diào)用它來實現(xiàn)數(shù)據(jù)庫操作 [24]。 數(shù) 據(jù)庫設(shè)計和模塊設(shè)計后,至此程序設(shè)計階段基本完成 。 按鍵主菜單的建立 下面我們將介紹 menu 的觸發(fā)方式,通過對 menu的介紹,我們將了解 menu 功能設(shè)計, 對 menu鍵的使用首先要建立 menu菜單: 如下的代碼就是詳細的 menu菜單的建立 ,不但建立了詳細的 menu菜單,還為每個 menu綁定了一個圖標和文字。 String[] main_menu_itemName = { 顯示所有 , 刪除所有 }。 //主菜單圖片 int[] main_menu_itemSource = { , , , , 滁州 學(xué)院畢業(yè)論文 22 , , }。 String[] bottom_menu_itemName = { 增加 , 查找 , 刪除 , 菜單 ,退出 }。 String fileName。 int[] bottom_menu_itemSource = { , , , , , }。 建立 menu 菜單后將建立一個詳細的 menu 觸發(fā)過程 ,menu 的觸發(fā)過程如下所示,通過點擊不同的 menu鍵觸發(fā)不同的功能選項界面。 public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == ) { loadBottomMenu()。 if(() == ) { if(searchLinearout != null amp。amp。 () == ) { ()。 } ()。 } else { ()。 } } return (keyCode, event)。 } 詳細的頁面添加設(shè)計 介紹完了界面的操作和數(shù)據(jù)庫的操作,下面是最主要的功能操作,也 就是聯(lián)系人的添加操作的部分功能。如下為用戶的圖像的載入操作,通過選擇可以載入不同的圖像。其他文字的載入跟圖像的載入基本相同,因此我將詳細的講述圖像的載入功能的實現(xiàn): public void initImageChooseDialog() { if(imageChooseDialog == null) { 滁州 學(xué)院畢業(yè)論文 23 builder = new (this)。 (請選擇圖像 ) .setView(imageChooseView).setPositiveButton(確定 , new () { public void onClick(DialogInterface dialog, int which) { imageChanged = true。 previousImagePosition = currentImagePosition。 (images[currentImagePosition%])。 } }) .setNegativeButton(取消 , new () { public void onClick(DialogInterface dialog, int which) { currentImagePosition = previousImagePosition。 } })。 imageChooseDialog = ()。 } } 通過選擇圖像后將會將選擇后的圖像載入到聯(lián)系人中,具體是功能實現(xiàn)需要如下代碼來實現(xiàn),通過用戶的不同的選擇將代碼載入到聯(lián)系人中。 public void loadImage() { if(imageChooseView == null) { LayoutInflater li = ()。 imageChooseView = (, null)。 gallery = (Gallery)()。 (new ImageAdapter(this))。 ()。 is = (ImageSwitcher)()。 (this)。 (new OnItemSelectedListener(){ public void onItemSelected(AdapterView? arg0, View arg1, int arg2, long arg3) { 滁州 學(xué)院畢業(yè)論文 24 // TODO Autogenerated method stub currentImagePosition = arg2 % 。 (images[arg2 % ])。 } public void onNothingSelected(AdapterView? arg0) { }})。 } } 其他功能設(shè)計 下面的程序定義了用戶打電話發(fā)郵件,發(fā)短信的功能,如下的代碼主要是運用了 android 操作系統(tǒng)自定義接口,運用這些接口可以實現(xiàn)用戶的打電話 、 發(fā)短信、 發(fā)郵件的功能。 首先定義了 menu鍵,在 menu功能中制定了三個 menu鍵。 public boolean onCreateOptionsMenu(Menu menu) { (0, , 1, 打電話 )。 (0, +1, 2, 發(fā)短信 )。 (0, +2, 3, 發(fā)郵件 )。 //為每一個 Item設(shè)置圖標 MenuItem item = ()。 ()。 MenuItem item1 = ()。 ()。 MenuItem item2 = (+1)。 ()。 return (menu)。 } 當建立好 menu鍵以后為每一個 MenuItem添加事件,添加了兩個事件,代碼功能如下 : public boolean onMenuItemSelected(int featureId, MenuItem item) { switch(()){ case : { 滁州 學(xué)院畢業(yè)論文 25 //將狀態(tài)設(shè)置為打電話 status = 。 if(callData == null) { //加載可用的號碼 loadAvailableCallData()。 } if( == 0) { //提示沒有可用的號碼 (this, 沒有可用的號碼! , ).show()。 } else if( ==
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1