




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
安卓記事本開發設計報告LastupdatedontheafternoonofJanuary3,2021濱江學院《移動通信程序設計》
課程設計題目Android記事本院系計算機系專業計科3學生姓名竇同慶二。一四年五月二十九日目錄Android記事本竇同慶南京信息工程大學計算機系,南京210044摘要:隨著3G技術的成熟和智能手機的不斷普及,移動應用的需求與日俱增,移動應用開發成為當下最熱門的技術之一。在Google和Android手機聯盟的共同推動下,Android在眾多移動應用開發平臺中脫穎而出。關鍵詞:android記事本eclipse1概要背景Android是基于Linux開放性內核的操作系統,是Google公司在2007年11月5日公布的手機操作系統。早期由原名為"Android"的公司開發,谷歌在2005年收購"后,繼續進行對Android系統開發運營,它采用了軟件堆層(softwarestack,又名軟件疊層)的架構,主要分為三部分。底層Linux內核只提供基本功能,其他的應用軟件則由各公司自行開發,部分程序以Java編寫。2011年初數據顯示,僅正式上市兩年的操作系統Android已經超越稱霸十年的塞班系統,使之躍居全球最受歡迎的智能手機平臺。開放性:在優勢方面,Android平臺首先就是其開放性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。開放性對于Android的發展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。掙脫運營商的束縛:在過去很長的一段時間,特別是在歐美地區,手機應用往往受到運營商制約,使用什么功能接入什么網絡,幾乎都受到運營商的控制。自從iPhone上市,用戶可以更加方便地連接網絡,運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網絡的逐步過渡和提升,手機隨意接入網絡已不是運營商口中的笑談。豐富的硬件選擇:這一點還是與Android平臺的開放性相關,由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容。好比你從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優秀的軟件帶到iPhone上使用、聯系人等資料更是可以方便地轉移。不受任何限制的開發商:Android平臺提供給第三方開發商一個十分寬泛、自由的環境。因此不會受到各種條條框框的阻撓,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。無縫結合的Google應用:如今叱咤互聯網的Google已經走過10年度歷史。從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而Android平臺手機將無縫結合這些優秀的Google服務。可行性分析(1) 技術可行性-----本項目僅需要一臺裝有Eclipse及配置好Android開發環境的計算機即可,對計算機本身有一定的要求,它可以使用windowsxp及其以上版本,macos,linux等操作系統。(2) 經濟可行性-----由于本軟件開發只有一個單個人,一臺電腦就行,基本不需要太大的成本.在經濟上完全可行。(3) 操作可行性-----界面設計時充分考慮用戶的習慣以及手機方面的局限性,程序必須要很簡單;本程序只涉及到開發環境配置,安卓組件的熟悉,以及安卓平臺上的數據存儲。并沒有太大的難度,所以,該項目完全有可操作性.2開發環境的安裝和配置開發包及其工具的介紹Android以java作為開發語言,jdk是進行java開發時必需的開發包,Eclipse是一款非常優秀的開源IDE,在大量插件的配合下,完全可以滿足從企業級java應用到手機終端java游戲的開發。Google官方也提供了基于Eclipse的Android開發插件ADT,所以本軟件開發選擇Eclipse作為開發IDE。開發平臺搭建安裝包下載(1) javaJDK下載進入選擇DownloadJDK只下載JDK,無需下載jre。(2) Eclipse下載進入downloads我們選擇第一個,即EclipselDEforjavaEEDevelopers。(3) AndroidSDK下載說明:AndroidSDK兩種下載版本,一種是包含具體版本的SDK的,一種是只有升級工具,而不包含具體的SDK版本。完全版下載(Androidsdkr01)。軟件安裝(1) 安裝JDK安裝完成即可。(2) 解壓EclipseEclipse無需安裝,解壓后,直接打開就行。(3) 解壓AndroidSDK這個也無需安裝,解壓后供后面使。(4) 配置Eclipse打開Eclipse,,在菜單欄上選擇help->InstallNewSoftWare點擊Add按鈕,出現如下界面,輸入網址:android/eclipse/(如果出錯,請將https改成http),名稱:Android(這里可以自定義),點擊OK,點擊Next按鈕,點擊Next按鈕,出現如下界面:選擇lacceptthetermsofthelicenseagreements,點擊Next,進入安裝插件界面安裝完成后,點擊Yes按鈕,重啟Eclips。配置AndroidSDK點擊菜單window->preferences選擇你的AndroidSDK解壓后的目錄,選錯了就會報錯,這個是升級工具,目前還沒有一個版本的SDK升級SDK版本,選擇菜單window->Androidsdkandavdmanager選擇updateall按鈕,出現如下界面選擇左邊的某一項,點擊accept表示安裝,點擊reject表示不安裝,我這里只選了SDK和samplesforapi7,,自己可以任意自定義,確定后,選擇install按鈕,進入安裝界面:安裝完成。新建AVD(Androidvituraldevice)和上面一樣,進入Androidsdkandavdmanager,選中VituralDevices在點擊New按鈕后,名稱可以隨便取,target選擇你需要的SDK版本,SD卡大小自定義,點擊CreateAVD,顯示創建AVD完畢。⑺新建Android項目選擇菜單file->new->other進入如下界面:選擇新建AndroidProject項目,點擊Next按鈕,進入如下界面名稱自定義,應用程序名自定義,報名必須包含一個點以上,minSDKversion里面必須輸入整數(8)配置運行右鍵項目->Runas->RunConfiguration該界面,點擊Browse按鈕,選擇你要運行的項目選擇Target切換到以下界面該界面選擇運行的AVD,將AVD前面的方框設置為選擇狀態。⑼測試項目運行右鍵項目名稱->runas->AndroidApplication即可啟動運行該Android程序。3軟件功能規劃軟件功能能夠提示用戶是否有已寫記事本,能夠進行記事本的標題填寫和內容填寫,確定后保存。界面設計進入程序提示“您還沒有開始寫日記呢!點擊下邊的Menu按鈕開始寫日記吧!”,點擊menu菜單后進入標題和內容的填寫界面。4程序設計記事本組件的設計本項目涉及到以下組件:TextView:“記事本”,“新建記事”,“編輯記事”等標題。EditView:“記事本的標題二“內容''等。Button:“確定”按鈕。Menu:“添加新記事”,“編譯內容”,“刪除當前記事”等。記事本邏輯設計(1)添加新記事如果當前沒有記事,點擊“menu”后只有一個菜單選項“添加新記事”,寫完記事之后,點擊"確定”進行保存。⑵編輯內容選中要編輯的那一個記事,然后點擊“menu”菜單,會出現三個選項“新建記事”,“編輯內容”,“刪除當前記事”,點擊“編輯內容”對被選中的記事進行編輯,然后點擊“確定”加以保存。(3)刪除記事點擊上下鍵,選中要刪除的記事,然后點擊“menu”菜單,然后點擊“刪除當前記事”,對選中的記事加以刪除。記事本存儲實現Android中一共提供了5種數據存儲方式,但是由于存儲的這些數據都是其應用程序私有的,所以如果需要在其他應用程序中使用這些數據,就要使用Android提供的ContentProvidersoContentProviders:Android提供的一個特殊的存儲數據的類型,它提供了一套標準的接口來獲取,操作數據。SharedPreference:用來存儲"key-valuepaires”格式的數據,它是一個輕量級的鍵值存儲機制,只可以存儲基本數據類型。Files:它通過FileInputStream和FileOutputStream對文件進行操作,但是在Android中,文件是一個應用程序私有的,一個應用程序無法讀寫其他應用程序的文件。SQLite:Android提供的一個標準的數據庫,支持SQL語句。Network:通過網絡來存儲和獲得數據。數據存儲之SharedPreferences通過getpreferences()方法來獲得Preference對象,通過=;取得編輯對象,然后通過……()方法添加數據,最后通過commit()方法來保存數據。數據存儲之Files我們可以通過自定義的save()方法來保存數據,同時也可以通過load()方法來獲取文件中的數據。booleansave(){Propertiesproperties=newProperties();/*將數據打包成Properties*/("bmusic”,(mbMusic));try{FileOutputStreamstream=("”,;/*將打包好的數據寫入文件中*/(stream,"");}catch(FileNotFoundExceptione){returnfalse;}catch(IOExceptione){returnfalse;}returntrue;}/*裝載、讀取數據*/voidload(){/*構建Properties對對象*/Propertiesproperties=newProperties();try{/*開發文件*/FileInputStreamstream=("");/*讀取文件內容*/(stream);}catch(FileNotFoundExceptione){return;}catch(IOExceptione){return;}/*取得數據*/mbMusic=("bmusic").toString());}數據存儲之Network通過網絡來獲取和保存數據資源,將數據存儲到網絡上的方法很多,比如將要保存的數據以文件的方式上傳到服務器,發送郵件等。下面我們看下如何實現讀取網絡文件StringmyString=null;try{/*定義我們要訪問的地址url*/URLuri=");/*打開這個url連接*/URLConnectionucon=();/*從上面的鏈接中取得InputStream*/InputStreamis=();BufferedInputStreambis=newBufferedInputStream(is);ByteArrayBufferbaf=newByteArrayBuffer(100);intcurrent=0;/*一直讀到文件結束*/while((current=())!=-1){((byte)current);}myString=newString());}catch(Exceptione){myString=();}另外由于在程序中訪問了外部網絡,我們需要在文件中給予權限,代碼如下:<uses-permissiionAndroid:name=”數據存儲之SQLite這個方法在數據保存中非常常用.只是它只會被一個程序讀取數據,不能在不同程序間共享數據./*創建和打開數據庫*/mSQLiteDatabase=(DATABASE_NAME,MODE_PRIVATE,null);/*創建表*/(CREATE_TABLE);/*刪除數據庫*/publicvoidDeleteDataBase(){(DATABASE_NAME);();}/*刪除一個表*/publicvoidDeleteTable(){("DROPTABLE"+TABLE_NAME);();}/*更新一條數據*/publicvoidUpData(){ContentValuescv=newContentValues();(TABLE_NUM,miCount);(TABLE_DATA,"修改后的數據"+miCount);/*更新數據*/(TABLE_NAME,cv,TABLE_NUM+"="+(miCount-1),null);UpdataAdapter();}/*向表中添加一條數據*/publicvoidAddData(){ContentValuescv=newContentValues();(TABLE_NUM,miCount);(TABLE_DATA,"測試數據庫數據"+miCount);/*插入數據*/(TABLE_NAME,null,cv);miCount++;UpdataAdapter();}/*從表中刪除指定的一條數據*/publicvoidDeleteData(){/*刪除數據*/("DELETEFROM"+TABLE_NAME+"WHERE_id="+(miCount));miCount--;if(miCount<0){miCount=0;}UpdataAdapter();}/*更行試圖顯示*/publicvoidUpdataAdapter(){etData());startActivity(intent0);returntrue;etData());;startActivity(intent);returntrue;etData(),getListView().getSelectedItemId());getContentResolver().delete(uri,null,null);renderListView();}(item);}編輯內容protectedvoidonCreate(BundlesavedInstanceState){(savedInstanceState);etAction()));setTitle("編輯記事");}elseif(action)){oString();Stringbody=().toString();ContentValuesvalues=newContentValues();DiaryContentProvider.getFormateCreatedDate());title);body);getContentResolver().update(mUri,values,null,null);}}刪除記事privatevoidrenderListView(){Cursorcursor=managedQuery(getIntent().getData(),PROJECTION,null,null,;SimpleCursorAdapteradapter=newSimpleCursorAdapter(this,cursor,newString[]{,},newint[]{});setListAdapter(adapter);}程序執行流程文件:packageimport?”.txt”;String?content=().toString();service=newFileService;try{(filename,content);}catch(Exceptione){();}finally{,.show();}}});}}用于文件操作的類:packageimport?布局文件::<xmlversion=""encoding="utf-8”><LinearLayout?xmlns:apk/res/Android"Android:orientation="vertical”Android:layout_width="fill_parent”Android:layout_height="fill_parent”Android:background="@drawable/note1”><TextViewAndroid:id="@+id/text1"Android:layout_width="wrap_content”Android:layout_height="wrap_content”Android:text="@string/theme”Android:textSize="25sp”Android:layout_gravity="center_horizontal”Android:paddingTop="20dip”Android:textColor="#FFaa00”/>?<TextView?Android:id="@+id/text2"Android:layout_width="wrap_content”Android:layout_height="wrap_content”Android:textSize="20sp"Android:text="@string/filename”Android:paddingTop="20dip”Android:textColor="#FFaa00”/><EditText?Android:id="@+id/edit1"Android:layout_width="match_parent”Android:layout_height="wrap_content”Android:maxLines="1"/>?<TextView?Android:id="@+id/text2"Android:layout_width="fill_parent”Android:layout_height="wrap_content”Android:text="@string/content”Android:textSize="20sp"Android:textColor="#FFaa00”/>?<EditText?And
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工管理中信息化的應用試題及答案
- 軟考網絡工程師高效復習策略試題及答案
- 網絡應用開發與MySQL試題及答案
- 數據庫查詢結構與設計試題及答案
- 行政管理中的公共信任與責任實現路徑試題及答案
- 西方政治制度與人權保障試題及答案
- 計算機三級嵌入式考試高效備考技巧試題及答案
- 計算機二級MySQL數據導入導出技巧試題及答案
- 計算機二級MySQL數據分析技術試題及答案
- 基于行業需求的嵌入式設計探討試題及答案
- 電解質第九講(偶極子轉向極化)
- 綜合辦公室安全職責
- 初中畢業證書怎么查詢電子版
- 事業單位工作人員年度考核登記表
- 遠程培訓學習總結(4篇)
- 全息照相與信息光學實驗報告
- 2022年02月上海鐵路局下屬鐵路疾病預防控制所公開招聘畢業生筆試參考題庫含答案解析
- YY/T 1293.4-2016接觸性創面敷料第4部分:水膠體敷料
- 激光設備買賣合同模板(2篇)
- GB/T 24815-2009起重用短環鏈吊鏈等用6級普通精度鏈
- 2023年山西文旅集團云游山西股份有限公司招聘筆試模擬試題及答案解析
評論
0/150
提交評論