安卓記事本實習報告_第1頁
安卓記事本實習報告_第2頁
安卓記事本實習報告_第3頁
安卓記事本實習報告_第4頁
安卓記事本實習報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

-.z.Android記事本的設(shè)計與實現(xiàn)——SQLite數(shù)據(jù)庫的設(shè)計和操作學生**:指導老師:摘要:隨著智能手機的快速普及,智能手機操作系統(tǒng)市場風生水起。Android的最大特點是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。本文主要介紹了一款Android記事本SQLite數(shù)據(jù)庫模塊的設(shè)計與實現(xiàn)。根據(jù)人們?nèi)粘I畹男枰撚浭卤镜膬?nèi)容包括運用SQLite封裝好的方法對數(shù)據(jù)進行添加、刪除、修改、更新和密碼進入等功能,并且將查詢到的數(shù)據(jù)傳遞給activity,具有一定的實用性。關(guān)鍵詞:記事本;Android;手勢密碼;SQLite;ActivityDesignandimplementationofAndroidnotepad—DesignandoperationoftheSQLitedatabaseStudentname:Advisor:AbstractWiththerapidproliferationofsmartphones,smartphoneoperatingsystemmarketburgeoned.Android'sbiggestfeatureisitsopenarchitecture,notonlyhasaverygooddevelopment,debuggingenvironment,butalsosupportsavarietyofscalableusere*perience,includingrichgraphicalponents,multimediasupportandpowerfulbrowser.ThispaperdescribesthedesignandimplementationofanAndroidnotepadSQLitedatabasemodule.Accordingtotheneedsofdailylife,includingthecontentsofthenotepadgoodwaytouseSQLitepackagedatatoadd,delete,modify,updateandpasswordtoaccessotherfunctions,andquerythedataispassedtotheactivity,hasacertainpracticality.KeywordsNotepad;Android;gesturepassword;SQLite;Activity目錄29953目錄3199641.引言456561.1項目背景437891.2項目意義448651.3系統(tǒng)可行性分析5223011.4系統(tǒng)主要任務514282.系統(tǒng)方案設(shè)計67602.1搭建Android開發(fā)平臺6176302.2SQLite數(shù)據(jù)庫簡介750332.3總體方案設(shè)計10250253.系統(tǒng)軟件開發(fā)環(huán)境1082563.1Windows開發(fā)環(huán)境1086693.2JAVA集成開發(fā)環(huán)境eclipse11326153.3ADTPluginforEclipse11129544.程序設(shè)計1273614.1程序詳細設(shè)計12239314.2程序運行及效果截圖13159794.3對SQLite數(shù)據(jù)庫增刪改查代碼實現(xiàn)1841445.工作總結(jié)與展望2325430參考文獻24-.z.引言1.1項目背景Window操作系統(tǒng)的誕生成就了微軟帝國,同時也造就了PC時代的繁榮,然而如今,以Android和iPhone手機為代表的智能移動設(shè)備的發(fā)明與互聯(lián)網(wǎng)云技術(shù)的興起卻敲響了PC時代的喪鐘!這也預示著移動互聯(lián)網(wǎng)時代(3G)已經(jīng)來臨。在這個互聯(lián)網(wǎng)繁榮的時代,有一顆超新星,以它獨特性能優(yōu)勢與人性化的UI設(shè)計使它在短短的幾年迅速的占領(lǐng)了智能移動設(shè)備的市場份額,它就是Google的Android!這也意味著Google在移動互聯(lián)網(wǎng)時代開始搶跑并領(lǐng)跑。通過調(diào)查顯示,大部分消費者都會使用手機記事本功能。隨著手機記事本功能的不斷加強與完善,手機記事本對于人們的意義,已不僅僅像一般記事簿一樣簡單記錄,而是向著更個性化人性化的方向發(fā)展。Android[1]系統(tǒng)是開源的,它以迅猛的姿勢已經(jīng)占領(lǐng)了全球一半多的市場。記事本在生活和工作也日益凸顯出它的重要性,它能更好地幫助人們更好地管理自己的工作和生活,極大的方便了人們的生活。因其開源,我們可以在之上開發(fā)安卓記事本軟件,同時這也符合廣大的市場需求。1.2項目意義近幾年來隨著3G技術(shù)成熟和智能手機的不斷普及,移動應用的需求與日俱增,移動應用開發(fā)成為當下最熱門的技術(shù)之一。在Google和Android手機聯(lián)盟的共同推動下,Android在眾多移動應用開發(fā)平臺中脫穎而出。Android是一個真正意義上的開源智能手機操作系統(tǒng),該系統(tǒng)一經(jīng)推出立即受到全球移動設(shè)備廠商和開發(fā)者的熱捧。我們都知道,無論是產(chǎn)品還是技術(shù),商業(yè)應用都是它最大的發(fā)展動力。安卓如此受到廠商與開發(fā)者的青睞,它的前景是一片光明的。國內(nèi)對于安卓這方面的市場還沒有完全開發(fā)出來。只要我們努力學習安卓,對理想,對生活都會有很大的補益。因此,開發(fā)這樣一套很簡單的記事本軟件對我們來講是一件很有必要的事情,在下面的各章中我們將以開發(fā)安卓記事本軟件為例,談談其開發(fā)過程和所涉及到的問題及解決方法。1.3系統(tǒng)可行性分析1.3.1課題調(diào)研與實踐活動和相關(guān)的文件和資料由作者本人網(wǎng)絡(luò)查找,以及老師幫助。具有遇到問題,具有獨立思考,耐心鉆研,向老師虛心求教的良好態(tài)度。關(guān)于技術(shù)方面的難題,跟指導老師面談。1.3.2可行性分析技術(shù)可行性:本項目僅需要一臺裝有Eclipse及配置好Android開發(fā)環(huán)境的計算機即可,對計算機本身有一定的要求,它可以使用Windows*p及其以上版本,Macos,Linu*等操作系統(tǒng)。經(jīng)濟可行性:由于本軟件開發(fā)只有三個人,三臺電腦就行,基本不需要太大的成本.在經(jīng)濟上完全可行。操作可行性:界面設(shè)計時充分考慮用戶的習慣以及手機方面的局限性,程序必須要很簡單;本程序只涉及到開發(fā)環(huán)境配置,安卓組件的熟悉,以及安卓平臺上的數(shù)據(jù)存儲。并沒有太大的難度,所以,該項目完全有可操作性。1.4系統(tǒng)主要任務(1)設(shè)計實現(xiàn)”添加新記事”,”編輯內(nèi)容”,”刪除當前記事”這三個主要的功能模塊。(2)分析并解決實現(xiàn)中的若干技術(shù)問題,像組件的選擇以及保存方式的選擇。(3)進行測試并分析結(jié)果。當然記事本的基本功能,建立新文件、修改現(xiàn)有文件、刪除文件、查看已建立文件等功能是首先必須完成的。可以編寫內(nèi)容,編輯及刪除,讓記事的方式多樣化。記事本軟件的界面設(shè)計力求簡潔,給人清爽的感覺,讓圖標及按鈕以協(xié)調(diào)的布局呈現(xiàn)出了,菜單功能要相對簡單,讓用戶操作方便,從而讓用戶體會到此款軟件的實用。因為上述操作涉及到的數(shù)據(jù)量不大,所以將數(shù)據(jù)庫定為安卓系統(tǒng)自帶的SQLite數(shù)據(jù)庫[3],所以這就要求我們要實現(xiàn)在SQLite數(shù)據(jù)庫上面的增刪改查。不少人希望自己記事本上面的內(nèi)容不被被人查看,所以要以設(shè)置密碼的形式來實現(xiàn)**。鑒于各種各樣的密碼實現(xiàn)方式,我們選擇了用戶體驗最好的手勢解鎖方式。以及采用了更加友好的時間顯示方式,讓用戶在使用過程中更加的舒服方便。記事本軟件要內(nèi)存占用適中,CPU占用也是適中,這樣讓軟件運行順暢。2.系統(tǒng)方案設(shè)計2.1搭建Android開發(fā)平臺2.1.1

