版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、南 京 曉 莊 學(xué) 院【移動(dòng)開發(fā)應(yīng)用框架】課程設(shè)計(jì)報(bào)告課程表的設(shè)計(jì)與實(shí)現(xiàn)所在院(系):信息工程學(xué)院學(xué) 號(hào) : 13139173學(xué)生姓名 : 陳倡年級(jí)專業(yè) : 軟件工程指導(dǎo)教師 : 李青 提交日期 : 2015 年 12 月課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告班級(jí) 13軟工4姓名 陳倡學(xué)號(hào) 13139173任課教師李青實(shí)驗(yàn)日期 2015.12成績一、 目的(本次課程設(shè)計(jì)的概要以及所涉及的知識(shí)點(diǎn)。)1.課程表課程的添加與實(shí)現(xiàn)2. 記錄筆記并可以查看設(shè)計(jì)知識(shí)點(diǎn):數(shù)據(jù)庫的數(shù)據(jù)的新增,查詢,刪除等,輔助類,上下文菜單的使用;二、使用環(huán)境 (本次實(shí)踐所使用的平臺(tái)和相關(guān)軟件。 ) SDK:(software developme
2、nt kit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK 指的是Android專屬的軟件開發(fā)工具包。 使用Eclipse進(jìn)行android應(yīng)用開發(fā)需要給Eclipse裝ADT插件,這樣Eclipse就可以和android ADT建立連接,可以在Eclipse中啟動(dòng)android模擬器進(jìn)行程序調(diào)試等。三、內(nèi)容與設(shè)計(jì)思想 (1 設(shè)計(jì)思路 2 主要功能說明 3 主要的模塊結(jié)構(gòu) 4 主要代碼分析 。 )1.課程與筆記是私有的,所以設(shè)置用戶名與密碼登陸,在課程表中應(yīng)有一個(gè)顯示界面,用于顯示已添加的課程,點(diǎn)擊
3、新增按鈕進(jìn)入新增界面,用于增加新的課程,需添加上課的星期和課的節(jié)次,并檢查當(dāng)前是否有課,并提示。保存后進(jìn)入課表顯示界面,查看課表。筆記中有一筆記列表,顯示創(chuàng)建筆記的時(shí)間和標(biāo)題。點(diǎn)開筆記可以查看詳細(xì)內(nèi)容。也可以進(jìn)行筆記的新增。若長按筆記。則可以進(jìn)行刪除操作。2.登錄進(jìn)入菜單,若無用戶,可以注冊。課程表,查看已經(jīng)有課程,新增課程并保存。筆記,查看已有筆記,查看詳細(xì)筆記,新增筆記,刪除筆記。3.整個(gè)程序包含兩個(gè)大的模塊:課程表模塊和筆記模塊;課程表中包含顯示和新增兩個(gè)模塊;筆記中有顯示列表模塊,新增模塊,和查看模塊4.(1)用戶登錄時(shí),根據(jù)用戶名與密碼進(jìn)入數(shù)據(jù)庫中查詢,若有返回值為1,表示有該用戶,
4、進(jìn)行界面的跳轉(zhuǎn),進(jìn)去菜單界面。若返回值為0 ,則表示用戶名或密碼錯(cuò)誤,并提示。but_login.setOnClickListener(new OnClickListener() public void onClick(View arg0) String putname = edit_putname.getText().toString();String putpassword = edit_putpassword.getText().toString();Cursor cs = dbhelper.login(putname, putpassword);int m = cs.getCount(
5、);if(m=0)String tips = "你輸入的用戶名或密碼有誤"Toast toast = Toast.makeText(getApplicationContext(), tips,20000); toast.show();elseIntent intent = new Intent(MainActivity.this,MenuActivity.class);intent.putExtra("name", putname);MainActivity.this.startActivity(intent););(2)新增課程時(shí),查詢這一天的所有課程
6、,若已有的課程和添加的課程節(jié)次相同則沖突,則提示這節(jié)已經(jīng)有課,若無可進(jìn)行添加,并跳轉(zhuǎn)會(huì)課程表界面查看Cursor cs = db.query("schedule", new String"time", "day='"+day+"'", null, null, null, null);cs.moveToFirst();while(!cs.isAfterLast()String check = cs.getString(cs.getColumnIndex("time");if(che
7、ck.equals(timeclass)String tips = "這節(jié)已經(jīng)有課"Toast toast = Toast.makeText(getApplicationContext(), tips, 20000); toast.show(); return;cs.moveToNext();cs.close();String sql = "insert into schedule('couesename','room','week','day','time','teacher
8、name')" +" values('"+couesename+"','"+room+"','"+week+"','"+day+"','"+timeclass+"','"+teachername+"')"db.execSQL(sql);(3)通過上下文菜單的方法,長按筆記列表,會(huì)出現(xiàn)設(shè)置好刪除菜單,通過onContextItemSelected
9、響應(yīng)菜單,并獲得所選擇的菜單。通過info.targetView 查找到長按的視圖,并獲得TextView里的時(shí)間字符串,根據(jù)字符串進(jìn)入數(shù)據(jù)庫進(jìn)行查找并刪除,再跟新listView;this.registerForContextMenu(lv_notes);public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) menu.add(0, 1,0, "刪除");public boolean onContextItemSelected(MenuItem item)Adap
10、terContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();if(item.getItemId()=1)/獲取當(dāng)前的視圖TextView tv = (TextView)info.targetView.findViewById(R.id.tv_showwritetime);String str = tv.getText().toString();String sql = "delete from notes where writetime='"+str+"'"d
11、b.execSQL(sql);/通知更新顯示ListVcs = db.query("notes", new String"_id","writetime","notesname", null, null, null, null, null, null);adapter = new SimpleCursorAdapter(this, R.layout.notes_layout, cs,new String"writetime","notesname",new intR.id.t
12、v_showwritetime,R.id.tv_shownotesname);lv_notes.setAdapter(adapter);/adapter.notifyDataSetChanged();return false;(4) 新建了一個(gè)DBHelper輔助類繼承SQLiteOpenHelper,新建數(shù)據(jù)庫,新建表格,并對(duì)數(shù)據(jù)進(jìn)行增刪改查。onCreate()方法是建立表格,只進(jìn)行一次。還可以根據(jù)版本號(hào)進(jìn)行數(shù)據(jù)庫的更新,在其他類中調(diào)用查詢方法,并返回所查詢的值。public class DBHelper extends SQLiteOpenHelperprivate static fin
13、al int Version = 1 ;private static final String DBNAME = "cc"private static final String sql_createschedule = "create table schedule(_id integer primary key autoincrement,"+" couesename text,"+" room text,"+"week text," +"day text,"+"t
14、ime text,"+"teachername text)"private static final String sql_createuserinformation = "create table userinformation(_id integer primary key autoincrement,"+" name text,"+" password text,"+"imageid integer)"private static final String sql_createn
15、otes = "create table notes(_id integer primary key autoincrement,"+"writetime text,"+"notesname text,"+"notes text)"public DBHelper(Context context) super(context, DBNAME, null, Version);public void onCreate(SQLiteDatabase db) db.execSQL(sql_createschedule);db
16、.execSQL(sql_createuserinformation);db.execSQL(sql_createnotes);public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) public Cursor login(String putname,String putpassword)SQLiteDatabase db = this.getReadableDatabase();Cursor cslogin = db.query("userinformation",null,"name=
17、39;"+putname+"' and password ='"+putpassword+"'",null,null,null,null,null);return cslogin;public void aegister(String newname,String newpassword,int imageid)SQLiteDatabase db = this.getReadableDatabase();String sql = "insert into userinformation('name
18、9;,'password','imageid')" +" values('"+newname+"','"+newpassword+"','"+imageid+"')"db.execSQL(sql);public Cursor checkname(String newname)SQLiteDatabase db = this.getReadableDatabase();Cursor cscheckname = db.query(
19、"userinformation", new String"name", "name = '"+newname+"'", null, null, null, null, null);return cscheckname;public Cursor queryschedule()SQLiteDatabase db = this.getReadableDatabase();Cursor csschedule = db.query("schedule", null, null, nul
20、l, null, null, null);return csschedule;public void addcosuses(String couesename,String room,String week,String day,String timeclass,String teachername)SQLiteDatabase db = this.getReadableDatabase();String sql = "insert into schedule('couesename','room','week','day
21、9;,'time','teachername')" +" values('"+couesename+"','"+room+"','"+week+"','"+day+"','"+timeclass+"','"+teachername+"')"db.execSQL(sql);public void writenotes(String writetime,String notesname,String notes)SQLiteDatabase db = this.getReadableDatabase();String sql = "insert into notes(writetime,notesname,notes) values('"+writetime+"','"+notesname+"','"+notes+"')"db.ex
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026道普信息技術(shù)有限公司招聘備考題庫(山東)及完整答案詳解
- 2026福建閩江學(xué)院附屬中學(xué)辦公室文員招聘1人備考題庫附答案詳解
- (一模)2026屆大灣區(qū)高三普通高中畢業(yè)年級(jí)聯(lián)合模擬考試(一)地理試卷(含答案解析)
- 公車檢查制度
- 公共場所從業(yè)人員健康檢查培訓(xùn)制度
- 2025-2030紙漿產(chǎn)業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030纖維棉產(chǎn)業(yè)行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030秦嶺生態(tài)系統(tǒng)保護(hù)生物多樣性技術(shù)應(yīng)用市場競爭格局行業(yè)監(jiān)管現(xiàn)狀發(fā)展規(guī)劃建議方案
- 2025-2030知識(shí)產(chǎn)權(quán)保護(hù)體系優(yōu)化及創(chuàng)新創(chuàng)業(yè)扶持策略研究報(bào)告
- 2025-2030監(jiān)視型カメラ裝置市場分析競爭現(xiàn)狀分析成長技術(shù)市場雙競局分析報(bào)告
- 廣西出版?zhèn)髅郊瘓F(tuán)有限公司2026年招聘備考題庫附答案詳解
- 陶瓷工藝品彩繪師改進(jìn)水平考核試卷含答案
- 2025廣東百萬英才匯南粵惠州市市直事業(yè)單位招聘急需緊缺人才31人(公共基礎(chǔ)知識(shí))測試題附答案
- 粉塵防護(hù)知識(shí)課件
- 2026年孝昌縣供水有限公司公開招聘正式員工備考題庫及完整答案詳解一套
- (2025年)糧食和物資儲(chǔ)備局招聘考試題庫(答案+解析)
- 2026年樂陵市市屬國有企業(yè)公開招聘工作人員6名備考題庫及答案詳解一套
- DB32/T+5309-2025+普通國省道智慧公路建設(shè)總體技術(shù)規(guī)范
- 人事行政部2026年年度計(jì)劃
- 2026年上海市徐匯區(qū)老年大學(xué)招聘教務(wù)員備考題庫完整參考答案詳解
- 2026年國家電投集團(tuán)蘇州審計(jì)中心選聘備考題庫及完整答案詳解一套
評(píng)論
0/150
提交評(píng)論