安卓記事本開發(fā)設(shè)計報告_第1頁
安卓記事本開發(fā)設(shè)計報告_第2頁
安卓記事本開發(fā)設(shè)計報告_第3頁
安卓記事本開發(fā)設(shè)計報告_第4頁
安卓記事本開發(fā)設(shè)計報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

卻京信息工經(jīng)天濱江學(xué)院《移動通信程序設(shè)計》課程設(shè)計二0一四年五月二十九日目錄 1.1Android背景 3 2.1開發(fā)包及其工具的介紹 42.2Android開發(fā)平臺搭建 4 42.2.2軟件安裝 4三、軟件功能規(guī)劃 3.1軟件功能 52.2界面設(shè)計 4.1記事本組件的設(shè)計 4.3記事本存儲實現(xiàn) 6 64.3.2數(shù)據(jù)存儲之files 64.3.3數(shù)據(jù)存儲之network 7 84.3.5數(shù)據(jù)存儲之ContentProviders 5.3刪除記事 5.4程序執(zhí)行流程 六、程序截圖 竇同慶Android是基于Linux開放性內(nèi)核的操作系統(tǒng),是Google公司在2007年11月5日公布繼續(xù)進行對Android系統(tǒng)開發(fā)運營,它采用了軟件堆層(softwarestack,又名軟件疊層)的開發(fā),部分程序以Java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已Android平臺首先就是其開放性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網(wǎng)絡(luò)的逐步過渡和提升,手機風格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)留給Android難題之一。無縫結(jié)合的Google應(yīng)用:如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)走過10年度歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機將無縫結(jié)合這些優(yōu)秀的Google服務(wù)。1.2可行性分析(1)技術(shù)可行性-----本項目僅需要一臺裝有Eclipse及配置好Android開發(fā)環(huán)境的計算機即可,對計算機本身有一定的要求,它可以使用windowsxp及其以上版本,macos,linux等操作系統(tǒng)。(2)經(jīng)濟可行性-----由于本軟件開發(fā)只有一個單個人,一臺電腦就行,基本不需要太大的成本.在經(jīng)濟上完全可行。(3)操作可行性-----界面設(shè)計時充分考慮用戶的習(xí)慣以及手機方面的局限性,程序必須要很簡單;本程序只涉及到開發(fā)環(huán)境配置,安卓組件的熟悉,以及安卓平臺上的數(shù)據(jù)存儲。并沒有太大的難度,所以,該項目完全有可操作性.Android以java作為開發(fā)語言,jdk是進行java開發(fā)時必需的開發(fā)包,Eclipse是一款非常優(yōu)秀的開源IDE,在大量插件的配合下,完全可以滿足從企業(yè)級java應(yīng)用到手機終端java游戲的開發(fā)。Google官方也提供了基于Eclipse的Android開發(fā)插件ADT,所以本軟件開發(fā)選擇Eclipse作為開發(fā)IDE。進入/javase/downloads/index.jsp選擇DownloadJDK只下載JDK,無需下載jre。進入/downloads我們選擇第一個,即EclipseIDEforjavaEE說明:AndroidSDK兩種下載版本,一種是包含具體版本的SDK的,一種是只有升級工具,而不包含具體的SDK版本。完全版下載(Androidsdk2.1r01)。(1)安裝JDK安裝完成即可。(2)解壓EclipseEclipse無需安裝,解壓后,直接打開就行。(3)解壓AndroidSDK這個也無需安裝,解壓后供后面使。(4)配置Eclipse打開Eclipse,,在菜單欄上選擇help->InstallNewSoftWare點擊Add按鈕,出現(xiàn)如下界面,輸入網(wǎng)址:/android/eclipse/(如果出錯,請將https改成http),名稱:Android(這里可以自定義),點擊OK,點擊Next按鈕,點擊Next按鈕,出現(xiàn)如下界面:選擇Iacceptthetermsofthelicenseagreements,點擊Next,進入安裝插件界面安裝完成后,點擊Yes按鈕,重啟Eclips。點擊菜單window->preferences選擇你的AndroidSDK解壓后的目錄,選錯了就會報錯,這個是升級工具,目前還沒有一個版本的SDK升級SDK版本,選擇菜單window>Androidsdkandavdmanager選擇updateall按鈕,出現(xiàn)如下界面選擇左邊的某一項,點擊accept表示安裝,點擊reject表示不安裝,我這里只選了SDK2.1和samplesforapi7,自己可以任意自定義,確定后,選擇install按鈕,進入安裝界面:安裝完成。(6)新建AVD(Androidvituraldevice)和上面一樣,進入Androidsdkandavdmanager,選中VituralDevices在點擊New按鈕顯示創(chuàng)建AVD完畢。選擇菜單file->new->other進入如下界面:選擇新建AndroidProject項目,點擊Next按鈕,進入如下界面名稱自定義,應(yīng)用程序名自定義,報名必須包含一個點以上,minSDKversion里面必須輸入整數(shù)(8)配置運行右鍵項目->Runas->RunConfiguration該界面,點擊Browse按鈕,選擇你要運行的項目選擇Target切換到以下界面該界面選擇運行的AVD,將AVD前面的方框設(shè)置為選擇狀(9)測試項目運行右鍵項目名稱->runas->AndroidApplication即可啟動運行該Android程3軟件功能規(guī)劃能夠提示用戶是否有已寫記事本,能夠進行記事本的標題填寫和內(nèi)容填寫,確定后保3.2界面設(shè)計進入程序提示“您還沒有開始寫日記呢!點擊下邊的Menu按鈕開始寫日記吧!”,點擊menu菜單后進入標題和內(nèi)容的填寫界面。4程序設(shè)計本項目涉及到以下組件:4.2記事本邏輯設(shè)計(1)添加新記事如果當前沒有記事,點擊“menu”后只有一個菜單選項“添加新記事”,寫完記事之后,點擊“確定”進行保存。(2)編輯內(nèi)容選中要編輯的那一個記事,然后點擊“menu”菜單,會出現(xiàn)三個選項“新建記事”,“編輯內(nèi)容”,“刪除當前記事”,點擊“編輯內(nèi)容”對被選中的記事進行編輯,然后點擊“確定”加以保存。(3)刪除記事點擊上下鍵,選中要刪除的記事,然后點擊“menu”菜單,然后點擊“刪除當前記事”,對選中的記事加以刪除。4.3記事本存儲實現(xiàn)Android中一共提供了5種數(shù)據(jù)存儲方式,但是由于存儲的這些數(shù)據(jù)都是其應(yīng)用程序私有的,所以如果需要在其他應(yīng)用程序中使用這些數(shù)據(jù),就要使用Android提供的ContentContentProviders:Android提供的一個特殊的存儲數(shù)據(jù)的類型,它提供了一套標準的接口來獲取,操作數(shù)據(jù)。SharedPreference:用來存儲“key-valuepaires”格式的數(shù)據(jù),它是一個輕量級的鍵值存儲機制,只可以存儲基本數(shù)據(jù)類型。Files:它通過FileInputStream和FileOutputStream對文件進行操作,但是在Android中,文件是一個應(yīng)用程序私有的,一個應(yīng)用程序無法讀寫其他應(yīng)用程序的文件。SQLite:Android提供的一個標準的數(shù)據(jù)庫,支持SQL語句。Network:通過網(wǎng)絡(luò)來存儲和獲得數(shù)據(jù)。4.3.1數(shù)據(jù)存儲之SharedPreferences方法來保存數(shù)據(jù)。4.3.2數(shù)據(jù)存儲之Files我們可以通過自定義的save()方法來保存數(shù)據(jù),同時也可以通過load()方法來獲取文件了Propertiesproperties/*將數(shù)據(jù)打包成Properties*/properties.put("bmusic",String.valueOf(mbM{FileOutputStreamstream=this.o/*將打包好的數(shù)據(jù)寫入文件中*/properties.store(stream,}jjj}}/*裝載、讀取數(shù)據(jù)*/{/*構(gòu)建Properties對對象*/Propertiesproperties{/*開發(fā)文件*/FileInputStreamstream=this.op/*讀取文件內(nèi)容*/properties.load(stre入catch(FileNotFoundj人j}/*取得數(shù)據(jù)*/mbMusic=Boolean.valueOf(properties.get("bmusic")}{/*定義我們要訪問的地址url*//*打開這個url連接*/URLConnectionucon=uri.openConn/*從上面的鏈接中取得InputStream*/InputStreamis=uconBufferedInputStreambis=newBuffeByteArrayBufferbaf=newByteA/*一直讀到文件結(jié)束*/while((current=bis.read了baf.append((byte)curre}myString=newString(baf.toBy}{}<uses-permissiionAndroidname="Android.permission.INTERNET">享數(shù)據(jù).mSQLiteDatabase=this.openOrCreateDatabase(DATABASE_NAME,MOD/*刪除數(shù)據(jù)庫*/{}/*刪除一個表*/publicvoidDeleteTa{mSQLiteDatabase.execSQL("DROPTABLE"+TABLE_NAME);}/*更新一條數(shù)據(jù)*/jcv.put(TABLE_DATA,"修改后的數(shù)據(jù)"+miCount);/*更新數(shù)據(jù)*/Integer.toString(miC}/*向表中添加一條數(shù)據(jù)*/了cv.put(TABLE_DATA,"測試數(shù)據(jù)庫數(shù)據(jù)"+miCount);/*插入數(shù)據(jù)*/mSQLiteDatabase.insert(TABLE_NAM}/*從表中刪除指定的一條數(shù)據(jù)*/publicvoidDeleteDj/*刪除數(shù)據(jù)*/mSQLiteDatabase.execSQL("DELETEFROM"+TABLE_NAME+"WHERE_id="if(miCount<0){}}/*更行試圖顯示*/{//獲取數(shù)據(jù)庫Phones的CursorCursorcur=mSQLiteDatabase.query(TABLE_NAME,newString[]{TTABLE_NUM,TABLE_DATA},null,nul{ListAdapteradapter=newSimpleCursorAda//定義List中每一行的顯示模板//表示每一行包含兩個數(shù)據(jù)項//數(shù)據(jù)庫的Cursor對象//從數(shù)據(jù)庫的TABLE_NUM和TABLE_DATA兩列中取數(shù)據(jù)newString[]{TABLE_NUM,TABLE_DATA},//與NAME和NUMBER對應(yīng)的Views/*將adapter添加到m_ListView中*/m_ListView.setAdapter(}ContentProviders:Android提供的一個特殊的存儲數(shù)據(jù)的類型,它提供了一套標準的接口來獲取,操作數(shù)據(jù)。查詢數(shù)據(jù):可以使用ContentProvider.query0或者Activity.managedQuery(方法。修改數(shù)據(jù):通過ContentResolver.update()方法可以用來修改數(shù)據(jù)。添加數(shù)據(jù):通過ContentResolver.insert(方法來增加一條數(shù)據(jù)。刪除數(shù)據(jù):通過ContentResolver.delete()方法來刪除一條記錄。5程序開發(fā)publicbooleanonOptionsItemSelected(MenuItemitem){//插入一條數(shù)據(jù)caseMENU_ITEM_INSERIntentintent0=newIntent(this,ActivityDiaryEditor.class);intent0.setAction(ActivityDiaryEditor.INintent0.setData(getInt//編輯當前數(shù)據(jù)內(nèi)容Intentintent=newIntent(this,ActivityDintent.setData(item.getIintent.setAction(ActivityDiaryEditor.//刪除當前數(shù)據(jù)Uriuri=ContentUris.withAppendedId(getIntent().ggetContentResolver().delet}j5.2編輯內(nèi)容mTitleText=(EditText)findViewById(mBodyText=(EditText)findViewById(RconfirmButton=(Button)findViewif(EDIT_DIARY_ACTION.equals(action)){//編輯記事本mCursor=managedQuery(mUri,PROJECTION,null,setResult(RESULT_OK,(newIntent()).ssetTitle("編輯記事");}elseif(INSERT_DIARY_ACTION.eqsetTitle("新建記事");rgetContentResolver().insert(Diary.DiaryColumnsStringbody=mBodyText.getText().toString);ContentValuesvalues=newvalues.put(Diary.DiaryColumns.TITgetContentResolver().up}privatevoidrenderLiCursorcursor=managedQuery(getIntent().getData(),PROJECTION,null,null,DiaryColumns.DEFAULT_SORTR.layout.diary_row,cursor,newString[]{DiaryColumns.TITLE,DiaryColumns.CREATED},newint[]{R.id.text1,}5.4程序執(zhí)行流程importAndroid.app.Activity;importAndroid.os.Bundle;importAndroid.widget.Button;EditTexteditTextl=EditTexteditText2=null;publicvoidonCreate(BundlesavedInstaneditTextl=(EditText)findeditText2=(EditText)findVbuttonl=(Button)findViewById(R.id.butbuttonl.setOnClickListener(newView.OnClickListener(){service=newFileServicej了了}}packagecom.zxl.serv}publicvoidsave(Stringfilename}}<?xmlversion="1.0"enc<LinearLayoutxmlns:Android="http://schemas.AAndroid:orientation="vAndroid:layout_width="fillAndroid:layout_height="fillAndroid:background="@drawabl>Android:layout_width="wrap_Android:layout_height="wrapAndroid:text="@strinAndroid:layout_gravity="center_hoAndroid:paddingTop="20dip"Android:textColor="#FFaa00">Android:layout_width="wrap_Android:text="@string/Android:textColor="#>Android:layout_height="wrap_>Android:layout_width="fillAndroid:layou

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論