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

正文內(nèi)容

基于android手機(jī)的備忘錄管理程序-資料下載頁

2024-11-12 15:38本頁面

【導(dǎo)讀】Android是Google開發(fā)的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。隨著Android平臺(tái)的日趨成。熟,Android的用戶呈現(xiàn)不斷上升之勢(shì)。本文正是致力于Android手機(jī)的備忘錄管理程序的實(shí)現(xiàn),利用JAVA語言以及Eclipse工具實(shí)現(xiàn)了對(duì)備忘錄。據(jù)用戶定制按不同方式提醒備忘事件,操作界面簡(jiǎn)潔明了,較易上手。在文中給出了詳細(xì)的系統(tǒng)設(shè)。計(jì)過程、實(shí)現(xiàn)的各功能界面截圖并附上各功能的主要程序代碼并予以了相關(guān)解釋。

  

【正文】 java類 ① SQLiteDatabase( ) 重要方法介紹: (1)public static SQLiteDatabase openOrCreateDatabase (File file, factory) public static SQLiteDatabase openOrCreateDatabase (String path, factory) 這個(gè)方法用于打開或創(chuàng)建一個(gè)數(shù)據(jù)庫(對(duì)于 sqlite來說,就是打開或產(chǎn)生一個(gè)數(shù)據(jù)庫文件),參數(shù)中的 File 類就是 java 中 表 示 系 統(tǒng) 文 件 路 徑 的 File 類 , 而 Cursor對(duì)象的工廠類( Cursor接口將在后面介紹到)。 (2)public long insert (String table, String nullColumnHack, ContentValues values)這個(gè)方法用于在數(shù)據(jù)庫中加入數(shù)據(jù)。 ContentValue類似于 java中 HashMap類,用于以鍵值對(duì)的方式保存數(shù)據(jù)。 (3)public int delete (String table, String whereClause, String[] whereArgs) 用于刪除表中的數(shù)據(jù)。 (4)public Cursor query (booleandistinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) 作用非常重要,用于查詢數(shù)據(jù)庫中的數(shù)據(jù)。 (5)public int update (String table, ContentValues values, String whereClause, String[] whereArgs) 用于修改數(shù)據(jù)。根據(jù)傳入?yún)?shù)的名字可以了解起相關(guān)的使用方法。 (6)public void execSQL (String sql, Object[] bindArgs) 20 public void execSQL (String sql) 這是相對(duì)來講最為重要的方法。這個(gè)方法用于執(zhí)行用 String 表示的非查詢(因?yàn)樗粫?huì)返回一個(gè) Cursor 對(duì)象)的 sql 語句,例如 CREATE,SELECT 等。遺憾的是現(xiàn)在尚無法一次調(diào)用該方法來執(zhí)行用“;”分開的多條 sql語句。第二個(gè)重寫方法使用的更多些。 (7)public void close () 用來關(guān)閉數(shù)據(jù)庫并釋放數(shù)據(jù)庫占用的相關(guān)資源。 ② SQLiteOpenHelper ( ) 使用它都是通過自己定義一個(gè)類繼承于它,并實(shí)現(xiàn) onCreate(SQLiteDatabase) , onUpgrade(SQLiteDatabase, int, int) , onOpen(SQLiteDatabase)三個(gè)方法。所謂的輔助類,其實(shí)就是充當(dāng)了一個(gè)封裝器 —— 也就是說用于對(duì)其輔助的類實(shí)現(xiàn)一個(gè) java 上的封裝。在這里, SQLiteOpenHelper就是用來對(duì) SQLiteDatabase進(jìn)行一個(gè)封裝處理。 它包含的方法如下: (1)synchronized void close()關(guān)閉任何已開啟的數(shù)據(jù)庫對(duì)象。 (2)synchronized SQLiteDatabase getReadableDatabase()創(chuàng)建或打開一個(gè)僅僅可讀的(readonly)數(shù)據(jù)庫。 (3)synchronized SQLiteDatabase getWritableDatabase()創(chuàng)建或打開一個(gè)可讀可寫的數(shù)據(jù)庫。 (4)abstract void onCreate(SQLiteDatabase db) 當(dāng)數(shù)據(jù)庫被第一次創(chuàng)建時(shí)被調(diào)用的的方法(類似于 Activity的 onCreate())。 (5)void onOpen(SQLiteDatabase db)數(shù)據(jù)庫已經(jīng)被成打開后被調(diào)用。 (6)abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)當(dāng)數(shù)據(jù)庫需要被更改(更新)時(shí)被調(diào)用。 ③ Cursor( ) Cursor沒有構(gòu)造方法,只能通過 query方法獲得。 execSQL方法無法執(zhí)行與查詢相關(guān)的 sql語句,是因?yàn)闊o法返回一個(gè) Cursor 對(duì)象 —— 查詢需要將查到的結(jié)果(就是表中的哪一行滿足查詢條件)返回, execSQL是返回 void的,所以無法操作查詢語句。從這里可以了解到,Cursor 接口從某種意義上說就是為了彌補(bǔ)這一點(diǎn)的 —— query 方法就是返回了一個(gè) Cursor對(duì) 象。從名字上看,它的意思是游標(biāo),它指代數(shù)據(jù)庫中保存數(shù)據(jù)的表的一行,并且還可以簡(jiǎn)單的處理該行數(shù)據(jù)項(xiàng)的信息。從類的描述看, Cursor 提供了對(duì)一個(gè)數(shù)據(jù)庫查詢動(dòng)作返回結(jié)果束的隨機(jī)讀寫途徑,也就是說,它是一個(gè)對(duì)查詢操作返回結(jié)果進(jìn)行進(jìn)一步處理的類,而這些處理就是用 Cursor里的方法實(shí)現(xiàn)的。結(jié)合 SimpleCursorAdapter這個(gè)適配器類,可以很 21 方便的將數(shù)據(jù)庫中的數(shù)據(jù)顯示到 AdapterView(例如 ListView, GridView)中 —— 這也是Cursor 的另一大用處。如果了解 java 中的迭代器( Iterator)的話就會(huì)發(fā)現(xiàn)其實(shí) Cursor和迭代器有些相似,這樣可能會(huì)更快的了解 Cursor。 一些常用的方法有: (1) public abstract boolean moveToPosition (int position) public abstract boolean moveToFirst () public abstract boolean moveToLast () public abstract boolean moveToNext () public abstract boolean moveToPrevious () 它們都是對(duì) Cursor指向的位置進(jìn)行操作的方法 —— 移到某個(gè)指定的位置、移到第一行、移到最后一行、移向下一行、移向上一行等等。 (2)public abstract int getCount () 返回 Cursor指向的表含有的總數(shù)據(jù)項(xiàng)數(shù)。 (3)public abstract boolean requery () Cursor是被一個(gè) query 方法產(chǎn)生的,而這個(gè)方法就是將那個(gè) query方法所做的查詢動(dòng)作再執(zhí)行一遍 —— 這將會(huì)改變調(diào)用該方法的 Cursor對(duì)象的 值,也就是說, Cursor使用了該方法后就復(fù)位了。 (4) public abstract boolean isClosed () 在 java中,類似于 isWhatever形式的方法大都是對(duì)對(duì)象狀態(tài)進(jìn)行判斷的方法 —— Whatever成立則返回 true,不成立則返回 false。這些方法也不例外。 值得提一下的是 isNull 方法,該方法測(cè)試某個(gè)欄位所保存的信息是否為 NULL。參數(shù)columnIndex代表了那個(gè)欄位的代號(hào)。 目前基于 Android手機(jī)的備忘錄管理程序的實(shí)現(xiàn)已做了足夠多相關(guān)的技術(shù)與知識(shí)的介紹,下一 章將展示 備忘錄管理程序系統(tǒng)功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),并對(duì)核心代碼作出相關(guān)解釋與說明。 22 第五章 Android 備忘錄管理程序的 實(shí)現(xiàn)與體會(huì) 本人是首次接觸 android系統(tǒng)與移動(dòng)平臺(tái)開發(fā),在學(xué)習(xí)和開發(fā)的過程中遇到很多大大小小的問題,下面是我整理的典型問題和解決方案。 模擬器啟動(dòng) 在使用備忘錄程序之前,需要對(duì) Android模擬器 進(jìn)行啟動(dòng)。下圖為模擬器啟動(dòng)運(yùn)行時(shí)的界面截圖: 圖 51 啟動(dòng)時(shí)的緩沖期 23 圖 52 模擬器啟動(dòng)后的界面 添加備忘錄 對(duì)于手機(jī)備忘錄的使用,我們首先要在主程序中 對(duì)需要備忘的事件以及內(nèi)容進(jìn)行添加,添加界面如下圖所示: 圖 53 備忘錄添加界面 24 核心程序與解釋: 用戶可以點(diǎn)擊 menu按鈕在沒有記錄的情況下看到增加備忘錄和刪除備忘錄兩項(xiàng)菜單選項(xiàng)。 創(chuàng)建按鈕關(guān)鍵代碼如下: //重寫 activity下的創(chuàng)建按鈕的方法 public boolean onCreateOptionsMenu(Menu menu) { (0,ADD_M,0,)。 (0,DEL_M,0,)。 return (menu)。 } 添加內(nèi)容寫入,如下圖: 圖 54 寫入添加內(nèi)容 多條添加內(nèi)容展示,如下圖: 25 圖 55 多條添加內(nèi)容展示 核心程序與解釋: 用戶可以添加多條備忘信息,其中信息包括標(biāo)題和內(nèi)容 關(guān)鍵代碼: //將標(biāo)題和內(nèi)容插入數(shù)據(jù)庫中的相應(yīng)的表 long tag = (title, content)。( diaryDAO是自己定義的數(shù)據(jù)庫) //相應(yīng)字段常值 private static final String TB_NAME = tb_diary。//庫名 public static final String F_ID=_id。//自動(dòng)增長(zhǎng) id主鍵 public static final String F_TITLE=title。//標(biāo)題 public static final String F_CONTENT=content。//內(nèi)容 public static final String F_CREATED=created。//當(dāng)前時(shí)間 //數(shù) 據(jù)庫中的插入方法 public long createDiary(String title,String context){ ContentValues initValues = new ContentValues()。 (F_TITLE, title)。 (F_CONTENT, context)。 Calendar calendar = ()。 String created = () + 年 + () + 月 26 + () + 日 + () + 時(shí) + () + 分 。 (F_CREATED, created)。 return (TB_NAME, null, initValues)。 } 刪除備忘錄 手機(jī)存儲(chǔ)量有限,同時(shí)備忘錄內(nèi)容廢棄等原因需要對(duì)備忘錄進(jìn)行刪除等操作,選擇備忘錄界面中的刪除備忘錄信息即可。界面如下圖: 圖 56 備忘錄信息刪除 核心程序與解釋:用戶選中光亮后點(diǎn)擊刪除按鈕可以刪除具體的某一項(xiàng)。 //刪除 某一項(xiàng)的方法 //取得某一項(xiàng)的 id long currItemId = getListView().getSelectedItemId()。 //數(shù)據(jù)庫中刪除操作 (currItemId)。 27 //重繪界面 readerListView()。 //數(shù)據(jù)庫中刪除方法 public int delete(long rowId){ return (TB_NAME, F_ID+=+rowId, null)。 } //重繪方法 private void readerListView(){ //調(diào)用數(shù)據(jù)庫查找方法 cursor = ()。 startManagingCursor(cursor)。 String[] from = new String[]{,}。 int[] to = new int[]{,}。 //適配器,適配數(shù)據(jù)和 xml配置 SimpleCursorAdapter notes = new SimpleCursorAdapter (this,cursor,from,to)。 setListAdapter(notes)。 } 查看記錄 做備忘錄的目的就是提醒我們注意重要的事件,那么我們隨時(shí)可能忘記將要處理的事情,需要隨時(shí)查閱,那么如何查看備忘錄信息記錄呢?如下圖所展示: 圖 57 備忘錄信息查閱 28 圖 58查看備忘記錄 核心程序與解釋: 用戶點(diǎn)擊后可以查看到指定的某項(xiàng)內(nèi)容 //將 i定義為游標(biāo) (position)。 Intent i = new Intent(AC_EDIT)。 (, id)。 (, //取出標(biāo)題字段 (()))。 (, //取出內(nèi)容字段 (()))。 倒序查找 由于我們記錄信息的先后順序排列,我們很多時(shí)候是現(xiàn)做之前已經(jīng)記錄的事情,也就是需要倒 序 查找需要查詢的內(nèi)容,以方便查看。下圖所示為倒 序
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1