版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 嵌入式軟件方向綜合設(shè)計(jì) 題 目 手機(jī)日歷工具 指導(dǎo)教師 設(shè)計(jì)起止日期 2013.12.272014.1.17 系 別 專 業(yè) 學(xué)生姓名 班級(jí)/學(xué)號(hào) 成 績(jī) 一、設(shè)計(jì)目的:利用sqlite設(shè)計(jì)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)放置日歷,提醒用戶需要做的工作事項(xiàng)。利用service完成視力保護(hù)程序,當(dāng)應(yīng)用程序運(yùn)行1分鐘后,顯示提示信息提醒用戶保護(hù)視力。二、設(shè)計(jì)思路:程序使用menu按鍵實(shí)現(xiàn)數(shù)據(jù)庫(kù)的基本操作,通過設(shè)計(jì)單層的menu按鈕,讓操作更直觀,搭配listview來觸發(fā)單擊事件。與用戶交互的唯一渠道是edittext,在設(shè)計(jì)“新增”、“修改”功能時(shí),會(huì)引用edittext里
2、的值,可以在edittext編輯工作事項(xiàng),通過listview顯示所有的工作事項(xiàng)。利用service設(shè)計(jì)視力保護(hù)程序:服務(wù)的生命周期比activity簡(jiǎn)單,但因?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分鐘,請(qǐng)注意休息!視力保護(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è)簡(jiǎn)單的適配器 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ù)所對(duì)應(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對(duì)象 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對(duì)象 intent intent = new intent(m1cy579.this, mcy579.class); / 創(chuàng)建pendingintent對(duì)象(待定的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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年能源銷售合同3篇
- 2024年標(biāo)準(zhǔn)銷售顧問服務(wù)協(xié)議模板版B版
- 2024年度地磅電子秤銷售合同協(xié)議(升級(jí)版)3篇
- 研究生旅行課程設(shè)計(jì)要素
- 幼兒園手工美工課程設(shè)計(jì)
- 2024年度全國(guó)市場(chǎng)品牌代理權(quán)委托協(xié)議3篇
- 墩臺(tái)課程設(shè)計(jì)六梁式
- 2024年聘請(qǐng)專業(yè)家教實(shí)施個(gè)性化教育培養(yǎng)的勞動(dòng)合同3篇
- 窄凸緣拉伸件課程設(shè)計(jì)
- 2024年版?zhèn)€人倉(cāng)儲(chǔ)租賃承包協(xié)議模板版B版
- 縫合線材料的可吸收性研究
- 2024屆紅河哈尼族彝族自治州綠春縣小升初語文檢測(cè)卷含答案
- GB/T 43700-2024滑雪場(chǎng)所的運(yùn)行和管理規(guī)范
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》知識(shí)競(jìng)賽參考題庫(kù)500題(含答案)
- 幼兒園園長(zhǎng)的園里園外融合教育
- 新型電力系統(tǒng)簡(jiǎn)介
- 海裝風(fēng)機(jī)故障培訓(xùn)課件
- 施工安全管理體系及安全保證措施樣本
- 磁異法探測(cè)海底纜線分解課件
- 304焊接工藝參數(shù)
- 交感神經(jīng)相關(guān)性疼痛及其治療通用課件
評(píng)論
0/150
提交評(píng)論