版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(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é)生姓名 班級(jí)/學(xué)號(hào) 成 績 一、設(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分鐘,請(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è)簡單的適配器 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版模具生產(chǎn)質(zhì)量控制合同4篇
- 2025年偵探領(lǐng)英和解合同
- 二零二五版美容院線上線下營銷推廣合同4篇
- 二零二五年度面粉產(chǎn)品食品安全認(rèn)證服務(wù)合同4篇
- 2025年定制旅行合同
- 2025年代理商品授權(quán)合同
- 2025年度個(gè)人委托代繳工傷保險(xiǎn)合同范本4篇
- 2025年度影視劇組演員聘用合同模板4篇
- 2025年度派遣人力資源管理顧問全面支持合同4篇
- 2025年長沙星沙供水工程有限公司招聘筆試參考題庫含答案解析
- 電纜擠塑操作手冊(cè)
- 浙江寧波鄞州區(qū)市級(jí)名校2025屆中考生物全真模擬試卷含解析
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測數(shù)學(xué)三年級(jí)第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- IATF16949基礎(chǔ)知識(shí)培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國黃鱔市市場供需現(xiàn)狀與營銷渠道分析報(bào)告
- 新人教版九年級(jí)化學(xué)第三單元復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論