安裝包下載(1)java

JDK下載

進入java.sun./javase/downloads/inde*.jsp選擇DownloadJDK只下載JDK,無需下載jre。

(2)Eclipse下載

進入./downloads我們選擇第一個,即EclipseIDEforjavaEEDevelopers。(3)AndroidSDK下載

說明:AndroidSDK兩種下載版本,一種是包含具體版本的SDK的,一種是只有升級工具,而不包含具體的SDK版本,完全版下載(Androidsdk2.01)。

2.1.2

軟件安裝(1)安裝JDK

安裝完成即可。

(2)解壓Eclipse

Eclipse無需安裝,解壓后,直接打開就行。

(3)解壓Android

SDK

這個也無需安裝,解壓后供后面使。

(4)配置Eclipse

打開Eclipse,在菜單欄上選擇help->InstallNewSoftWare點擊Add按鈕,出現(xiàn)如下界面,輸入網(wǎng)址:https://dl-ssl.google./android/eclipse/(如果出錯,請將https改成http),名稱:Android(這里可以自定義),點擊OK,點擊Ne*t按鈕,點擊Ne*t按鈕,出現(xiàn)如下界面:選擇Iacceptthetermsofthelicenseagreements,點擊Ne*t,進入安裝插件界面安裝完成后,點擊Yes按鈕,重啟Eclips。

