




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、移動開發(fā)技術(shù)實驗報告信息學(xué)部軟件工程信息學(xué)部軟件工程軟工二班學(xué)號:鬧鐘提醒備忘錄學(xué)院專業(yè):班級:學(xué)生姓名指導(dǎo)教師:項目名稱:2019年12月30日目錄第一部分:APP簡介錯誤!未定義書簽。需求分析錯誤!未定義書簽系統(tǒng)目標(biāo)錯誤!未定義書簽開發(fā)及運行環(huán)境錯誤!未定義書簽第二部分:開發(fā)技術(shù)錯誤!未定義書簽SharedPrefenrences技術(shù)錯誤!未定義書簽。數(shù)據(jù)庫錯誤!未定義書簽CRUD操作錯誤!未定義書簽。時鐘提醒錯誤!未定義書簽第三部分:功能介紹錯誤!未定義書簽登錄模塊錯誤!未定義書簽注冊模塊錯誤!未定義書簽主界面模塊錯誤!未定義書簽新建備忘錄模塊錯誤!未定義書簽刪除備忘錄模塊錯誤!未定義書
2、簽第四部分:遇到的問題和解決辦法錯誤!未定義書簽(1)無法刷新UI錯誤!未定義書簽。(1)無法使用某些API錯誤!未定義書簽。第五部分:總結(jié)錯誤!未定義書簽第一部分:APP簡介1)需求分析隨著時代的發(fā)展,我們每天需要處理的事務(wù)也呈現(xiàn)了爆炸式的增長。記住親朋好友的生日并及時送上生日的祝福;記住上司布置的任務(wù);記住幾天后的出行車票時間等,這些紛繁的信息記憶是不是正在讓您深陷其中目前,手機上已經(jīng)有了備忘錄功能和鬧鐘功能,但二者之間并沒有實現(xiàn)消息的互通(蘋果手機用戶可以設(shè)置事件的鬧鐘提醒,但是安卓用戶卻還沒有使用這樣的功能)。用戶在備忘錄中記錄下需要設(shè)置時間提醒事件后,還需要再打開鬧鐘app,并設(shè)置鬧
3、鐘提醒,這在無形中增加了用戶的負擔(dān),并且產(chǎn)生了糟糕的用戶體驗?,F(xiàn)在,這些都不再是問題,在本次的課程設(shè)計中,使用我的軟件,用戶可以十分方便的新建備忘錄,根據(jù)標(biāo)題查找備忘錄事件,刪除已過期的備忘錄并可以隨意修改備忘錄內(nèi)容。除此之外,用戶還可以為每條事件添加重要程度,并在主界面按重要程度展示所有的已建備忘錄列表本軟件致力于幫助用戶時刻記錄下生活中的重要信息并在設(shè)置的時間給用戶發(fā)送提醒,讓您不缺席生活中的重要時刻。系統(tǒng)目標(biāo)1,友好的操作界面和良好的人機互動。2,軟件的登錄界面保證了信息的保密性。3,隨時對重要信息的記錄并設(shè)置到時間提醒。4,備忘錄內(nèi)容的修改,刪除和查詢。5,也可將其用作記錄本使用,代替
4、原有的單一備忘錄app。6,系統(tǒng)可靠運行,安全有效。3)開發(fā)及運行環(huán)境開發(fā)工具:AndroidStudio系統(tǒng)環(huán)境:Windows10家庭中文版開發(fā)語言:Java,xml第二部分:開發(fā)技術(shù)(1)SharedPrefenrences技術(shù)在用戶第一次進入軟件時,可以注冊個人賬號,包括賬號和密碼;密碼須二次輸入同樣的字符,否則無法注冊成功;賬號和密碼使用SharedPrefenrence技術(shù)保存。保存用戶的賬號密碼,屬于用戶的偏好參數(shù),若使用數(shù)據(jù)庫來存儲這些數(shù)據(jù),未免有些大材小用,此時SharedPreferences技術(shù)就派上用場。SharedPreferences使用鍵-值的形式來存儲數(shù)據(jù)。在我
5、們的實例中,賬號為鍵,密碼為值,具有唯一匹配性,我們只需要調(diào)用SharedPreferences的getXxx(name),就可以根據(jù)鍵獲得對應(yīng)的值。使用起來很方便!登錄界面源碼:packageclassLoginActivityextendsAppCompatActivityprivateTextViewtv_main_title;oString().trim();userName=().toString().trim();psw=().toString().trim();how();return;elseif(psw),請輸入密碼,.show();return;how();how();re
6、turn;else,此用戶名不存在,.show(););/*從SharedPreferences中根據(jù)用戶名讀取密碼*/privateStringreadPsw(StringuserName)etString(*);StringuserName=(userName);if(!(userName)how();return;elseif(psw),請輸入密碼,.show();return;elseif(pswAgain),請再次輸入密碼,.show();return;elseif(!(pswAgain),輸入兩次的密碼不一樣,.show();return;/*從SharedPreferences中
7、讀取輸入的用戶名,判斷SharedPreferences中是否有此用戶名*/elseif(isExistUserName(userName),此賬戶名已經(jīng)存在,.show();return;else,注冊成功,.show();oString().trim();psw=().toString().trim();pswAgain=().toString().trim();/*從SharedPreferences中讀取輸入的用戶名,判斷SharedPreferences中是否有此用戶名*/privatebooleanisExistUserName(StringuserName)booleanhas_
8、userName=false;ppend(,);()-1).append();return,();(4)時鐘提醒在退出軟件后,為了讓我們的提醒服務(wù)在后臺保活,編寫ClockService類在后臺運行。代碼如下:publicclassClockServiceextendsServiceprivatestaticfinalStringTAG=ClockService;publicstaticfinalStringEXTRA_EVENT_ID=;publicstaticfinalStringEXTRA_EVENT_REMIND_TIME=;publicstaticfinalStringEXTRA_E
9、VENT=;(i);(i);privateEventDaomEventDao=();publicClockService()(TAG,ClockService:Constructor);OverridepublicIBinderonBind(Intentintent)thrownewUnsupportedOperationException(Notyetimplemented);OverridepublicintonStartCommand(Intentintent,intflags,intstartId)(TAG,onStartCommand:onStartCommand);();postT
10、oClockActivity(getApplicationContext(),intent);return(intent,flags,startId);privatevoidpostToClockActivity(Contextcontext,Intentintent)Intenti=newIntent();(context,;(EXTRA_EVENT_ID,(EXTRA_EVENT_ID,-1);Eventevent=(EXTRA_EVENT_ID,-1);if(event=null)return;(EXTRA_EVENT_REMIND_TIME,(EXTRA_EVENT_REMIND_TI
11、ME);(EXTRA_EVENT,event);第三部分:功能介紹1)登錄模塊為了保證用戶的信息安全,在登錄界面實現(xiàn)使用賬號,密碼的登錄功能。存儲技術(shù)使用了SharedPreference鍵值對實現(xiàn)持久性存儲。在登錄界面將輸入的賬號與密碼與已注冊的賬號密碼進行比對。若賬號為空,則提示“請輸入用戶名”;若密碼為空,則提示“請輸入密碼”;若賬號與密碼不匹配,則提示“請輸入密碼”;若賬號密碼完全匹配,則提示“登錄成功”,并跳轉(zhuǎn)到主界面。2)注冊模塊用戶第一次進入軟件,可在登錄界面選擇“立即注冊”,進入注冊界面,輸入自定義用戶名,密碼并再次輸入密碼,確保輸入無誤,點擊注冊按鈕完成注冊;若二次輸入密碼不
12、一致,則提示“兩次輸入密碼不一致”,并可以再次輸入;注冊成功自動跳轉(zhuǎn)到登錄界面。21ISroH乜21ISroH乜II。宋國正3)主界面模塊用戶登錄成功,進入主界面,可以查看所有已建立的備忘錄,并選擇操作包括新建備忘錄;瀏覽所有已建立備忘錄;查詢指定備忘錄;修改備忘錄內(nèi)容;批量刪除備忘錄等。4)新建備忘錄模塊在主界面選擇控件加號,進入新建備忘錄界面??蛇x擇以下內(nèi)容輸入:為該備忘錄建立標(biāo)題,并選擇提醒時間,選擇該備忘錄是否是重要事件,最后在備注中輸入事件的詳細信息,點擊確定,提示備忘錄成功建立,并可在主界面查看。爭件05)刪除備忘錄模塊提醒時間:2ty2Ck01-0fi爭件05)刪除備忘錄模塊提醒
13、時間:2ty2Ck01-0fi12:1描述:呈否淘重妾事件:12:19在主界面點擊垃圾桶按鈕,進入刪除備忘錄功能,選擇零個或多個備忘錄,再次點擊“刪除”,提示刪除成功。Q12:20H它llo宋國正IReesegravest0o這里是內(nèi)容0qwertyuiopasdfghjkI春zxcvbnnnO第四部分:遇到的問題和解決辦法(1)無法刷新UI問題:在測試過程中發(fā)現(xiàn),當(dāng)刪除某備忘錄時,MainActivity的RecyclerView不能及時刷新,后面經(jīng)過仔細排查發(fā)現(xiàn),Android不允許在子線程中對UI進行刷新,對UI的刷新只能在主線程中實現(xiàn)。解決辦法:Android提供了一套異步消息處理機制
14、,完美的解決了在子線程中進行UI操作的問題。首先在主線程中創(chuàng)建一個Handler對象,并重寫他的handlerMessage()方法。然后當(dāng)我們的子線程需要進行UI操作時,就創(chuàng)建一個Message對象,并通過Handler把這條消息發(fā)出去,之后這條消息會被添加到MessageQueue中等待被處理,而Looper一直嘗試在MessageQueue中取出消息,最后回到Handler的handlerMessage()中。這樣,就可以安心的進行UI刷新了。(1)無法使用某些API問題:某些功能的實現(xiàn)方法可以在網(wǎng)上搜索到,但實際使用時卻無法使用。解決辦法:問題主要時Android的高版本移除了一些AP
15、I,導(dǎo)致使用時報錯,后面通過查詢發(fā)現(xiàn),Android在移除API的同時會發(fā)布替換的API,所以問題也完美解決。在測試過程中也遇到了各種各樣的報錯,大多經(jīng)過百度搜索解決方案都可以解決,此處便不再一一贅述!第五部分:總結(jié)通過本次的課程設(shè)計,我獲益頗多,從之前從未接觸過安卓開發(fā)到現(xiàn)在可以簡單的開發(fā)一個安卓小程序,實現(xiàn)簡單的增、刪、改、查功能。備忘錄是一個相對較簡單的app,上手難度不高,但我覺得在我的本次實驗中還是有一些可圈可點之處。首先是功能上,備忘錄和鬧鐘的搭配使用,拋開了傳統(tǒng)備忘錄只能單一記錄事件的功能,做到了在記錄事件的同時還可以為事件設(shè)置鬧鐘;在設(shè)計上,軟件大的登錄注冊模塊使用了持久化技術(shù),具體使用了SharedPreference鍵值對存儲用戶的賬號和密碼,并創(chuàng)新性的使用鍵來存儲賬號,值存儲密碼,具體做法是使用用戶輸入的賬戶名作為鍵值來取出對應(yīng)存儲的值,并將取出的值與用戶輸入的密碼比對,如果相同,則判斷登錄成功,跳轉(zhuǎn)到主界面;否則提醒用戶賬號或密碼出錯。對軟件的未來展望,在設(shè)計時疏忽了將用戶的id加入我的備忘錄數(shù)據(jù)庫存儲,這導(dǎo)致了所有用戶共享自
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 危險勞動合同范本
- 前期物業(yè)收費合同范本
- 呼叫中心服務(wù)員-高級工模擬題與參考答案
- 辦福利購銷合同范本
- 企業(yè)長期維修合同范本
- 保險公司對外承包合同范本
- 業(yè)務(wù)員銷售個人工作計劃
- 叉車購車合同范本
- 山東省菏澤市2025年高三一??荚囁枷胝卧囶}(含答案)
- 美術(shù)基礎(chǔ)模擬試題(含參考答案)
- 華東師范大學(xué)《外國人文經(jīng)典(上)》2021-2022學(xué)年第一學(xué)期期末試卷
- 肥胖課件教學(xué)課件
- 2023年4月2日湖北事業(yè)單位聯(lián)考C類《職業(yè)能力傾向測驗》試題
- PEP人教版小學(xué)英語六年級下冊單詞表(含音標(biāo))
- 主持課課件教學(xué)課件
- 第四節(jié)-全電路歐姆定律
- 2024湖北省聯(lián)合發(fā)展投資集團限公司招聘221人高頻難、易錯點500題模擬試題附帶答案詳解
- 中學(xué)生的儀容儀表規(guī)范主題班會課件
- GB/T 44672-2024體外診斷醫(yī)療器械建立校準(zhǔn)品和人體樣品賦值計量溯源性的國際一致化方案的要求
- Unit 2 Bridging Cultures Reading for writing 課件-高中英語(2019)選擇性必修第二冊
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅰ)含答案
評論
0/150
提交評論