




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)4.3.2建表語句1)創(chuàng)建:1、創(chuàng)建書表:IFNOTbook(bidprimaryvarchar(255notnull2、創(chuàng)建書的表:IFNOTbookmark(bmidprimaryautoincrement,null,varchar(50)notnull,bmoffsetintegernull,bmsavetimevarchar(20)notnull);3、創(chuàng)建用管理的表:tableIFNOTuser(useridintegerprimarykeyautoincrement,varchar(20)null,null,varchar(20notnull;4、創(chuàng)建最閱讀的表IFNOTnearlyread(bookidprimarykeyautoincrement,bookname(50)null,bookreadtimevarchar()notnull;5、創(chuàng)建下管理的表IFNOTdown(downidprimaryautoincrement,downuservarchar(20)notnullvarchar20)notnull);2)據(jù)庫使用方法:選擇:fromwherebmid=1;插入:insert(bookmarknull刪除:fromwherebmid=3查找,columns,selection,groupBy,,orderBy)4.3.3數(shù)據(jù)表分本數(shù)據(jù)庫用的是一個輕量級嵌入型數(shù)據(jù)庫sqlite3,創(chuàng)建了一個數(shù)據(jù)庫reader。db,數(shù)據(jù)庫中創(chuàng)建了幾張數(shù)據(jù)表。在建設(shè)網(wǎng)站系統(tǒng)或者軟件之前們必須對系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分1
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)類和具體的結(jié)構(gòu)設(shè)計,既要做到清晰明了又要能適應(yīng)系統(tǒng)各項功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂保證關(guān)鍵數(shù)據(jù)在意外情況下不會被破壞可以說數(shù)表(用來存放書籍,如表字段名稱bid
數(shù)據(jù)類型(表4書籍?dāng)?shù)據(jù)表
條件約束primarynotnullBookmark表(管理書簽,如表4-2字段名稱Bpathbmoffsetmsavetime
數(shù)據(jù)類型Integer()(Integer(表書簽數(shù)據(jù)表
條件約束primarynotnullnotnullnotnullnotnullUser表(用戶數(shù)據(jù),表—字段名稱passwordtelephone
數(shù)據(jù)類型Integer(()(
條件約束primarynotnullnotnullnotnull表用戶數(shù)據(jù)表Nearlyread表(最近閱讀,如表字段名稱Bookidbooknamebookreadtime
數(shù)據(jù)類型Integer(()表最近閱讀數(shù)據(jù)表
條件約束primarynotnullnotnullDown下載,如表4::字段名稱
數(shù)據(jù)類型2
條件約束
Downuser
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)Integer((表下載數(shù)據(jù)表
primarynotnullnotnull3
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)5.41獲sd卡上的txt文本由于一個Android模擬器或者是一個手機(jī)客戶終端上只會配置一個,所以一步移動設(shè)備上有各種各樣的應(yīng)用App,而且各種App都可能會由數(shù)據(jù)或者文件存儲到移動設(shè)備的sdcard上故而有各式各樣的文件類型是該款軟件不需要的也是用戶選擇本款軟件時所不需要的信息文件,于是通過構(gòu)造一個過濾式的方法讓軟件只接受來自上的TXT格式的文本文件。該方法是先通過判斷是否存儲路徑是通過getRecordFiles)方法過濾掉其他無用文件,將剩余的TXT件放置集合AirrayList中后通過Android空間將其目錄結(jié)構(gòu)文件給顯示出來.代碼如下privategetRecordFiles(){recordFiles=ArrayList〈String>();if(isSdcard){Filefiles[]=。();if(files){for(inti;i〈;){if(files[i]getName().indexOf("。)0){/*只取txt件*/file=]。(([i]。getName().indexOf(”"));if(file.toLowerCase)。equals(。txt”))recordFiles.add());}}}}}4
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)開始獲取文件TXT文件?是
否獲取文件名
過濾存放至集合結(jié)束圖文件過濾流程圖5.4.2長選項刪除可能在漫長的使用軟件生活中,用戶會在sdcard里面積累十分多的文件數(shù)量所以這里提供一個刪除功能供用戶刪除一些很久不用的文件該功能通過獲取到Android件ListView上每一條Item的長按事件進(jìn)行綁定事件監(jiān)聽通過該行為進(jìn)行功能描述,通過獲取系統(tǒng)對于里面文件的操作權(quán)限來對于sdcard面的TXT文件進(jìn)行刪除面是刪除的方法delFile(部分代碼實現(xiàn):voidfilePathAndName){try{filePath=filePath=filePathjava.io。myDelFilejava.io.File(filePath);26
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文);}catch(Exceptione){Toast”刪除文操作出錯",1000)。show(;。printStackTrace();}}5。閱讀文本界的實現(xiàn)這是該款軟件最基本也是最重要的功能—對于TXT文本文件的可視化讀取。由于軟件中對于sdcard里面的文件的讀取可以是從各種各樣的界面上獲取要讀取的TXT文件資源,比如可以從本地管理列表直接讀,也可以從最近閱讀列表讀取,者是從閱讀界面來讀取該文本的書簽從而讀取文本文件的某一段。所以,通過Android的Intent(意圖方式)傳遞數(shù)據(jù),數(shù)據(jù)包括了實現(xiàn)本界面的Activity類名也包括了要閱讀文本的書名,還有是要讀取文件的開始頁碼比例如果是非進(jìn)度跳轉(zhuǎn)功能或者是書簽的功能則默認(rèn)進(jìn)度讀取開始頁碼也第一頁而這些數(shù)據(jù)則通過封裝到某個對象中用傳遞給再通過Intent轉(zhuǎn)發(fā)數(shù)據(jù)。以下便是通過BitmapFactory工廠封裝了一些繪制閱讀背景的方法的部分代碼實現(xiàn):.setBitmaps(mCurPageBitmap,mNextPageBitmap;(){booleanonTouch(Viewv,MotionEvente){if(v=={if(e.getAction()==MotionEvent。ACTION_DOWN){abortAnimation();calcCornerXY(e。getX(),());。onDraw();if(mPageWidget{try{。);27
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)}catch(IOExceptione1){e1。printStackTrace();}ifpagefactory。())return;.onDraw();}{try{);}catch(IOException{e1。();}ifpagefactory())returnfalse;.onDraw();}setBitmaps(mCurPageBitmap,);}ret=mPageWidget.doTouchEvent(e);ret;}false;}};}28
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)開始獲取文件名初始頁面是否為1?是
否I/O流打開
隨機(jī)I/O流打開結(jié)束圖5
隨機(jī)流打開文件流程圖5menu按鈕功能的現(xiàn)添加書簽功能作為一款電子書閱讀器軟,這個功能是個輕松快捷而且不可避免的功能,它能夠?qū)㈤L篇的文本文件斷點記錄如果用戶在長時間的閱讀過程中感覺到疲,但是文件依然沒法短時間內(nèi)看完,為了方便下次閱讀則將當(dāng)前頁面記錄下次則可以直接點擊進(jìn)入需要的頁面閱讀該功能通過記錄了文件的總字節(jié)長度及當(dāng)前的閱讀長度進(jìn)行百分比計算前頁面的字節(jié)則是通過之前已經(jīng)計算好了的字體大小,每頁會大概的存放多少字節(jié)數(shù)privatevoidsaveBookMarkDialog(){Dialogd=newDialog(turntest.;d.setTitle("添加書簽");d。。layout。);EditText(EditText)d.findViewById(R.idbmet);Button=(Button)。findViewById(R。id。;Button=(Button)。findViewById(R.id.);//確定動作。setOnClickListener(new(){29
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)Viewv){bmn=);if(bmn。<1){(d。show();}{if(bmn。length(〉10){bmn.substring(0,10);}BookMarknew();(txtname);bm.setMarkName(bmn);m_mbBufEnd);(new));mHelper=CRDBHelper(getApplicationContext();operateResultmHelper);;if(operateResult){makeText(。this,”添加成功",1000)。show();}{makeText(添加失敗"1000).show(});}}});以下是查找書簽及實現(xiàn)跳轉(zhuǎn)的部分代碼實現(xiàn):list=newArrayList〈(;for(inti0;i〈mBookMarkList。size();){30
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)mark=mBookMarkList。(i)。)+”mBookMarkList.get(i)。getSaveTime();list.add(}list_tag=(ListView)findViewById);=newArrayAdapter(ShowBookmark。list_tag.setAdapter(adapter)//
短按跳到書簽list_tag.setOnItemClickListener(){〈〉View,int,{//獲取到所點擊的書簽的定位intmBookMarkList。get(arg2).getCurrentOffset()IntentmIntent=newIntent(ShowBookmark.this,turntest.class);BundleBundle();mB.putString(”Activity"”ShowBookmarkActivity");mB。putInt("Offset",);(mB);;);}});刪除書簽:該功能就是簡單的運(yùn)用對于書簽SQLite數(shù)據(jù)庫操作通過對于ListView組件的長按事件添加監(jiān)聽程序自動生成對話框.下是部分代碼實現(xiàn)list_tag(OnItemLongClickListener(){@Override31
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)booleanonItemLongClick(AdapterView?>arg0,Viewintlong{intnewthissetTitle("提示”)。setMessage(刪除該書簽")(確定",newOnClickListener(){onClick(DialogInterface,which){b=mHelper。mBookMarkListgetBookMarkId());if(b&&。)〉0){listpos);。notifyDataSetChanged();}}}”取消,newOnClickListener({@OverrideonClick(DialogInterfacedialog,int{dialog.dismiss(;}}).show();false;}});//出32
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)6.1能界面打開軟件,會從Logo面自動跳轉(zhuǎn)到該功能界面,該功能的實現(xiàn)只是簡單的通過Android系統(tǒng)的界面設(shè)計,通過對其TabHost項卡組件的運(yùn)用將界面縱向平行的設(shè)計為三個覆蓋的界面,點擊則切換成指定的選項界面如圖—:圖51功能界面62書籍選擇主面打開軟件,軟件就自動加載卡上的txt文檔,該列表通過獲取Android系統(tǒng)的的路徑然后獲取到里面的所有文件,后通過文件名后綴來判別是否為.結(jié)尾的文件將其添加進(jìn)入數(shù)據(jù)庫,然后通過數(shù)據(jù)庫查詢列出所有該書籍表里面的集合從而列出要選擇的文檔,如圖5-233
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)圖5書籍選擇界面6.3戶閱讀界用戶左鍵單擊要閱讀的電子書籍,進(jìn)入由
的畫筆類,通過調(diào)用工廠方法繪制動態(tài)頁面效果面產(chǎn)生獲取頁面坐標(biāo)事件,根據(jù)坐標(biāo)來判斷是向前翻頁還是向后翻頁,如圖—3向后翻頁:圖5用戶閱讀界面6.4單點擊按鈕,就回出現(xiàn)選擇界面加書簽看書簽退出閱讀圖—:34
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)圖菜單功能65書簽操作點擊添加書簽,出現(xiàn)一個添加書簽的界面,如圖圖添加書簽點擊查看標(biāo)簽就會出現(xiàn)相應(yīng)文檔的標(biāo)簽列表如圖—圖5
書簽列表35
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)長按某個選項就會刪除標(biāo)簽。如圖5圖
刪除書簽如果取消則返回標(biāo)簽界面,如果確定則刪除書簽。66書籍操作刪除文檔界面圖中刪除xyy2txt長按菜單鍵功能是對于Android組件的長事件的添加監(jiān)聽功能,如圖5圖刪除書籍36
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)67最近閱讀在閱讀過得書籍會添加進(jìn)最近閱讀數(shù)據(jù)庫,方便用戶后期直接點擊進(jìn)入閱讀,如圖圖5最近閱讀列表68用戶登錄通過與服務(wù)器的連接獲取服務(wù)器提供了最新最熱的書籍推薦,先登陸可以記錄該用戶的下載記錄.如圖:圖在線登陸界面37
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)6.9線中心圖5服務(wù)器獲取的最新資源6性能析。概述及方案特點本軟件是利用語言在平臺上實現(xiàn)的一款閱讀軟件,使用起來方便,常容易使用,方便用戶的操作最重要的特點就是實現(xiàn)簡單沒有過于復(fù)雜冗余的操作。數(shù)據(jù)庫是使用sqlite3進(jìn)行存數(shù)。方案特點:(1)系統(tǒng)先進(jìn)性本系統(tǒng)的先進(jìn)性主要體現(xiàn)在能觸屏翻頁,能顯示已經(jīng)閱讀的進(jìn)度大大減少了占用用戶的時間,而且閱讀起來比較方便快捷。(2)系統(tǒng)可擴(kuò)展性由于本系統(tǒng)是基系統(tǒng)手機(jī)開發(fā)的軟件java語言實現(xiàn),無論是可讀性,可維護(hù)性,是可擴(kuò)展性,都是比較優(yōu)越的(3)智能性38
太原工業(yè)學(xué)院畢業(yè)設(shè)計(論文)增加列表顯示功能,以便實現(xiàn)信息傳遞的快速性、智能性(4)可維護(hù)性安裝簡單、維護(hù)方便。人性化的用戶界面,操作簡單、易用6。10.2性能本系統(tǒng)響應(yīng)時間新處理時間的轉(zhuǎn)換和傳送時間取決于硬件的性能,不過一般情況下是用戶的允許等待時間.其設(shè)置的是觸屏自動翻頁,就像
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖州房地產(chǎn)交易有限公司招聘考試真題2024
- 2024年駐馬店市市級機(jī)關(guān)公開選調(diào)考試真題
- 2024年烏魯木齊市市級機(jī)關(guān)公開選調(diào)考試真題
- 2024年四川甘孜州招聘事業(yè)單位專業(yè)人才筆試真題
- 2025租賃合同范本簡單版
- 經(jīng)濟(jì)師考試近期動態(tài)試題及答案
- 經(jīng)濟(jì)法概論考點總結(jié)試題及答案
- 2025年市政工程考試核心理念試題及答案
- 2025年工程項目管理環(huán)境分析試題及答案
- 工程經(jīng)濟(jì)考試核心概念的多維理解試題及答案
- 妊娠期糖尿病病人的護(hù)理查房
- 幼兒園大班游戲中“一對一傾聽”的策略
- 醫(yī)院信息安全管理課件
- 傳染病處置規(guī)范與流程
- 拍賣合同范本大全(2025年)
- 中醫(yī)臨床診脈教學(xué)
- 人工智能安全治理與戰(zhàn)略穩(wěn)定
- 小學(xué)麻風(fēng)病知識宣傳教育
- 2024年初級會計實務(wù)考試真題
- GB/T 45083-2024再生資源分揀中心建設(shè)和管理規(guī)范
- 花店項目管理
評論
0/150
提交評論