(5)配置AndroidSDK

點擊菜單window->preferences選擇你的AndroidSDK解壓后的目錄,選錯了就會報錯,這個是升級工具,目前還沒有一個版本的SDK。升級SDK版本,選擇菜單window->Androidsdkandavdmanager。選擇update

all按鈕,出現(xiàn)如下界面選擇左邊的*一項,點擊accept表示安裝,點擊reject表示不安裝,我這里只選了SDK2.1和samplesforapi7。自己可以任意自定義,確定后,選擇install按鈕,進入安裝界面:安裝完成。

(6)新建AVD(Android

vitural

device)

和上面一樣,進入Androidsdkandavdmanager,選中VituralDevices在點擊New按鈕后,名稱可以隨便取,target選擇你需要的SDK版本,SD卡大小自定義,點擊CreateAVD,顯示創(chuàng)建AVD完畢。

(7)新建Android項目

選擇菜單file->new->other

進入如下界面:選擇新建AndroidProject項目,點擊Ne*t按鈕,進入如下界面名稱自定義,應用程序名自定義,報名必須包含一個點以上,minSDKversion里面必須輸入整數(shù)

(8)配置運行

右鍵項目->Runas->RunConfiguration該界面,點擊Browse按鈕,選擇你要運行的項目選擇Target切換到以下界面該界面選擇運行的AVD,將AVD前面的方框設(shè)置為選擇狀態(tài)。

