版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.z.寧**大紅鷹學(xué)院"Android開(kāi)發(fā)根底"工程名稱基于Android的圖書管理應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)所在學(xué)院信息工程學(xué)院班級(jí)13軟工1班姓名許格學(xué)號(hào)13221201412016年6月20日-.z.目錄TOC\o"1-3"\h\u5283一、開(kāi)發(fā)背景127839二、需求分析1227912.1功能分析1245242.2開(kāi)發(fā)技術(shù)分析111349三、系統(tǒng)設(shè)計(jì)164313.1系統(tǒng)目標(biāo)1155493.2系統(tǒng)功能2123833.3數(shù)據(jù)庫(kù)設(shè)計(jì)29400四、系統(tǒng)功能實(shí)現(xiàn)4230064.1主界面4174144.2.客戶端登錄6266774.2.1學(xué)生登錄654814.2.2**快捷注冊(cè)7152224.3圖書管理939694.3.1圖書添加949214.3.2圖書信息顯示10207864.3.3圖書數(shù)據(jù)庫(kù)操作1186624.4投稿閱讀1277944.4.1投稿12293054.4.2閱讀廣場(chǎng)1362734.4.3投稿數(shù)據(jù)庫(kù)操作142624.5預(yù)約圖書15135174.5.1預(yù)約卡1566254.5.2預(yù)約數(shù)據(jù)庫(kù)15205044.6翻譯1623174.7娛樂(lè)1726513五、總結(jié)與收獲18-.z.一、開(kāi)發(fā)背景移動(dòng)互聯(lián)網(wǎng)時(shí)代的降臨,說(shuō)明一個(gè)嶄新的時(shí)代開(kāi)場(chǎng)了。所謂移動(dòng)互聯(lián)網(wǎng)是將移動(dòng)通信和互聯(lián)網(wǎng)整合在一起,移動(dòng)設(shè)備〔包括手機(jī)和上網(wǎng)本〕可以隨時(shí)隨地地訪問(wèn)互聯(lián)網(wǎng)資源和應(yīng)用。智能手機(jī)是移動(dòng)互聯(lián)網(wǎng)時(shí)代一個(gè)標(biāo)志性的客戶端工具,它和傳統(tǒng)的手機(jī)是有區(qū)別的,它就像一臺(tái)"小電腦〞,具有獨(dú)立的操作系統(tǒng),可以自由安裝、卸載軟件,具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,可以通過(guò)移動(dòng)通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)接入。對(duì)于移動(dòng)終端設(shè)備飛速開(kāi)展的今天,傳統(tǒng)WEB上的應(yīng)用出現(xiàn)在手機(jī)終端是一個(gè)大的趨勢(shì)。而基于Android開(kāi)發(fā)的圖書館管理系統(tǒng)手機(jī)客戶端,正是對(duì)這一趨勢(shì)的良好表達(dá),Android平臺(tái)下的圖書館管理系統(tǒng)的開(kāi)發(fā),能很好的為用戶提供方便,用戶能通過(guò)它能隨時(shí)隨地的了解系統(tǒng)的實(shí)時(shí)信息,做到信息的實(shí)時(shí)化。通過(guò)Android平臺(tái)下的圖書館管理系統(tǒng)客戶端的開(kāi)發(fā),與傳統(tǒng)WEB應(yīng)用進(jìn)展良好的互補(bǔ)。同時(shí),對(duì)于校內(nèi)的圖書館管理系統(tǒng)來(lái)說(shuō),手機(jī)對(duì)于學(xué)生是必不可少的一個(gè)物品,手機(jī)客戶端這種形式的圖書館管理系統(tǒng),能更加貼近學(xué)生的生活習(xí)慣,并且適合學(xué)生年齡段的習(xí)性,這對(duì)學(xué)生更多的接觸到圖書館的信息有一定得促進(jìn)作用。二、需求分析2.1功能分析基于Android平臺(tái)開(kāi)發(fā)的圖書館管理系統(tǒng)客戶端從設(shè)計(jì)者的角度來(lái)看,用戶角色主要為學(xué)生用戶;功能包括注冊(cè)、登錄、投稿、翻譯、娛樂(lè)、書籍查詢、圖書實(shí)時(shí)更新,借閱圖書共八大局部。學(xué)生用戶可以根據(jù)**進(jìn)展快捷注冊(cè),學(xué)生在投稿區(qū)寫文章發(fā)表,在廣場(chǎng)互動(dòng),翻譯功能可以幫助解決學(xué)習(xí)上遇到不理解的英文進(jìn)展翻譯,娛樂(lè)功能中有兩個(gè)小游戲,用戶可以適時(shí)放松一下。當(dāng)然主要功能當(dāng)然是查詢借閱書籍。2.2開(kāi)發(fā)技術(shù)分析該系統(tǒng)是基于Eclipse軟件并連接AndroidSDK進(jìn)展開(kāi)發(fā)的基于Android平臺(tái)開(kāi)發(fā)的圖書管理系統(tǒng),數(shù)據(jù)庫(kù)采用較小速度快的SQLite,是嵌入式移動(dòng)設(shè)備中常用的輕量級(jí)數(shù)據(jù)庫(kù)。軟件UI通常使用*ml技術(shù)設(shè)計(jì),由于布局的使用,并且布局之間可以互相嵌套,使得android軟件UI的設(shè)計(jì)變得非常靈活,力求圖書館與學(xué)生之間更加親近方便。三、系統(tǒng)設(shè)計(jì)3.1系統(tǒng)目標(biāo)系統(tǒng)采用人機(jī)交互的方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)平安可靠;能夠讓學(xué)生更好更方便的了解圖書館和借閱圖書;豐富學(xué)生知識(shí),增加學(xué)生閱讀積極性;能夠?qū)W(xué)生信息進(jìn)展有效的管理;能夠準(zhǔn)確、詳細(xì)地了解學(xué)生的每月閱讀量;系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。3.2系統(tǒng)功能本系統(tǒng)的具體功能如下:1、圖書管理:新增、瀏覽館藏圖書。2、借閱圖書:學(xué)生查找圖書進(jìn)展預(yù)約,預(yù)約成功可前往圖書館借閱。3、投稿:學(xué)生可以在平臺(tái)發(fā)布文章,發(fā)布的文章可在閱讀界面查看,可對(duì)文章點(diǎn)贊,評(píng)論和分享。4、翻譯:學(xué)生可以使用翻譯功能在線翻譯,如學(xué)習(xí)時(shí)遇到看不懂的英文句子以及單詞。5、娛樂(lè):娛樂(lè)功能開(kāi)發(fā)了兩個(gè)休閑小游戲,打地鼠游戲和掃雷游戲。學(xué)生可在學(xué)習(xí)之余放松一下。6、個(gè)人:學(xué)生可使用**進(jìn)展注冊(cè)和登錄。本系統(tǒng)的系統(tǒng)構(gòu)造功能圖如圖3-1所示。圖3-1系統(tǒng)構(gòu)造功能圖3.3系統(tǒng)用例圖3.4數(shù)據(jù)庫(kù)設(shè)計(jì)由于本系統(tǒng)是在校學(xué)生使用的軟件,需要充分考慮圖書管理和學(xué)生借閱需求等問(wèn)題,而SQLite是一款輕型的數(shù)據(jù)庫(kù),它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。處理速度快,效率高,正好滿足了手機(jī)app的需求,所以本系統(tǒng)采用SQLite數(shù)據(jù)庫(kù)。根據(jù)數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可以進(jìn)一步進(jìn)展數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)。本人所設(shè)計(jì)的數(shù)據(jù)庫(kù)命名為Tushu,數(shù)據(jù)庫(kù)中包括以下的數(shù)據(jù)表:1、學(xué)生信息表(student)2、借閱表(cord)3、圖書表(books)4、留言表〔reads〕〔一〕學(xué)生信息表(student)表1student表構(gòu)造字段名數(shù)據(jù)類型說(shuō)明IdInt主鍵S_NumVarchar(10)**S_NameVarchar(20)**S_ClassVarchar(20)班級(jí)S_PhoneVarchar(11)聯(lián)系方式S_pwdVarchar(20)密碼〔二〕借閱表(cord)表2cord表構(gòu)造字段名數(shù)據(jù)類型說(shuō)明ISBNInt圖書編號(hào),主鍵B_NameVarchar(20)書名S_NumVarchar(20)**ReturnTimeDatetime歸還時(shí)間〔三〕圖書表(books)表3books表構(gòu)造字段名數(shù)據(jù)類型說(shuō)明ISBNInt圖書編號(hào),主鍵B_NameVarchar(20)書名B_AuthorVarchar(20)作者B_PmVarchar(255)書本介紹〔四〕留言表〔reads〕表4reads表構(gòu)造字段名數(shù)據(jù)類型說(shuō)明NumberInt留言編號(hào),主鍵TitleVarchar(50)標(biāo)題ArticleVarchar(255)內(nèi)容四、系統(tǒng)功能實(shí)現(xiàn)4.1主界面該系統(tǒng)分為三大功能模塊:圖書管理、預(yù)約圖書、翻譯、投稿、娛樂(lè)、登錄注冊(cè)六個(gè)功能,下面分別介紹這七大塊,界面如圖4-1所示。圖4-1會(huì)員管理界面圖Activity關(guān)鍵代碼實(shí)現(xiàn)如下://主界面GridView六個(gè)菜單適配,新建適配器MuneAdapter.Java:publicclassMuneAdaptere*tendsBaseAdapter{ int[]imageId={R.drawable.j,R.drawable.h,R.drawable.o,R.drawable.p,R.drawable.k,R.drawable.i}; String[]te*t={"書架","閱讀","簽到","投稿","翻譯","娛樂(lè)"}; privateConte*tconte*t; publicMuneAdapter(Conte*tconte*t){this.conte*t=conte*t;} publicintgetCount(){ return6;} publicObjectgetItem(intposition){returnnull;} publiclonggetItemId(intposition){return0;} publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ Viewview=View.inflate(conte*t,R.layout.item_mune,null); ImageViewicon=(ImageView)view.findViewById(R.id.iv); Te*tViewtv=(Te*tView)view.findViewById(R.id.tv); icon.setImageResource(imageId[position]); tv.setTe*t(te*t[position]); returnview;}}//在主界面進(jìn)展適配,然后進(jìn)展跳轉(zhuǎn)。gView.setAdapter(newMuneAdapter(MainActivity.this));gView.setOnItemClickListener(newOnItemClickListener(){publicvoidonItemClick(AdapterView<">parent,Viewview,intposition,longid){ switch(position){case0:startActivity(BookActivity.class); break;4.2.客戶端登錄4.2.1學(xué)生登錄學(xué)生登錄客戶端主要用于查詢想借閱的圖書和借書。登錄界面如圖4-2-1所示,學(xué)生可以登錄注冊(cè)進(jìn)入客戶端。在登錄界面中,首先提醒您輸入登錄信息,并且把登錄的用戶名和密碼輸入其文本框內(nèi)。圖4-2-1登錄界面圖技術(shù)分析:創(chuàng)立了一個(gè)名為L(zhǎng)oginActivity.java實(shí)現(xiàn)登錄,查詢數(shù)據(jù)庫(kù)中的**和密碼是否匹配,如果沒(méi)有賬號(hào)點(diǎn)擊注冊(cè)跳轉(zhuǎn)到注冊(cè)頁(yè)面。代碼實(shí)現(xiàn)如下:Stringname=user.getTe*t().toString(); Stringpass=pwd.getTe*t().toString(); Log.i("TAG",name+"_"+pass);StudentDaodao=newStudentDao(this); booleanflag=dao.login(name,pass); if(Te*tUtils.isEmpty(name)||Te*tUtils.isEmpty(pass)){ Toast.makeTe*t(this,"**和密碼不能為空!",0).show();} elseif(flag){Log.i("TAG","登錄成功!"); Toast.makeTe*t(LoginActivity.this,"登錄成功",Toast.LENGTH_LONG).show(); Intentintent=newIntent(); intent.setClass(LoginActivity.this,MeActivity.class); intent.putE*tra("name",user.getTe*t().toString()); startActivity(intent); }else{Log.i("TAG","登錄失敗!");Toast.makeTe*t(LoginActivity.this,"登錄失??!**或密碼不正確!",Toast.LENGTH_LONG).show();}}4.2.2**快捷注冊(cè)學(xué)生登錄客戶端沒(méi)有賬號(hào)可點(diǎn)擊登錄按鈕右下方的"**快捷注冊(cè)〞進(jìn)展注冊(cè)。注冊(cè)界面如圖4-2-2所示,學(xué)生可以注冊(cè)個(gè)人信息然后進(jìn)展登錄。在注冊(cè)界面中,首先提醒您輸入個(gè)人信息,注冊(cè)成功后跳轉(zhuǎn)到登錄界面。圖4-2-2注冊(cè)界面代碼實(shí)現(xiàn)如下:StringS_Num=S_num.getTe*t().toString().trim(); StringS_Name=S_name.getTe*t().toString().trim(); StringS_Class=S_class.getTe*t().toString().trim(); StringS_Phone=S_phone.getTe*t().toString().trim(); StringS_pwd=S_Pwd.getTe*t().toString().trim(); if(Te*tUtils.isEmpty(S_Num)||Te*tUtils.isEmpty(S_pwd)){ Toast.makeTe*t(this,"**和密碼不能為空!",0).show(); return;}else{Studentstudent=newStudent(); student.S_Num=S_Num;student.S_Name=S_Name; student.S_Class=S_Class;student.S_Phone=S_Phone; student.S_pwd=S_pwd;dao.add(student);} Toast.makeTe*t(ZhuceActivity.this,"注冊(cè)成功!",0).show(); finish();break;}}4.2.3個(gè)人信息數(shù)據(jù)庫(kù)//Studentdao.javapublicclassStudentDao{ privateDBOpenHelperhelper; privateSQLiteDatabasedb; publicStudentDao(Conte*tconte*t){ super();helper=newDBOpenHelper(conte*t);} publicbooleanadd(Studentstudent){ db=helper.getWritableDatabase(); ContentValuesvalues=newContentValues(); values.put("S_Num",student.S_Num); values.put("S_Name",student.S_Name); values.put("S_Class",student.S_Class); values.put("S_Phone",student.S_Phone); values.put("S_pwd",student.S_pwd); longrowid=db.insert("student",null,values); if(rowid==-1){returnfalse; }else{returntrue;}} publicbooleanlogin(StringS_Num,StringS_pwd){ db=helper.getReadableDatabase(); Stringsql="select*fromstudentwhereS_Num="andS_pwd=""; Cursorcursor=db.rawQuery(sql,newString[]{S_Num,S_pwd}); if(cursor.moveToFirst()==true){cursor.close();returntrue;} returnfalse; }4.3圖書管理4.3.1圖書添加圖書管理員可以進(jìn)展圖書的添加刪除和修改。及時(shí)的更新書庫(kù)圖書信息和增加新書,點(diǎn)擊下方茶杯按鈕即可添加圖書,圖書添加界面如圖4-3-1所示。圖4-3-1添加圖書界面圖技術(shù)分析:在SQLite中添加books表,進(jìn)展增刪查改。創(chuàng)立了一個(gè)名為AddbookActivity.java實(shí)現(xiàn)添加圖書信息。代碼實(shí)現(xiàn)如下://AddbookActivity.java添加圖書:StringB_Name=bookname.getTe*t().toString().trim(); StringB_Author=author.getTe*t().toString().trim(); StringB_pm=pm.getTe*t().toString().trim(); if(Te*tUtils.isEmpty(B_Name)||Te*tUtils.isEmpty(B_Author)){ Toast.makeTe*t(this,"書名不能為空!",0).show(); return; }else{ Bookbook=newBook();book.B_Name=B_Name; book.B_Author=B_Author;book.B_Pm=B_pm; dao.add(book);} Toast.makeTe*t(AddbookActivity.this,"添加成功!",0).show(); finish();break;}}圖書信息顯示BookActivity.java顯示數(shù)據(jù)庫(kù)中所有圖書信息,用listview顯示,創(chuàng)立一個(gè)BookActivity.Java實(shí)現(xiàn)listview的適配。如圖4-3-2圖書信息界面圖。圖4-3-2圖書信息界面圖技術(shù)分析:通過(guò)BookActivity.Java實(shí)現(xiàn)listview的適配。代碼實(shí)現(xiàn)如下://BookAdapter.java適配器把數(shù)據(jù)庫(kù)的圖書信息顯示在listview上,關(guān)鍵代碼如下:publicViewgetView(finalintposition,ViewconvertView,ViewGroupparent){ ViewHolderholder=null;if(convertView==null){convertView=View.inflate(conte*t,R.layout.item_book,null); holder=newViewHolder(); holder.bookname=(Te*tView)convertView.findViewById(R.id.bookname); holder.author=(Te*tView)convertView.findViewById(R.id.author); holder.bookpm=(Te*tView)convertView.findViewById(R.id.pm); convertView.setTag(holder); }else{holder=(ViewHolder)convertView.getTag(); }holder.bookname.setTe*t(books.get(position).B_Name); holder.author.setTe*t(books.get(position).B_Author); holder.bookpm.setTe*t(books.get(position).B_Pm); returnconvertView;} staticclassViewHolder{ Te*tViewbookname;Te*tViewauthor;Te*tViewbookpm;Te*tViewrecord; Viewshu;}//BookActivity.java使用listview顯示所有圖書信息。mListView.setOnScrollListener(newOnScrollListener(){ publicvoidonScrollStateChanged(AbsListViewview,intscrollState){ switch(scrollState){ caseOnScrollListener.SCROLL_STATE_IDLE: intlastVisiblePosition=mListView.getLastVisiblePosition(); if(lastVisiblePosition==pagebook.size()-1){pagenumber++; if(pagenumber*pagesize>=totalNumber){ Toast.makeTe*t(BookActivity.this,"沒(méi)有更多的數(shù)據(jù)了",0).show(); }else{pagebook.addAll(dao.getPageBook(pagenumber,pagesize)); adapter.notifyDataSetChanged();}} break;}} publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intVisibleItemCount,inttotalItemCount){ }});4.3.3圖書數(shù)據(jù)庫(kù)操作publicclassBookDao{ privateDBOpenHelperhelper; privateSQLiteDatabasedb; publicBookDao(Conte*tconte*t){super();helper=newDBOpenHelper(conte*t); }publicbooleanadd(Bookbook){db=helper.getWritableDatabase(); ContentValuesvalues=newContentValues(); values.put("B_Name",book.B_Name);values.put("B_Author",book.B_Author); values.put("B_Pm",book.B_Pm);longrowid=db.insert("books",null,values); if(rowid==-1){ returnfalse; }else{ returntrue; } }publicbooleandelete(Bookbook){db=helper.getWritableDatabase(); introwname=db.delete("books","B_Name="",newString[]{book.B_Name} ); if(rowname==0){ returnfalse; }else{ returntrue; } }4.4投稿閱讀4.4.1投稿每個(gè)學(xué)生都可以投稿寫文章然后發(fā)布,發(fā)布出去的文章可以在閱讀界面查看。閱讀界面相當(dāng)于廣場(chǎng),用戶可以在廣場(chǎng)上看到文章。投稿界面如圖4-4-1所示:圖4-4-1投稿界面圖技術(shù)分析:輸入標(biāo)題和文章內(nèi)容發(fā)布,用戶可以在閱讀"廣場(chǎng)〞上看到發(fā)布的內(nèi)容。代碼實(shí)現(xiàn)如下://Tougao.java關(guān)鍵代碼StringTitle=title.getTe*t().toString().trim(); StringArticle=article.getTe*t().toString().trim(); if(Te*tUtils.isEmpty(Title)){ Toast.makeTe*t(this,"標(biāo)題不能為空!",0).show(); return;}else{Writewrite=newWrite(); write.Title=Title;write.Article=Article; dao.add(write);} Toast.makeTe*t(TougaoActivity.this,"發(fā)布成功!",0).show(); break; }4.4.2閱讀廣場(chǎng)用戶可以在閱讀廣場(chǎng)查看發(fā)布的文章,可以評(píng)論、點(diǎn)贊和分享。圖4-4-2閱讀界面圖技術(shù)分析:使用listview來(lái)顯示發(fā)布的文章,創(chuàng)立一個(gè)ReadAdapter.java適配器。代碼實(shí)現(xiàn)如下://創(chuàng)立一個(gè)ReadAdapter.java實(shí)現(xiàn)一個(gè)適配器功能顯示到listview上,顯示廣場(chǎng)上所有文章。關(guān)鍵代碼如下:publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ ViewHolderholder=null; if(convertView==null){ convertView=View.inflate(conte*t,R.layout.activity_readadapter,null); holder=newViewHolder(); holder.title=(Te*tView)convertView.findViewById(R.id.read_title); holder.article=(Te*tView)convertView.findViewById(R.id.read_article); convertView.setTag(holder); }else{holder=(ViewHolder)convertView.getTag();} holder.title.setTe*t(writes.get(position).Title); holder.article.setTe*t(writes.get(position).Article); returnconvertView;}staticclassViewHolder{ Te*tViewtitle; Te*tViewarticle;}//ReadAdapter.java關(guān)鍵代碼:publicvoidonScrollStateChanged(AbsListViewview,intscrollState){ switch(scrollState){ caseOnScrollListener.SCROLL_STATE_IDLE: intlastVisiblePosition=mListView.getLastVisiblePosition(); if(lastVisiblePosition==pagewrite.size()-1){pagenumber++; if(pagenumber*pagesize>=totalNumber){ Toast.makeTe*t(ReadActivity.this,"沒(méi)有更多的數(shù)據(jù)了",0).show(); }else{pagewrite.addAll(dao.getPagewrite(pagenumber,pagesize)); adapter.notifyDataSetChanged();} }break; } } publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intVisibleItemCount,inttotalItemCount){ }});4.4.3投稿數(shù)據(jù)庫(kù)操作publicclassRecordDao{ privateDBOpenHelperhelper; privateSQLiteDatabasedb; publicRecordDao(Conte*tconte*t){super();helper=newDBOpenHelper(conte*t);} publicbooleanadd(Recordrecord){db=helper.getWritableDatabase(); ContentValuesvalues=newContentValues();values.put("B_Name",record.B_Name);values.put("S_Num",record.S_Num);values.put("ReturnTime",record.ReturnTime);longrowid=db.insert("cord",null,values); if(rowid==-1){returnfalse;}else{ returntrue;} } publicbooleandelete(Recordrecord){ db=helper.getWritableDatabase(); introwname=db.delete("cord","S_Num="",newString[]{record.S_Num} ); if(rowname==0){ returnfalse;}else{ returnfalse; } }4.5預(yù)約圖書4.5.1預(yù)約卡學(xué)生可以在借書功能界面進(jìn)展圖書預(yù)約,輸入圖書名和**還有歸還時(shí)間。界面圖如4-5所示。圖4-5-1預(yù)約圖書界面圖代碼實(shí)現(xiàn)如下://JieyueActivity.java關(guān)鍵代碼:StringB_Name=booknam.getTe*t().toString().trim(); Strings_Num=snum.getTe*t().toString().trim(); Stringtime=returntime.getTe*t().toString().trim();if(Te*tUtils.isEmpty(B_Name)){Toast.makeTe*t(this,"書名不能為空!",0).show(); return;}else{ Recordrecord=newRecord();record.B_Name=B_Name; record.S_Num=s_Num;record.ReturnTime=time; dao.add(record);}Toast.makeTe*t(JieyueActivity.this,"預(yù)約成功!",0).show(); finish();break;}}4.5.2預(yù)約數(shù)據(jù)庫(kù)//預(yù)約數(shù)據(jù)庫(kù)實(shí)現(xiàn),關(guān)鍵代碼實(shí)現(xiàn)如下:publicclassRecordDao{ privateDBOpenHelperhelper; privateSQLiteDatabasedb; publicRecordDao(Conte*tconte*t){super(); helper=newDBOpenHelper(conte*t);} publicbooleanadd(Recordrecord){ db=helper.getWritableDatabase(); ContentValuesvalues=newContentValues(); values.put("B_Name",record.B_Name);values.put("S_Num",record.S_Num); values.put("ReturnTime",record.ReturnTime); longrowid=db.insert("cord",null,values); if(rowid==-1){returnfalse;}else{returntrue;}} publicbooleandelete(Recordrecord){ db=helper.getWritableDatabase(); introwname=db.delete("cord","S_Num="",newString[]{record.S_Num} ); if(rowname==0){returnfalse;}else{returnfalse;} }4.6翻譯圖書館應(yīng)用具有翻譯功能這是一個(gè)創(chuàng)新,可以使學(xué)習(xí)英語(yǔ)的學(xué)生可以方便的當(dāng)做英文字典。圖4-6翻譯界面圖技術(shù)分析:翻譯功能使用實(shí)現(xiàn)網(wǎng)頁(yè)在線翻譯,在webview中放一個(gè)有道的API網(wǎng)頁(yè)。代碼實(shí)現(xiàn)如下://FanyiActivity.java關(guān)鍵代碼:myWebView1=(WebView)findViewById(R.id.myWebView1); myWebView1.setWebViewClient(newWebViewClient(){ publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){ view.loadUrl(url); returnsuper.shouldOverrideUrlLoading(view,url);} }); myWebView1.loadUrl("fanyi.youdao./");}4.7娛樂(lè)娛樂(lè)功能里有兩個(gè)休閑小游戲,打地鼠和掃雷游戲。可提供用戶休息時(shí)娛樂(lè)。點(diǎn)擊打地鼠游戲,在屏幕上會(huì)隨機(jī)顯示地鼠,觸摸地鼠后,該地鼠將不顯示,同時(shí)屏幕上會(huì)顯示打到了幾只地鼠,打地鼠游戲界面如下列圖4-7所示:4-7娛樂(lè)界面技術(shù)分析:地鼠隨機(jī)的出現(xiàn)通過(guò)生成地鼠的隨機(jī)位置,并使用線程控制出現(xiàn)時(shí)間間隔,確定地鼠是否打中則借助觸摸監(jiān)聽(tīng)器onTouch()方法實(shí)現(xiàn)。代碼實(shí)現(xiàn)如下://DadishuActivity.java關(guān)鍵代碼:privateinti=0; privateImageViewmouse,e*it; privateHandlerhandler; publicfl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 面對(duì)死亡 課程設(shè)計(jì)
- 認(rèn)證與認(rèn)可課程設(shè)計(jì)
- 2024年中國(guó)雙芯筷市場(chǎng)調(diào)查研究報(bào)告
- 熱愛(ài)班集體教學(xué)課程設(shè)計(jì)
- 牛頭刨床課程設(shè)計(jì)8撇
- 部編本狐假虎威課程設(shè)計(jì)
- 2024至2030年中國(guó)貫通式倉(cāng)儲(chǔ)貨架數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 交通場(chǎng)站與樞紐課程設(shè)計(jì)
- 趣味特色跆拳道課程設(shè)計(jì)
- 2024年丙酰奮項(xiàng)目可行性研究報(bào)告
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 手術(shù)室急危重患者的搶救與配合
- 1.1公有制為主體多種所有制經(jīng)濟(jì)共同發(fā)展課件-高中政治統(tǒng)編版必修二經(jīng)濟(jì)與社會(huì)
- 研發(fā)投入核算管理制度
- 新疆哈密地區(qū)(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版期中考試(上學(xué)期)試卷及答案
- 期末 (試題) -2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024-2030年中國(guó)SUV行業(yè)市場(chǎng)深度調(diào)研及發(fā)展前景與投資前景研究報(bào)告
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評(píng)定規(guī)程
- 完整2024年國(guó)有企業(yè)管理人員處分條例專題課件
- 國(guó)開(kāi)電大本科工程數(shù)學(xué)(本)在線形考(形成性考核作業(yè)4)試題及答案
- 機(jī)器視覺(jué)課件
評(píng)論
0/150
提交評(píng)論