版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 嵌入式軟件方向綜合設(shè)計(jì) 題 目 手機(jī)日歷工具 指導(dǎo)教師 設(shè)計(jì)起止日期 2013.12.272014.1.17 系 別 專 業(yè) 學(xué)生姓名 班級/學(xué)號 成 績 一、設(shè)計(jì)目的:利用sqlite設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡單的數(shù)據(jù)庫放置日歷,提醒用戶需要做的工作事項(xiàng)。利用service完成視力保護(hù)程序,當(dāng)應(yīng)用程序運(yùn)行1分鐘后,顯示提示信息提醒用戶保護(hù)視力。二、設(shè)計(jì)思路:程序使用menu按鍵實(shí)現(xiàn)數(shù)據(jù)庫的基本操作,通過設(shè)計(jì)單層的menu按鈕,讓操作更直觀,搭配listview來觸發(fā)單擊事件。與用戶交互的唯一渠道是edittext,在設(shè)計(jì)“新增”、“修改”功能時(shí),會(huì)引用edittext里
2、的值,可以在edittext編輯工作事項(xiàng),通過listview顯示所有的工作事項(xiàng)。利用service設(shè)計(jì)視力保護(hù)程序:服務(wù)的生命周期比activity簡單,但因?yàn)榉?wù)可能在用戶不知情的情況下在后臺(tái)運(yùn)行,因此需要關(guān)注服務(wù)如何創(chuàng)建和銷毀。3、 程序源碼main.xmlmcy.xmllinearlayout android:id=+id/linearlayout01 android:layout_width=fill_parent android:layout_height=fill_parent xmlns:android= strings.xml hello world, mcy579! mcy
3、579 重要通知保護(hù)視力應(yīng)用已經(jīng)運(yùn)行1分鐘,請注意休息!視力保護(hù)程序androidmainmest.xml mcy579.javapackage cn.mcy579;import java.util.arraylist;import java.util.hashmap;import android.app.activity;import android.content.contentvalues;import android.content.intent;import android.database.cursor;import android.database.sqlite.sqliteda
4、tabase;import android.graphics.color;import android.os.bundle;import android.view.menu;import android.view.menuitem;import android.view.view;import android.widget.adapterview;import android.widget.adapterview.onitemclicklistener;import android.widget.edittext;import android.widget.listview;import an
5、droid.widget.simpleadapter;import android.widget.textview;import android.widget.toast;public class mcy579 extends activity private sqlitedatabase msqlitedatabase;private edittext input; private listview listview;final static int menu_add= menu.first;final static int menu_modify = menu.first+1;final
6、static int menu_delet = menu.first+2;private string current_even; /* called when the activity is first created. */ override public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); startservice(new intent(this, m1cy579.class); input = (editte
7、xt) findviewbyid(r.id.edittext01); listview=(listview)findviewbyid(r.id.listview01);msqlitedatabase=this.openorcreatedatabase(mycalendar.db,mode_private , null); try msqlitedatabase.execsql(create table calendar(_id integer primary key,event_item text); catch(exception ex) system.out.println(calenda
8、r表已存在); listview_show(); listview.setonitemclicklistener(new onitemclicklistener()public void onitemclick(adapterview arg0, view v, int arg2,long arg3) / todo auto-generated method stubtextview tv=(textview) v.findviewbyid(r.id.textview01);current_even=tv.gettext().tostring();); overrideprotected vo
9、id ondestroy() / todo auto-generated method stubmsqlitedatabase.close();super.ondestroy();private void listview_show() / todo auto-generated method stub arraylisthashmap list = new arraylisthashmap(); cursor c=msqlitedatabase.query(true,calendar, new stringevent_item, null, null, null, null, null, n
10、ull); if(c=null)return;if(c.getcount()=0)toast.maketext(mcy579.this,沒有資料,toast.length_short).show();elsec.movetofirst();hashmap map0 = new hashmap();map0.put(event_item, c.getstring(0);list.add(map0);while(c.movetonext()hashmap map = new hashmap();map.put(event_item, c.getstring(0);list.add(map); /綁
11、定一個(gè)簡單的適配器 listview.setadapter(new simpleadapter(mcy579.this,/第一個(gè)參數(shù)為context /第二個(gè)參數(shù)為裝入內(nèi)容的arraylistlist, /第三個(gè)參數(shù)為item布局文件r.layout.mcy,/第四個(gè)參數(shù)為每個(gè)item中的數(shù)據(jù)id,與前面裝入map中的鍵名字一樣 new string event_item,/第五個(gè)參數(shù)為item布局文件中每個(gè)數(shù)據(jù)所對應(yīng)引用的顯示控件new int r.id.textview01);overridepublic boolean oncreateoptionsmenu(menu menu) / t
12、odo auto-generated method stubmenu.add(0,menu_add,0,添加);menu.add(0,menu_modify,1,修改);menu.add(0,menu_delet,2,刪除);return super.oncreateoptionsmenu(menu);override public boolean onoptionsitemselected(menuitem item) switch(item.getitemid() case menu_add: contentvalues newrow=new contentvalues(); newrow
13、.put(event_item, input.gettext().tostring(); msqlitedatabase.insert(calendar, null, newrow); listview_show(); return true; case menu_modify: msqlitedatabase.execsql(delete from calendar where event_item=+current_even+); contentvalues newrow01=new contentvalues(); newrow01.put(event_item, input.gette
14、xt().tostring(); msqlitedatabase.insert(calendar, null, newrow01); listview_show(); return true; case menu_delet: msqlitedatabase.execsql(delete from calendar where event_item=+current_even+); listview_show(); return false; m1cy579.javapackage cn.mcy579;import java.util.timer;import java.util.timert
15、ask;import android.app.notification;import android.app.notificationmanager;import android.app.pendingintent;import android.app.service;import android.content.context;import android.content.intent;import android.os.ibinder;public class m1cy579 extends serviceprivate timer timer;overridepublic ibinder
16、 onbind(intent arg0) / todo auto-generated method stubreturn null; override public void oncreate() super.oncreate(); timer = new timer(true);/ 創(chuàng)建timer對象 override public void onstart(intent intent, int startid) super.onstart(intent, startid); timer.schedule(new timertask() override public void run()
17、string ns = context.notification_service; / 獲得通知管理器 notificationmanager manager = (notificationmanager) getsystemservice(ns); / 創(chuàng)建通知 notification notification = new notification( r.drawable.icon, gettext(r.string.ticker_text), system.currenttimemillis(); / 定義通知的標(biāo)題 charsequence contenttitle = gettext
18、(r.string.content_title); / 定義通知的內(nèi)容 charsequence contenttext = gettext(r.string.content_text); / 創(chuàng)建intent對象 intent intent = new intent(m1cy579.this, mcy579.class); / 創(chuàng)建pendingintent對象(待定的intent) pendingintent contentintent = pendingintent.getactivity( m1cy579.this, 0, intent, intent.flag_activity_new_task); / 定義通知行為 notification.setlatesteventinfo( m1cy579.this, contenttitle, contenttext, contenti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工月工作計(jì)劃集合十篇
- 師范生的實(shí)習(xí)報(bào)告范文合集7篇
- 主題班會(huì)演講稿(15篇)
- 計(jì)算機(jī)維修工標(biāo)準(zhǔn)
- 管理的決策職能名詞解釋1決策2程序化決策3非程序化
- 2024年電力施工安全規(guī)范合作合同版B版
- 川教版(2019)小學(xué)信息技三年級上冊第三單元第3節(jié)《變換造型》教學(xué)實(shí)錄及反思
- 《天宮課堂》第二課觀后感簡短七篇
- 八年級歷史下冊 第一學(xué)習(xí)主題 中華人民共和國的成立和鞏固 第1課 中國人民站起來了教學(xué)實(shí)錄2 川教版
- 學(xué)校辦公室主任述職報(bào)告【7篇】
- 縫合線材料的可吸收性研究
- 2024屆紅河哈尼族彝族自治州綠春縣小升初語文檢測卷含答案
- GB/T 43700-2024滑雪場所的運(yùn)行和管理規(guī)范
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》知識(shí)競賽參考題庫500題(含答案)
- 幼兒園園長的園里園外融合教育
- 新型電力系統(tǒng)簡介
- 海裝風(fēng)機(jī)故障培訓(xùn)課件
- 施工安全管理體系及安全保證措施樣本
- 磁異法探測海底纜線分解課件
- 304焊接工藝參數(shù)
- 交感神經(jīng)相關(guān)性疼痛及其治療通用課件
評論
0/150
提交評論