(9)測試項目運行右鍵項目名稱->runas->AndroidApplication即可啟動運行該Android程序。2.2SQLite數(shù)據(jù)庫簡介SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領(lǐng)域項目。它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linu*/Uni*等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如Tcl、C*、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。至2015年已經(jīng)有15個年頭,SQLite也迎來了一個版本SQLite3已經(jīng)發(fā)布。2.2.1SQLite功能特性1.ACID事務2.零配置–無需安裝和管理配置3.儲存在單一磁盤文件中的一個完整的數(shù)據(jù)庫4.數(shù)據(jù)庫文件可以在不同字節(jié)順序的機器間自由的共享5.支持數(shù)據(jù)庫大小至2TB6.足夠小,大致13萬行C代碼,4.43M7.比一些流行的數(shù)據(jù)庫在大部分普通數(shù)據(jù)庫操作要快8.簡單,輕松的API9.包含TCL綁定,同時通過Wrapper支持其他語言的綁定10.良好注釋的源代碼,并且有著90%以上的測試覆蓋率11.獨立:沒有額外依賴12.源碼完全的開源,你可以用于任何用途,包括出售它13.支持多種開發(fā)語言,C,C++,PHP,Perl,Java,C*,Python,Ruby等同時它還支持事務處理功能等等。也有人說它象Microsoft的Access,有時候真的覺得有點象,但是事實上它們區(qū)別很大。比如SQLite支持跨平臺,操作簡單,能夠使用很多語言直接創(chuàng)建數(shù)據(jù)庫,而不象Access一樣需要Office的支持。如果你是個很小型的應用,或者你想做嵌入式開發(fā),沒有合適的數(shù)據(jù)庫系統(tǒng),則你可以考慮使用SQLite。到2013年10月17日最新版本是3.8.1。能在上面獲得源代碼和文檔。同時因為數(shù)據(jù)庫結(jié)構(gòu)簡單,系統(tǒng)源代碼也不是很多,也適合想研究數(shù)據(jù)庫系統(tǒng)開發(fā)的專業(yè)人士.2.2.2Java連接SQLite數(shù)據(jù)庫:publicclassTestSQLite{publicstaticvoidmain(String[]args){try{//連接SQLite的JDBCClass.forName("org.sqlite.JDBC");//建立一個數(shù)據(jù)庫名zieckey.db的連接,如果不存在就在當前目錄下創(chuàng)建之Connectionconn=DriverManager.getConnection("jdbc:sqlite:zieckey.db");Statementstat=conn.createStatement();stat.e*ecuteUpdate("createtabletbl1(namevarchar(20),salaryint);");//創(chuàng)建一個表,兩列stat.e*ecuteUpdate("insertintotbl1values('ZhangSan',8000);");//插入數(shù)據(jù)stat.e*ecuteUpdate("insertintotbl1values('LiSi',7800);");stat.e*ecuteUpdate("insertintotbl1values('WangWu',5800);");stat.e*ecuteUpdate("insertintotbl1values('ZhaoLiu',9100);");ResultSetrs=stat.e*ecuteQuery("select*fromtbl1;");//查詢數(shù)據(jù)while(rs.ne*t()){//將查詢到的數(shù)據(jù)打印出來System.out.print("name="+rs.getString("name")+"");//列屬性一System.out.println("salary="+rs.getString("salary"));//列屬性二}rs.close();conn.close();//結(jié)束數(shù)據(jù)庫的連接}catch(E*ceptione){e.printStackTrace();}}}2.3總體方案設(shè)計在本模塊中,主要設(shè)計到三個文件,第一個是與數(shù)據(jù)庫表相對應的實體類,第二個是創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表的類,第三個是對應的增刪改查的方法。下面是整個項目的總體方案設(shè)計:本次Android項目中運用的技術(shù)比較廣,從基礎(chǔ)的Activity、SQLite到開源的手勢密碼組件,因此將項目盡可能完美的整合到一起成了很重要的一部,如何將總體方案設(shè)計的規(guī)*以及高校是必不可少。從人員安排上,我們?nèi)朔诸^進行,各不影響,我主要負責的是Activity的展示,也就是將其他組員的勞動成果展示出來,則如何美觀以及高性能的展示變成了難點。從設(shè)計模式上,我們嚴格遵循AndroidDesign的規(guī)格,并且使用Google在I/O大會上推薦的一些開發(fā)方法,從而盡可能的講模塊規(guī)*化。從時間分配上,我們進行了敏捷性開發(fā),充分合理的利用了大家的時間。3.系統(tǒng)軟件開發(fā)環(huán)境3.1Windows開發(fā)環(huán)境1.用戶界面統(tǒng)一、友好、漂亮:Windows應用程序大多符合IBM公司提出的CUA(monUserAcess)標準,所有的程序擁有相同的或相似的基本外觀,包括窗口、菜單、工具條等。用戶只要掌握其中一個,就不難學會其他軟件,從而降低了用戶培訓學習的費用。2.豐富的設(shè)備無關(guān)的圖形操作:Windows的圖形設(shè)備接口(GDI)提供了豐富的圖形操作函數(shù),可以繪制出諸如線、圓、框等的幾何圖形,并支持各種輸出設(shè)備。設(shè)備無關(guān)意味著在針式打印機上和高分辨率的顯示器上都能顯示出相同效果的圖形。3.多任務:Windows是一個多任務的操作環(huán)境,它允許用戶同時運行多個應用程序,或在一個程序中同時做幾件事情。每個程序在屏幕上占據(jù)一塊矩形區(qū)域,這個區(qū)域稱為窗口,窗口是可以重疊的。用戶可以移動這些窗口,或在不同的應用程序之間進行切換,并可以在程序之間進行手工和自動的數(shù)據(jù)交換和通信。雖然同一時刻計算機可以運行多個應用程序,但僅有一個是處于活動狀態(tài)的,其標題欄呈現(xiàn)高亮顏色。一個活動的程序是指當前能夠接收用戶鍵盤輸入的程序。3.2JAVA集成開發(fā)環(huán)境eclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大多數(shù)用戶很樂于將Eclipse當作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具[6]。由于Eclipse中的每樣東西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具[7]。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++、COBOL、PHP等編程語言的插件已經(jīng)可用,或預計將會推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應用程序類型的基礎(chǔ)。3.3ADTPluginforEclipseADTPluginforEclipse[9]是Eclipse插件,作用是關(guān)聯(lián)AndroidSDK,使Eclipse能夠創(chuàng)建Android工程。Android開發(fā)工具(ADT)是一個EclipseIDE,目的是給你一個強大的插件,集成環(huán)境中構(gòu)建Android應用程序。Eclipse的ADT延伸的能力,可以快速建立新的Android[10]項目,創(chuàng)建一個應用程序的用戶界面,添加組件基于Android框架API,使用AndroidSDK工具調(diào)試程序,甚至出口簽名(或無)APKs以分發(fā)你的應用。4.程序設(shè)計4.1程序詳細設(shè)計圖4.1系統(tǒng)流程圖安卓記事本本人涉及到的是SQLite的設(shè)計與操作,主要設(shè)計到的文件有三個。分別是:MemoItem.java(與數(shù)據(jù)庫表相對應的實體類)、MemoService.java(對SQLite數(shù)據(jù)庫進行增刪改查的方法)、DBHelper.java(建立數(shù)據(jù)庫、建立表的方法)。在SQLite上建數(shù)據(jù)庫,建表主要要繼承SQLiteOpenHelper這個類。在構(gòu)造方法中實現(xiàn)建數(shù)據(jù)庫,在onCreate方法中進行建表。實現(xiàn)數(shù)據(jù)的增刪改查,先用dbOpenHelper獲得WritableDatabase,再進行相應的操作。還要用到cursor來移動游標,MemoItem返回每一條記錄,List<MemoItem>返回記錄的list集合。在設(shè)計SQLite數(shù)據(jù)庫的同時,還進行了幾個簡單的Activity的編寫。Activity是Android開發(fā)的重點,它與*ML一個負責界面,一個負責界面實現(xiàn)。此外,在寫Activity的時候充分利用JAVA的繼承特性,將MainActivity作為基類,讓其他Activity繼承它,雖然整個項目比較小,但是這種利用JAVA特征的設(shè)計模式還是充分利用了。4.2程序運行及效果截圖圖4.2程序的首頁圖4.3繪制手勢圖4.4通過手勢登錄圖4.5登錄成功圖4.6創(chuàng)建新筆記圖4.7創(chuàng)建成功圖4.8更新筆記圖4.9更新成功圖4.10所有筆記顯示頁面4.3對SQLite數(shù)據(jù)庫增刪改查代碼實現(xiàn)增刪改查:package.e*ample.others;importjava.util.ArrayList;importjava.util.List;importandroid.content.Conte*t;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;publicclassMemoService{ privateDBOpenHelperdbOpenHelper; privateSQLiteDatabasedb; privateCursorcursor; publicMemoService(Conte*tconte*t) { this.dbOpenHelper=newDBOpenHelper(conte*t); } publiclongsave(MemoItemitem)//保存每一條數(shù)據(jù) { db=dbOpenHelper.getWritableDatabase(); Stringsql="insertintomemo(content,time)values(",")"; db.e*ecSQL(sql,newObject[]{item.getContent(),item.getTime()});//將時間插入 cursor= db.rawQuery("SELECTlast_insert_rowid()",null); cursor.moveToFirst();//每次插入保證都在最前面一個 longresult=cursor.getLong(0); cursor.close(); db.close(); returnresult; } publicMemoItemgetMemoById(longtime)//顯示每一條具體的記錄 { db=dbOpenHelper.getReadableDatabase(); cursor=db.rawQuery("select*frommemowherememoid="", newString[]{time+""}); if(cursor.moveToFirst()) { Stringcontent=cursor.getString(cursor.getColumnInde*("content")); longtimes=cursor.getLong(cursor.getColumnInde*("time")); cursor.close(); db.close(); returnnewMemoItem(content,times); } cursor.close(); db.close(); returnnull; } publicvoidupdateContent(MemoItemitem)//更新每一條記錄 { db=dbOpenHelper.getWritableDatabase(); db.e*ecSQL( "updatememosetcontent="wheretime="", newObject[]{item.getContent(),item.getTime() }); db.close(); } publicvoiddelete(longtime)//刪除一條記錄 { db=dbOpenHelper.getWritableDatabase(); db.e*ecSQL("deletefrommemowheretime="",newObject[]{time}); db.close(); } publiclonggetCount()//得到所有的記錄數(shù) { db=dbOpenHelper.getReadableDatabase(); cursor=db.rawQuery("selectcount(*)frommemo",null); cursor.moveToFirst(); longresult=cursor.getLong(0); cursor.close(); db.close(); returnresult; } publicList<MemoItem>getScrollData(intoffset,longma*Result)//列表顯示 { List<MemoItem>books=newArrayList<MemoItem>(); db=dbOpenHelper.getReadableDatabase(); cursor=db.rawQuery( "select*frommemoorderbytimedesclimit","", newString[]{String.valueOf(offset), String.valueOf(ma*Result)}); while(cursor.moveToNe*t()) { longtime=cursor.getLong(cursor.getColumnInde*("time")); Stringcontent=cursor.getString(cursor.getColumnInde*("content")); books.add(newMemoItem(content,time)); } cursor.close(); db.close(); returnbooks; }}建數(shù)據(jù)庫、建表package.e*ample.others;importandroid.content.Conte*t;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;publicclassDBOpenHelpere*tendsSQLiteOpenHelper{ publicDBOpenHelper(Conte*tconte*t) { super(conte*t,"csust.db",null,1);//創(chuàng)建一個數(shù)據(jù)庫 } publicvoidonCreate(SQLiteDatabasedb) { db.e*ecSQL("CREATETABLEmemo(memoidintegerprimarykeyautoincrement,contentvarchar,timeinterger)");//創(chuàng)建一個memo表 } publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion) { db.e*ecSQL(null);//更新數(shù)據(jù)庫 }}表所對應的實體類package.e*ample.others;importandroid.os.Parcel;importandroid.os.Parcelable;publicclassMemoItemimplementsParcelable{ privateStringcontent; privatelongtime; publicMemoItem(){} publicMemoItem(Stringcontent,longtime) { this.content=content; this.time=time; } publicStringgetContent() { returncontent; } publicvoidsetContent(Stringcontent) { this.content=content; } publiclonggetTime() { returntime; } publicvoidsetTime(longtime) { this.time=time; } Override publicStringtoString() { return"BaseItem[content="+content+",time="+time+"]"; } Override publicintdescribeContents() { return0; } Override publicvoidwriteToParcel(Parceldest,intflags) { dest.writeString(content); dest.writeLong(time); } publicstaticfinalParcelable.Creator<MemoItem>CREATOR=newCreator<MemoItem>() { Override publicMemoItemcreateFromPar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論