寫日記軟件
發(fā)布時(shí)間:2017-01-18 來源: 日記大全 點(diǎn)擊:
寫日記軟件篇一:基于android的日記本開發(fā)
西南科技大學(xué) 課程設(shè)計(jì)報(bào)告
課程名稱: 軟件設(shè)計(jì)基礎(chǔ)設(shè)計(jì)名稱: 基于android的日記本開發(fā)姓 名:學(xué) 號(hào): 班 級(jí): 通信1003班 指導(dǎo)教師:起止日期: 11.28——12.12
西南科技大學(xué)信息工程學(xué)院制
方 向 設(shè) 計(jì) 任 務(wù) 書
學(xué)生班級(jí): 通信1003班 學(xué)生姓名:學(xué)號(hào):
設(shè)計(jì)名稱:基于android的日記本開發(fā) 起止日期: 11.28——12.12指導(dǎo)教師:
方 向 設(shè) 計(jì) 學(xué) 生 日 志
2
基于android的日記本開發(fā)
一、 摘要(150-250字)
伴隨著無線移動(dòng)設(shè)備的迅速發(fā)展,手機(jī)的日益普及成為主流,在這一關(guān)鍵時(shí)期,Android系統(tǒng)的推出使手機(jī)發(fā)展進(jìn)入了一個(gè)新的領(lǐng)域。世界上一些知名移動(dòng)設(shè)備生產(chǎn)廠商對(duì)于Android智能機(jī)的開發(fā)熱情日益提高,Android系統(tǒng)的使用人群正在急速提升,Android應(yīng)用程序的多樣化使人們從手機(jī)中獲得更多樂趣,方便著人們的生活,使Android得到了社會(huì)越來越多的認(rèn)同。本次設(shè)計(jì)主要描述了基于android開發(fā)一個(gè)簡易日記本的技術(shù)方法。
關(guān)鍵字:Android; DbAdapter;Activity;diary 二、 設(shè)計(jì)目的和意義
在中國,手機(jī)已經(jīng)成為人們?nèi)粘I畋夭豢缮俚囊徊糠郑悄苁謾C(jī)在高校人群中逐漸得到了普及,Android手機(jī)憑借其優(yōu)秀的系統(tǒng)性能以及良好的用戶體驗(yàn)迅速得到了高校師生的青睞。在高校中,上課并不像高中時(shí)期有固定的教室和固定的時(shí)間,高校課程種類繁多,并且上課地點(diǎn)和時(shí)間不固定,一周內(nèi)極少會(huì)出現(xiàn)重復(fù)課程,所以要將課程表完整的記憶下來是一項(xiàng)很艱難的事情,很多同學(xué)不得不隨身攜帶一張課表來防止遺忘上課,但是還是不能完全避免該問題的發(fā)生,同時(shí),作為一個(gè)當(dāng)今高速發(fā)展的時(shí)代的成員,適應(yīng)這個(gè)社會(huì)是必不能少的,在各種社交場合中,記住一些必須的信息很重要,而它們往往又繁瑣又多,不易人為記住;谶@些問題,有必要設(shè)計(jì)一款方便小巧的簡易日記本程序,可以讓用戶自定義文件,記住上課時(shí)間和地點(diǎn),從而避免遺忘上課的事情出現(xiàn),同時(shí)記住那些瑣碎卻有意義的小信息。而且,由于android系統(tǒng)市場的開放性和服務(wù)免費(fèi),它的應(yīng)用程序方面就成了一塊非常大的市場,。 三、 設(shè)計(jì)原理
用戶在第一次進(jìn)入程序時(shí)會(huì)看到到一個(gè)日記本的主界面,可進(jìn)行日記文件的新建和刪除操作,按menu鍵可以選擇“幫助”和“退出”,程序主界面使用course_activity.java展示記錄,從Diary_activity, DiaryEditActivity類中可以新建和刪除日記信息,并在主界面中顯示。程序的配置信息主要存在DbAdapter中,該信息在數(shù)據(jù)顯示時(shí)讀取必要的配置信息,在按鈕監(jiān)聽函數(shù)中監(jiān)聽系統(tǒng)時(shí)間變化用來實(shí)現(xiàn)日記的創(chuàng)建功能。BaseColumns 是一個(gè)接口,里邊有兩個(gè)變量,一個(gè)是_ID="_id",一個(gè)是_COUNT="_ count" 。在Android當(dāng)中,每一個(gè)數(shù)據(jù)庫表至少有一個(gè)字段,而且這個(gè)字段是_id。所以當(dāng)我們構(gòu)造列名的輔助類時(shí),直接實(shí)現(xiàn)BaseColumns ,這樣我們便默認(rèn)地?fù)碛辛薩id字段。在我們的日記本的數(shù)據(jù)表里,一共有4個(gè)字段,分別是:"id"、"title"、"body"、"created"。在Android中鼓勵(lì)使用內(nèi)部類,這樣不但使用方便,而且執(zhí)行效率也高是請(qǐng)求數(shù)據(jù)的類型,例如,在例子當(dāng)中定義的類型是diary。當(dāng)然這一部分可以是0個(gè)片段或者多個(gè)片段構(gòu)成,如果Content Provider只是暴露出了一種類型的數(shù)據(jù),那么這部分可以為空,但是如果暴露出了多種,尤其是包含子類的時(shí)候,就不能為空,"1"這部分是允許為空的,如果為空,表示請(qǐng)求全部數(shù)據(jù);如果不為空,表示請(qǐng)求特定ID的數(shù)據(jù)。DatabaseHelper是操作數(shù)據(jù)庫的輔助類,通過這個(gè)類我們可以生成數(shù)據(jù)庫,并且維護(hù)這個(gè)數(shù)據(jù)庫。 在DiaryContentProvider中,我們定義了一些變量和常量,其中這些常量主要是描述數(shù)據(jù)庫的信息。在刪除方法中,rowId = uri.getPathSegments().get(1)負(fù)責(zé)得到rowId的值。 getPathSegments()方法得到一個(gè)string的list, db.delete(DIARY_TABLE_NAME, DiaryColumns._ID + "=" + rowId, null)是標(biāo)準(zhǔn)的SQLite刪除操作。update()是更新一條數(shù)據(jù)的方法, 使用ContentProvider時(shí)首先得到SQLiteDatabase,然后得到rowId,最后再調(diào)用db.update(DIARY_ TABLE_NAME, values, DiaryColumns._ID + "="+ rowId, null)語句執(zhí)行更新工作。
3
其主要流程圖如下:
功能模塊:
四、 詳細(xì)設(shè)計(jì)步驟
簡易日記本應(yīng)該具有日記本的基本功能,比如新建,編輯,刪除,保存等,從這幾方面初步想到應(yīng)該有一個(gè)主類負(fù)責(zé)調(diào)用其他負(fù)責(zé)實(shí)現(xiàn)功能的類,這樣整個(gè)程序會(huì)比較清晰,通過流程分析和可行性分析之后我開始查閱資料編寫程序,本程序主要由六個(gè)類組成,它們分別為Dbadapter,help-activity,lookDiary,MainActivity,diary-activity和DiaryEditActivity ,
1.其中MainActivity類為整個(gè)應(yīng)用的主Activity,其主要方法如下:
? onCreate:Activity主要重寫方法之一,實(shí)現(xiàn)程序初始化和界面展示; ? find_and_modify_button:尋找并點(diǎn)擊按鈕; ? onClick(View v):點(diǎn)擊當(dāng)前所選按鈕;
? onCreateOptionMenu:實(shí)現(xiàn)Option菜單的創(chuàng)建;
? onOptionsItemSelected:實(shí)現(xiàn)菜單項(xiàng)的點(diǎn)擊事件響應(yīng);
界面設(shè)計(jì)方面通過RelativeLayout實(shí)現(xiàn)布局,使用了TextView,ImageButton文件列表通
4
過ListView實(shí)現(xiàn)界面展示。該類通過繼承ListActivity類,用來顯示ListView中的數(shù)據(jù)并實(shí)現(xiàn)對(duì)ListView上ImageView控件點(diǎn)擊的統(tǒng)一響應(yīng)。 其主要代碼:public class MainActivity extends Activity
{//菜單選項(xiàng)
public static final int HELP = Menu.FIRST; public static final int EXIT = Menu.FIRST + 1; /** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setTitle("小小日記本");find_and_modify_button();
Toast.makeText(MainActivity.this,
"歡迎使用簡易日記本", Toast.LENGTH_SHORT).show(); } private void find_and_modify_button() {// TODO Auto-generated method stubButton btn_diary = (Button) findViewById(R.id.btn_diary);btn_diary.setOnClickListener(diary_listener); } private Button.OnClickListener diary_listener = new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(MainActivity.this, diary_activity.class); startActivity(intent);} } /** menu.findItem(EXIT_ID);找到特定的MenuItem* MenuItem.setIcon.可以設(shè)置menu按鈕的背景*/ public boolean onCreateOptionsMenu(Menu menu) {super.onCreateOptionsMenu(menu);menu.add(0, HELP, 0, "幫助").setIcon(R.drawable.helps);menu.add(0, EXIT, 0, "退出").setIcon(R.drawable.exit);return true; } public boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case HELP:Intent help_intent = new Intent(); help_intent.setClass(MainActivity.this, help_activity.class); sta(轉(zhuǎn) 載于:www.91mayou.com 蒲公 英文摘:寫日記軟件)rtActivity(help_intent);break;case EXIT:
5
寫日記軟件篇二:軟件實(shí)習(xí)日記_原創(chuàng)手打
軟件工程專業(yè)
實(shí)習(xí)筆記
班級(jí): 軟件08-3班
姓名: 譚仁龍
遼寧工程技術(shù)大學(xué)軟件學(xué)院軟件工程系
Day01
畢業(yè)分散實(shí)習(xí)開始,由于某些原因我選擇校內(nèi)實(shí)習(xí),這樣在沒有接觸實(shí)際實(shí)習(xí)場所的情況下我對(duì)所要研究項(xiàng)目的了解只能通過網(wǎng)絡(luò)和電話進(jìn)行了解。畢業(yè)設(shè)計(jì)任務(wù)繁重,所以越早開始越好。首先我進(jìn)行了畢業(yè)設(shè)計(jì)題目的篩選,由于上學(xué)習(xí)的課程設(shè)計(jì)我選擇了安卓手機(jī)平臺(tái)下的軟件編程方向,對(duì)其中很多問題有了初步的了解,并經(jīng)過幾周的學(xué)習(xí)對(duì)安卓系統(tǒng)漸漸產(chǎn)生了些興趣,所以覺得如果繼續(xù)進(jìn)行下去是一個(gè)不錯(cuò)的選擇,所以在那時(shí)候我從網(wǎng)上訂閱了一本安卓游戲編程方面的指導(dǎo)書籍。書目前還沒到,這幾天我都在等,手上有些別的安卓編程的資料先看著。因?yàn)槭窍刖帉懹螒蜍浖韵肓私庑┯螒蛑谱鞣矫娴闹R(shí),這幾天寢室呆著比較亂,決定去上自習(xí),順便去圖書館借閱幾本關(guān)于游戲編程的和制作方面的書籍
Day02
今兒去圖書館借了本書,關(guān)于游戲發(fā)展、制作流程以及作者在游戲開發(fā)方面經(jīng)驗(yàn)的書,這里邊剛開始講的是游戲發(fā)展簡史,這書上說第一個(gè)視頻類游戲是1958年物理學(xué)家Willy Higinbothan 發(fā)明的,他為了提高人們參觀紐約那個(gè)國家實(shí)驗(yàn)室游客的興趣,在一臺(tái)示波器上展示了一款雙人網(wǎng)球互式游戲。這個(gè)就被
稱作是世界上第一款視頻游戲。從這件事兒來看,首先人家willy是一個(gè)物理學(xué)家,好幾十歲,在紐約一家國家實(shí)驗(yàn)室工作,這說明人家非常的有才識(shí)。然后他的目的是為了提高實(shí)驗(yàn)室的參觀興趣,在示波器上展示了一款被稱作世界上第一款視頻游戲的作品,這說明人家成功地運(yùn)用了所學(xué)的知識(shí),解決了生活中的問題,并在游戲發(fā)展的歷史上走出了里程碑式的一步。這告訴我,首先我要獲取知識(shí),豐富的知識(shí), 這樣才能在遇到問題的時(shí)候有辦法去解決,才能推動(dòng)事物的發(fā)展。
Day03
今天繼續(xù)看昨天的借的那本書,關(guān)于游戲發(fā)展方面的書,這書從世界上第一款游戲開始一直講到目前正在制作還未發(fā)布的游戲?yàn)橹。從?shí)驗(yàn)室中同事們消遣的小游戲到風(fēng)靡一時(shí)的街機(jī)游戲,再到目前更加流行的PC、手機(jī)游戲,簡略的介紹了其中的發(fā)展過程。這個(gè)過程再一次印證了科技在推動(dòng)社會(huì)前進(jìn)中的重大作用。早起的游戲都是低劣的且昂貴的,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,到現(xiàn)在在游戲這方面已經(jīng)產(chǎn)生了翻天覆地的變革。簡直就是科學(xué)創(chuàng)造的奇跡。書中還介紹了一些游戲公司的發(fā)展概況,還有相關(guān)的一些硬件設(shè)備升級(jí),面的知識(shí),說了一大串營銷類的專業(yè)詞
匯,很多都看不懂。還介紹了些一個(gè)游戲公司如何面對(duì)客戶群的辦法。總體來看這本書介紹的都是關(guān)于大型游戲公司方面的,也就是說對(duì)于目前我面對(duì)的問題并非是關(guān)鍵知識(shí)。為了讓時(shí)間有效的得到利用我對(duì)其進(jìn)行了選擇性的閱讀。
Day04
訂的這本安卓游戲編程書籍終于到了,白天時(shí)候去把那本介紹游戲制作的書還了,那天借那本c語言的科學(xué)與藝術(shù)沒還,這幾天看著呢。總結(jié)下目前有幾項(xiàng)任務(wù)要完成,第一快速閱讀安卓這本書,看看其內(nèi)容有沒有適合做畢業(yè)設(shè)計(jì)的。第二就是研讀c語言科學(xué)與藝術(shù)這本,我發(fā)現(xiàn)機(jī)械工程出版社出版的外國著作都挺不錯(cuò)的,前兩天同學(xué)給推薦本深入了解計(jì)算機(jī)系統(tǒng)那本書也挺不錯(cuò), 那個(gè)書上是根據(jù)c語言基礎(chǔ),從更深的角度認(rèn)識(shí)計(jì)算機(jī),這本書我也想看看,目前時(shí)間還算排的開抓緊看,以后時(shí)間緊張了就看不到了。對(duì)這本書圖書館還沒有也或許是被別人借走了,我在網(wǎng)上下的pdf。
Day05
昨天書下午到的,今兒一天都在自習(xí)看那兩本書,安卓這書第一章介紹了安卓平臺(tái)的發(fā)展趨勢,和應(yīng)用開發(fā)環(huán)境的搭建,環(huán)境搭建這個(gè)我會(huì)了,因?yàn)橹白?/p>
過一個(gè)安卓開發(fā)的小軟件,所以對(duì)于這章的內(nèi)容有多大致的了解,因?yàn)楝F(xiàn)在是快速瀏覽階段,看的時(shí)候有過了解的內(nèi)容基本就直接跳過了,第二章介紹了一個(gè)最簡單的安卓項(xiàng)目代碼,以及對(duì)安卓開打的基礎(chǔ)概念進(jìn)行了詳細(xì)的講解,這部分我花了些時(shí)間好好看了一下,因?yàn)槲疑洗巫瞿莻(gè)小軟件是直接對(duì)代碼進(jìn)行學(xué)習(xí)的,對(duì)整個(gè)android project結(jié)構(gòu)沒有系統(tǒng)的認(rèn)識(shí),所以這章的內(nèi)容我是從頭至尾全部看了一遍。對(duì)其中的activity生命周期有了系統(tǒng)的了解,當(dāng)然僅限于他書中寫的那個(gè)水平。第二章還介紹了一些在開發(fā)過程中SDK和Eclipse會(huì)遇到的常見問題,我覺得他列出的這些問題,對(duì)一個(gè)初學(xué)者來說很有用,比如我剛開始的時(shí)候就不知道怎么講文件存入到的模擬器建立的sdcard中,書中給出了很好的解釋,只不過我用的是第三方軟件。對(duì)于這些常見的問題,書中給提供了非常的好的解決辦法,可見作者用心。下圖為Activity生命周期流程圖
寫日記軟件篇三:軟件開發(fā)實(shí)習(xí)日志日記
Daily work 1
第一次是來面試,當(dāng)時(shí)感覺不怎么好,面試的人問了一些問題有些沒回答上來,這并不奇怪,C#自己學(xué)習(xí)了2個(gè)月,然后就沒怎么用,回答不上我覺得可以理解。沒想到還能第二次來到公司,由于對(duì)環(huán)境還比較陌生,所以今天大概熟悉了一點(diǎn),成都這邊有50多個(gè)員工,屬于研發(fā)中心,主要從事無線微波得較大型的設(shè)備的再加工,聽同事說以前在北京,但由于北京人力資源太貴所以來到成都,這聽起來怎么像是在壓榨的感覺啊,沒關(guān)系,只是來實(shí)習(xí)而已。
對(duì)于今天的第一個(gè)小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺(tái)都得到了加強(qiáng),此外在實(shí)現(xiàn)過程中對(duì)用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現(xiàn)。
Daily work 2
今天對(duì)昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫中,提供函數(shù)調(diào)用和事件委托。此外加入XML進(jìn)行配置,在XML中存入相關(guān)配置信息,提供一個(gè)單獨(dú)的XmlClass對(duì)其進(jìn)行操作,加深了對(duì)xml的理解。為增加程序的性能,采用簡單工廠模式對(duì)其客戶端和算法操作進(jìn)行分離,有很好的可擴(kuò)展性,對(duì)于C#的動(dòng)態(tài)鏈接庫和XML配置不怎么熟悉,花了很長一段時(shí)間看書和網(wǎng)上查資料,才開始動(dòng)手寫代碼,不過感覺還是很快,因?yàn)樽约河芯幊痰哪芰,可以說掌握了一種快速編程的方法,所以就能駕輕就熟。
Dailywork 3
今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn),以達(dá)到動(dòng)態(tài)加載算法實(shí)例,抽象工廠模式屬于設(shè)計(jì)模式中的內(nèi)容,自己在學(xué)習(xí)視頻的時(shí)候注意到了,所以之前就買了本大話設(shè)計(jì)模式來學(xué)習(xí),可以說了解了大部分設(shè)計(jì)模式。今天遇到后自己心里也有底,溫故一下書就知道怎么做 了,可以說這是我學(xué)習(xí)的方法。
針對(duì)以上,在dll中提供一個(gè)接口,兩個(gè)算法都繼承了該接口,對(duì)于該dll的操作都通過接口ISort進(jìn)行,此外,修改工廠為抽象工廠,提供一個(gè)接口創(chuàng)建算法,在算法中返回ISort實(shí)例,在主函數(shù)中使用該實(shí)例進(jìn)行對(duì)應(yīng)的排序算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。
Dailywork4
由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開始做一些這次項(xiàng)目的東西,說了一句“我可是沒把你當(dāng)實(shí)習(xí)生哦!保@話一聽當(dāng)時(shí)感覺還好,不過后來一想,我卻是吃虧了,他不把我當(dāng)實(shí)習(xí)生但給我的卻是實(shí)習(xí)生工資,這點(diǎn)有點(diǎn)想不過去,不過沒關(guān)系,實(shí)習(xí)嘛就是學(xué)習(xí),有基本工資也不錯(cuò)了,關(guān)鍵的公司提供的條件那是在學(xué)校里所得不到的:商業(yè)性的問題。
今天將上述實(shí)例的方法用到本次項(xiàng)目中,開始項(xiàng)目中的一些任務(wù)。仍然使用抽象工廠模式,將自定義窗體封裝到類庫中,將窗體的控件預(yù)留到外部進(jìn)行實(shí)施定義;在XML文件中配置窗體的實(shí)際參數(shù),利用反射按從XML中讀出的參數(shù)動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運(yùn)用到了實(shí)際項(xiàng)目中。
Dailywork5
昨天的任務(wù)基本已完成,今天溫習(xí)了一下加深了對(duì)知識(shí)的理解,可以說掌握得比較牢固了,今天又有新的任務(wù),可以說每天都在進(jìn)步。
按組長要求編寫RankStyle=Group時(shí)的窗體排列方式,在XML中配置控件或窗體的參數(shù),利用XML讀接口從XML中讀出參數(shù),為了使程序具有靈活性,在組長的提示下將窗體的配置按照窗體的Name屬性進(jìn)行配置,之前是利用字段的方式寫在XML中,但是組長說這樣的話在程序中查找不方便,可我覺得沒什么啊,當(dāng)然了,對(duì)于我這個(gè)沒有工作經(jīng)驗(yàn)的人來說看什么都是可以的,所以要多學(xué)習(xí)學(xué)習(xí)。在FormControl中利用雙層循環(huán)將控件容器中的控件按
Name與讀出的配置進(jìn)行匹配,如果在XML中配置了該窗體,就設(shè)置該窗體的一些屬性。個(gè)人感覺實(shí)現(xiàn)了該功能吧,最后經(jīng)過組長看了一下審核基本通過。
要求:
根據(jù)Group,從XML中讀取控件配置信息,動(dòng)態(tài)設(shè)置控件在主窗體中的顯示。
Dailywork6
每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將DLL中的控件更換成窗體,方法仍然采用反射+抽象工廠模式。
雖然自己有一定編程經(jīng)驗(yàn),但是遇到問題是不可避免的,今天在編寫過程中遇到了一個(gè)問題,就是當(dāng)窗體接口和窗體類庫放在一起的時(shí)候,在工廠中創(chuàng)建的實(shí)例無法裝換成接口類型,經(jīng)過多次測試和上網(wǎng)查閱相關(guān)資料,發(fā)現(xiàn)控件類實(shí)現(xiàn)接口,不能將接口放在同一個(gè)類庫中,針對(duì)以上問題在網(wǎng)上查閱相關(guān)資料,結(jié)果還是沒有相同的主題,沒辦法,只有硬著頭皮在網(wǎng)上找,沒有主題就找有沒有相關(guān)的例子,結(jié)果還是沒有,差點(diǎn)就無語了,突然看到有類似方法的一個(gè)例子,真是柳暗花明又一村啊,仔細(xì)看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所以調(diào)了一下結(jié)構(gòu),一編譯果然痛過了,就是將兩個(gè)類庫分離,再在接口中加入工廠便可創(chuàng)建實(shí)例并轉(zhuǎn)換成接口。在主窗體中只需要引用該接口類庫便可達(dá)到要求,使程序耦合性降低了。
Dailywork7
由于黎甫對(duì)DLL的要求發(fā)生變化,今天就不斷修正DLL程序,并驗(yàn)收,再結(jié)合Group的窗口排列方式對(duì)DLL中的窗體進(jìn)行測試。我現(xiàn)在才明白,編寫代碼是一件很容易的事,但是編寫好的代碼卻是很難的事情,好的代碼要有可維護(hù)性、可擴(kuò)展性,這樣在修改的話就很簡單,可不能像我昨天寫得代碼,根本談不上藝術(shù),所以一旦面對(duì)客戶的要求,改動(dòng)就很困難,這一點(diǎn)值得我繼續(xù)學(xué)習(xí)。
至于可擴(kuò)展性也是對(duì)維護(hù)的擴(kuò)充,因?yàn)轭櫩偷囊笥锌赡茈S時(shí)都在改變,我們也得適應(yīng)客戶的要求,如果軟件有了可擴(kuò)展性,那么它的改動(dòng)就比較小,就能適應(yīng)顧客的要求。所有上面說的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開發(fā)中才能游刃有余,應(yīng)對(duì)自如。
Dailywork8
回顧前幾天所做的練習(xí),對(duì)遇到的問題進(jìn)行解決,在網(wǎng)上查閱相關(guān)資料獨(dú)立解決,并對(duì)之前的一些項(xiàng)目練習(xí)做好備份。將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。
Dailywork9
今天算是正式開始做公司的項(xiàng)目,上午黎甫和秦陽在會(huì)議室給我講解了項(xiàng)目的一些功能并進(jìn)行討論,大致理解了項(xiàng)目后,分配了自己的一部分任務(wù),整理過后在多次與秦陽的溝通請(qǐng)教下明白了自己的任務(wù),下午秦陽建好VSS,我拷貝項(xiàng)目進(jìn)行框架整合和測試。
在編寫代碼的過程中也涉及了一些問題,通過看MSDN和上論壇,基本得到解決,同時(shí)也了解了一些C#其它的相關(guān)知識(shí)。
Dailywork10
今天繼續(xù)昨天的任務(wù),做一個(gè)小測試,將現(xiàn)今做的項(xiàng)目所有代碼進(jìn)行整合測試,測試要求是在數(shù)據(jù)庫中配置菜單項(xiàng),動(dòng)態(tài)添加幾項(xiàng)菜單項(xiàng),在不同點(diǎn)擊下動(dòng)態(tài)從DLL中加載窗體讀取配置文件進(jìn)行排列,順利完成。
要求:
抽象接口,并繼承;XML中命名空間和類名不要設(shè)置成結(jié)點(diǎn),設(shè)置成屬性。
封裝算法到DLL;在FirstWork中使用XML配置;建立一個(gè)XMLclass進(jìn)行操作;建立一個(gè)中間工廠類用反射在類庫中查找響應(yīng)算法;事件和委托。接口.
XML中結(jié)點(diǎn):
程序集名稱;命名空間.類名;接口名稱;加載的時(shí)候轉(zhuǎn)化為接口;
XML中增加一個(gè)結(jié)點(diǎn)用來存儲(chǔ)客戶端關(guān)于算法的選擇,按選擇動(dòng)態(tài)改變其值,然后算法中讀取該值進(jìn)行排序選擇。
為解決的問題:在一個(gè)工具條上配置多個(gè)工具,并添加事件,好像數(shù)據(jù)庫不能實(shí)現(xiàn)。OK了!
Dailywork 11
同步多線程方式實(shí)現(xiàn)Tcp/Ip發(fā)送。
Dailywork 12
多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶端是否斷開連接;UDP服務(wù)器與客戶端握手,以及連接,數(shù)據(jù)報(bào)
Dailywork13
Dailywork14
Windows服務(wù)項(xiàng)目了解
Dailywork15
解決Udp局域網(wǎng)內(nèi)廣播方式通信。
Dailywork16
數(shù)據(jù)庫導(dǎo)出到XML,填充已設(shè)置菜單及工具欄結(jié)構(gòu),返回上層,在工廠中添加XML配置文件,選擇是從數(shù)據(jù)庫還是XML中讀取。
1、 首先把數(shù)據(jù)庫轉(zhuǎn)化為XML
2、 研究如何和調(diào)用數(shù)據(jù)庫的接口結(jié)合
3、 設(shè)計(jì)XML操作工程
4、 工廠更改與設(shè)計(jì)
ReadMenuInfo.cs中public MenuItemInfoNode[] ReadInfo( string Site)定義為接口中的函數(shù)
可能的Xpath: /Root/Item[@WndId=‘ ’ or tb_MenuID=‘ ’]
選取所有bookstore元素中price元素的值小于9或大于10的book元素. Dailywork17
完成菜單和工具條從數(shù)據(jù)庫轉(zhuǎn)化為XML中導(dǎo)出。
Dailywork18
整理優(yōu)化從XML中導(dǎo)出的過程,此外還;閱讀其他英文原版資料書。 Dailywork19
要求:
封裝窗體到DLL;
導(dǎo)出事件;
XML配置窗體參數(shù);
從control繼承。動(dòng)態(tài)生成,使用抽象工廠模式;
Group的順序無序由自己決定(從XML中讀取);XML操作類;
相關(guān)熱詞搜索:寫日記 軟件 好用的寫日記軟件 學(xué)生寫日記軟件
熱點(diǎn)文章閱讀