www.日本精品,久久中文视频,中文字幕第一页在线播放,香蕉视频免费网站,老湿机一区午夜精品免费福利,91久久综合精品国产丝袜长腿,欧美日韩视频精品一区二区

寫(xiě)日記軟件

發(fā)布時(shí)間:2017-01-18 來(lái)源: 日記大全 點(diǎn)擊:

寫(xiě)日記軟件篇一:基于android的日記本開(kāi)發(fā)

西南科技大學(xué) 課程設(shè)計(jì)報(bào)告

課程名稱(chēng): 軟件設(shè)計(jì)基礎(chǔ)設(shè)計(jì)名稱(chēng): 基于android的日記本開(kāi)發(fā)姓 名:學(xué) 號(hào): 班 級(jí): 通信1003班 指導(dǎo)教師:起止日期: 11.28——12.12

西南科技大學(xué)信息工程學(xué)院制

方 向 設(shè) 計(jì) 任 務(wù) 書(shū)

學(xué)生班級(jí): 通信1003班 學(xué)生姓名:學(xué)號(hào):

設(shè)計(jì)名稱(chēng):基于android的日記本開(kāi)發(fā) 起止日期: 11.28——12.12指導(dǎo)教師:

方 向 設(shè) 計(jì) 學(xué) 生 日 志

2

基于android的日記本開(kāi)發(fā)

一、 摘要(150-250字)

伴隨著無(wú)線移動(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ī)的開(kāi)發(fā)熱情日益提高,Android系統(tǒng)的使用人群正在急速提升,Android應(yīng)用程序的多樣化使人們從手機(jī)中獲得更多樂(lè)趣,方便著人們的生活,使Android得到了社會(huì)越來(lái)越多的認(rèn)同。本次設(shè)計(jì)主要描述了基于android開(kāi)發(fā)一個(gè)簡(jiǎn)易日記本的技術(shù)方法。

關(guān)鍵字:Android; DbAdapter;Activity;diary 二、 設(shè)計(jì)目的和意義

在中國(guó),手機(jī)已經(jīng)成為人們?nèi)粘I畋夭豢缮俚囊徊糠,智能手機(jī)在高校人群中逐漸得到了普及,Android手機(jī)憑借其優(yōu)秀的系統(tǒng)性能以及良好的用戶體驗(yàn)迅速得到了高校師生的青睞。在高校中,上課并不像高中時(shí)期有固定的教室和固定的時(shí)間,高校課程種類(lèi)繁多,并且上課地點(diǎn)和時(shí)間不固定,一周內(nèi)極少會(huì)出現(xiàn)重復(fù)課程,所以要將課程表完整的記憶下來(lái)是一項(xiàng)很艱難的事情,很多同學(xué)不得不隨身攜帶一張課表來(lái)防止遺忘上課,但是還是不能完全避免該問(wèn)題的發(fā)生,同時(shí),作為一個(gè)當(dāng)今高速發(fā)展的時(shí)代的成員,適應(yīng)這個(gè)社會(huì)是必不能少的,在各種社交場(chǎng)合中,記住一些必須的信息很重要,而它們往往又繁瑣又多,不易人為記住;谶@些問(wèn)題,有必要設(shè)計(jì)一款方便小巧的簡(jiǎn)易日記本程序,可以讓用戶自定義文件,記住上課時(shí)間和地點(diǎn),從而避免遺忘上課的事情出現(xiàn),同時(shí)記住那些瑣碎卻有意義的小信息。而且,由于android系統(tǒng)市場(chǎng)的開(kāi)放性和服務(wù)免費(fèi),它的應(yīng)用程序方面就成了一塊非常大的市場(chǎng),。 三、 設(shè)計(jì)原理

用戶在第一次進(jìn)入程序時(shí)會(huì)看到到一個(gè)日記本的主界面,可進(jìn)行日記文件的新建和刪除操作,按menu鍵可以選擇“幫助”和“退出”,程序主界面使用course_activity.java展示記錄,從Diary_activity, DiaryEditActivity類(lèi)中可以新建和刪除日記信息,并在主界面中顯示。程序的配置信息主要存在DbAdapter中,該信息在數(shù)據(jù)顯示時(shí)讀取必要的配置信息,在按鈕監(jiān)聽(tīng)函數(shù)中監(jiān)聽(tīng)系統(tǒng)時(shí)間變化用來(lái)實(shí)現(xiàn)日記的創(chuàng)建功能。BaseColumns 是一個(gè)接口,里邊有兩個(gè)變量,一個(gè)是_ID="_id",一個(gè)是_COUNT="_ count" 。在Android當(dāng)中,每一個(gè)數(shù)據(jù)庫(kù)表至少有一個(gè)字段,而且這個(gè)字段是_id。所以當(dāng)我們構(gòu)造列名的輔助類(lèi)時(shí),直接實(shí)現(xiàn)BaseColumns ,這樣我們便默認(rèn)地?fù)碛辛薩id字段。在我們的日記本的數(shù)據(jù)表里,一共有4個(gè)字段,分別是:"id"、"title"、"body"、"created"。在Android中鼓勵(lì)使用內(nèi)部類(lèi),這樣不但使用方便,而且執(zhí)行效率也高是請(qǐng)求數(shù)據(jù)的類(lèi)型,例如,在例子當(dāng)中定義的類(lèi)型是diary。當(dāng)然這一部分可以是0個(gè)片段或者多個(gè)片段構(gòu)成,如果Content Provider只是暴露出了一種類(lèi)型的數(shù)據(jù),那么這部分可以為空,但是如果暴露出了多種,尤其是包含子類(lèi)的時(shí)候,就不能為空,"1"這部分是允許為空的,如果為空,表示請(qǐng)求全部數(shù)據(jù);如果不為空,表示請(qǐng)求特定ID的數(shù)據(jù)。DatabaseHelper是操作數(shù)據(jù)庫(kù)的輔助類(lèi),通過(guò)這個(gè)類(lèi)我們可以生成數(shù)據(jù)庫(kù),并且維護(hù)這個(gè)數(shù)據(jù)庫(kù)。 在DiaryContentProvider中,我們定義了一些變量和常量,其中這些常量主要是描述數(shù)據(jù)庫(kù)的信息。在刪除方法中,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)語(yǔ)句執(zhí)行更新工作。

3

其主要流程圖如下:

功能模塊:

四、 詳細(xì)設(shè)計(jì)步驟

簡(jiǎn)易日記本應(yīng)該具有日記本的基本功能,比如新建,編輯,刪除,保存等,從這幾方面初步想到應(yīng)該有一個(gè)主類(lèi)負(fù)責(zé)調(diào)用其他負(fù)責(zé)實(shí)現(xiàn)功能的類(lèi),這樣整個(gè)程序會(huì)比較清晰,通過(guò)流程分析和可行性分析之后我開(kāi)始查閱資料編寫(xiě)程序,本程序主要由六個(gè)類(lèi)組成,它們分別為Dbadapter,help-activity,lookDiary,MainActivity,diary-activity和DiaryEditActivity ,

1.其中MainActivity類(lèi)為整個(gè)應(yīng)用的主Activity,其主要方法如下:

? onCreate:Activity主要重寫(xiě)方法之一,實(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ì)方面通過(guò)RelativeLayout實(shí)現(xiàn)布局,使用了TextView,ImageButton文件列表通

4

過(guò)ListView實(shí)現(xiàn)界面展示。該類(lèi)通過(guò)繼承ListActivity類(lèi),用來(lái)顯示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,

"歡迎使用簡(jiǎn)易日記本", 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.newchangjing.com 蒲公 英文摘:寫(xiě)日記軟件)rtActivity(help_intent);break;case EXIT:

5

寫(xiě)日記軟件篇二:軟件實(shí)習(xí)日記_原創(chuàng)手打

軟件工程專(zhuān)業(yè)

實(shí)習(xí)筆記

班級(jí): 軟件08-3班

姓名: 譚仁龍

遼寧工程技術(shù)大學(xué)軟件學(xué)院軟件工程系

Day01

畢業(yè)分散實(shí)習(xí)開(kāi)始,由于某些原因我選擇校內(nèi)實(shí)習(xí),這樣在沒(méi)有接觸實(shí)際實(shí)習(xí)場(chǎng)所的情況下我對(duì)所要研究項(xiàng)目的了解只能通過(guò)網(wǎng)絡(luò)和電話進(jìn)行了解。畢業(yè)設(shè)計(jì)任務(wù)繁重,所以越早開(kāi)始越好。首先我進(jìn)行了畢業(yè)設(shè)計(jì)題目的篩選,由于上學(xué)習(xí)的課程設(shè)計(jì)我選擇了安卓手機(jī)平臺(tái)下的軟件編程方向,對(duì)其中很多問(wèn)題有了初步的了解,并經(jīng)過(guò)幾周的學(xué)習(xí)對(duì)安卓系統(tǒng)漸漸產(chǎn)生了些興趣,所以覺(jué)得如果繼續(xù)進(jìn)行下去是一個(gè)不錯(cuò)的選擇,所以在那時(shí)候我從網(wǎng)上訂閱了一本安卓游戲編程方面的指導(dǎo)書(shū)籍。書(shū)目前還沒(méi)到,這幾天我都在等,手上有些別的安卓編程的資料先看著。因?yàn)槭窍刖帉?xiě)游戲軟件,所以想了解些游戲制作方面的知識(shí),這幾天寢室呆著比較亂,決定去上自習(xí),順便去圖書(shū)館借閱幾本關(guān)于游戲編程的和制作方面的書(shū)籍

Day02

今兒去圖書(shū)館借了本書(shū),關(guān)于游戲發(fā)展、制作流程以及作者在游戲開(kāi)發(fā)方面經(jīng)驗(yàn)的書(shū),這里邊剛開(kāi)始講的是游戲發(fā)展簡(jiǎn)史,這書(shū)上說(shuō)第一個(gè)視頻類(lèi)游戲是1958年物理學(xué)家Willy Higinbothan 發(fā)明的,他為了提高人們參觀紐約那個(gè)國(guó)家實(shí)驗(yàn)室游客的興趣,在一臺(tái)示波器上展示了一款雙人網(wǎng)球互式游戲。這個(gè)就被

稱(chēng)作是世界上第一款視頻游戲。從這件事兒來(lái)看,首先人家willy是一個(gè)物理學(xué)家,好幾十歲,在紐約一家國(guó)家實(shí)驗(yàn)室工作,這說(shuō)明人家非常的有才識(shí)。然后他的目的是為了提高實(shí)驗(yàn)室的參觀興趣,在示波器上展示了一款被稱(chēng)作世界上第一款視頻游戲的作品,這說(shuō)明人家成功地運(yùn)用了所學(xué)的知識(shí),解決了生活中的問(wèn)題,并在游戲發(fā)展的歷史上走出了里程碑式的一步。這告訴我,首先我要獲取知識(shí),豐富的知識(shí), 這樣才能在遇到問(wèn)題的時(shí)候有辦法去解決,才能推動(dòng)事物的發(fā)展。

Day03

今天繼續(xù)看昨天的借的那本書(shū),關(guān)于游戲發(fā)展方面的書(shū),這書(shū)從世界上第一款游戲開(kāi)始一直講到目前正在制作還未發(fā)布的游戲?yàn)橹埂膶?shí)驗(yàn)室中同事們消遣的小游戲到風(fēng)靡一時(shí)的街機(jī)游戲,再到目前更加流行的PC、手機(jī)游戲,簡(jiǎn)略的介紹了其中的發(fā)展過(guò)程。這個(gè)過(guò)程再一次印證了科技在推動(dòng)社會(huì)前進(jìn)中的重大作用。早起的游戲都是低劣的且昂貴的,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,到現(xiàn)在在游戲這方面已經(jīng)產(chǎn)生了翻天覆地的變革。簡(jiǎn)直就是科學(xué)創(chuàng)造的奇跡。書(shū)中還介紹了一些游戲公司的發(fā)展概況,還有相關(guān)的一些硬件設(shè)備升級(jí),面的知識(shí),說(shuō)了一大串營(yíng)銷(xiāo)類(lèi)的專(zhuān)業(yè)詞

匯,很多都看不懂。還介紹了些一個(gè)游戲公司如何面對(duì)客戶群的辦法?傮w來(lái)看這本書(shū)介紹的都是關(guān)于大型游戲公司方面的,也就是說(shuō)對(duì)于目前我面對(duì)的問(wèn)題并非是關(guān)鍵知識(shí)。為了讓時(shí)間有效的得到利用我對(duì)其進(jìn)行了選擇性的閱讀。

Day04

訂的這本安卓游戲編程書(shū)籍終于到了,白天時(shí)候去把那本介紹游戲制作的書(shū)還了,那天借那本c語(yǔ)言的科學(xué)與藝術(shù)沒(méi)還,這幾天看著呢。總結(jié)下目前有幾項(xiàng)任務(wù)要完成,第一快速閱讀安卓這本書(shū),看看其內(nèi)容有沒(méi)有適合做畢業(yè)設(shè)計(jì)的。第二就是研讀c語(yǔ)言科學(xué)與藝術(shù)這本,我發(fā)現(xiàn)機(jī)械工程出版社出版的外國(guó)著作都挺不錯(cuò)的,前兩天同學(xué)給推薦本深入了解計(jì)算機(jī)系統(tǒng)那本書(shū)也挺不錯(cuò), 那個(gè)書(shū)上是根據(jù)c語(yǔ)言基礎(chǔ),從更深的角度認(rèn)識(shí)計(jì)算機(jī),這本書(shū)我也想看看,目前時(shí)間還算排的開(kāi)抓緊看,以后時(shí)間緊張了就看不到了。對(duì)這本書(shū)圖書(shū)館還沒(méi)有也或許是被別人借走了,我在網(wǎng)上下的pdf。

Day05

昨天書(shū)下午到的,今兒一天都在自習(xí)看那兩本書(shū),安卓這書(shū)第一章介紹了安卓平臺(tái)的發(fā)展趨勢(shì),和應(yīng)用開(kāi)發(fā)環(huán)境的搭建,環(huán)境搭建這個(gè)我會(huì)了,因?yàn)橹白?/p>

過(guò)一個(gè)安卓開(kāi)發(fā)的小軟件,所以對(duì)于這章的內(nèi)容有多大致的了解,因?yàn)楝F(xiàn)在是快速瀏覽階段,看的時(shí)候有過(guò)了解的內(nèi)容基本就直接跳過(guò)了,第二章介紹了一個(gè)最簡(jiǎn)單的安卓項(xiàng)目代碼,以及對(duì)安卓開(kāi)打的基礎(chǔ)概念進(jìn)行了詳細(xì)的講解,這部分我花了些時(shí)間好好看了一下,因?yàn)槲疑洗巫瞿莻(gè)小軟件是直接對(duì)代碼進(jìn)行學(xué)習(xí)的,對(duì)整個(gè)android project結(jié)構(gòu)沒(méi)有系統(tǒng)的認(rèn)識(shí),所以這章的內(nèi)容我是從頭至尾全部看了一遍。對(duì)其中的activity生命周期有了系統(tǒng)的了解,當(dāng)然僅限于他書(shū)中寫(xiě)的那個(gè)水平。第二章還介紹了一些在開(kāi)發(fā)過(guò)程中SDK和Eclipse會(huì)遇到的常見(jiàn)問(wèn)題,我覺(jué)得他列出的這些問(wèn)題,對(duì)一個(gè)初學(xué)者來(lái)說(shuō)很有用,比如我剛開(kāi)始的時(shí)候就不知道怎么講文件存入到的模擬器建立的sdcard中,書(shū)中給出了很好的解釋?zhuān)徊贿^(guò)我用的是第三方軟件。對(duì)于這些常見(jiàn)的問(wèn)題,書(shū)中給提供了非常的好的解決辦法,可見(jiàn)作者用心。下圖為Activity生命周期流程圖

寫(xiě)日記軟件篇三:軟件開(kāi)發(fā)實(shí)習(xí)日志日記

Daily work 1

第一次是來(lái)面試,當(dāng)時(shí)感覺(jué)不怎么好,面試的人問(wèn)了一些問(wèn)題有些沒(méi)回答上來(lái),這并不奇怪,C#自己學(xué)習(xí)了2個(gè)月,然后就沒(méi)怎么用,回答不上我覺(jué)得可以理解。沒(méi)想到還能第二次來(lái)到公司,由于對(duì)環(huán)境還比較陌生,所以今天大概熟悉了一點(diǎn),成都這邊有50多個(gè)員工,屬于研發(fā)中心,主要從事無(wú)線微波得較大型的設(shè)備的再加工,聽(tīng)同事說(shuō)以前在北京,但由于北京人力資源太貴所以來(lái)到成都,這聽(tīng)起來(lái)怎么像是在壓榨的感覺(jué)啊,沒(méi)關(guān)系,只是來(lái)實(shí)習(xí)而已。

對(duì)于今天的第一個(gè)小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡(jiǎn)單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺(tái)都得到了加強(qiáng),此外在實(shí)現(xiàn)過(guò)程中對(duì)用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現(xiàn)。

Daily work 2

今天對(duì)昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫(kù)中,提供函數(shù)調(diào)用和事件委托。此外加入XML進(jìn)行配置,在XML中存入相關(guān)配置信息,提供一個(gè)單獨(dú)的XmlClass對(duì)其進(jìn)行操作,加深了對(duì)xml的理解。為增加程序的性能,采用簡(jiǎn)單工廠模式對(duì)其客戶端和算法操作進(jìn)行分離,有很好的可擴(kuò)展性,對(duì)于C#的動(dòng)態(tài)鏈接庫(kù)和XML配置不怎么熟悉,花了很長(zhǎng)一段時(shí)間看書(shū)和網(wǎng)上查資料,才開(kāi)始動(dòng)手寫(xiě)代碼,不過(guò)感覺(jué)還是很快,因?yàn)樽约河芯幊痰哪芰,可以說(shuō)掌握了一種快速編程的方法,所以就能駕輕就熟。

Dailywork 3

今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn),以達(dá)到動(dòng)態(tài)加載算法實(shí)例,抽象工廠模式屬于設(shè)計(jì)模式中的內(nèi)容,自己在學(xué)習(xí)視頻的時(shí)候注意到了,所以之前就買(mǎi)了本大話設(shè)計(jì)模式來(lái)學(xué)習(xí),可以說(shuō)了解了大部分設(shè)計(jì)模式。今天遇到后自己心里也有底,溫故一下書(shū)就知道怎么做 了,可以說(shuō)這是我學(xué)習(xí)的方法。

針對(duì)以上,在dll中提供一個(gè)接口,兩個(gè)算法都繼承了該接口,對(duì)于該dll的操作都通過(guò)接口ISort進(jìn)行,此外,修改工廠為抽象工廠,提供一個(gè)接口創(chuàng)建算法,在算法中返回ISort實(shí)例,在主函數(shù)中使用該實(shí)例進(jìn)行對(duì)應(yīng)的排序算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。

Dailywork4

由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開(kāi)始做一些這次項(xiàng)目的東西,說(shuō)了一句“我可是沒(méi)把你當(dāng)實(shí)習(xí)生哦。”,這話一聽(tīng)當(dāng)時(shí)感覺(jué)還好,不過(guò)后來(lái)一想,我卻是吃虧了,他不把我當(dāng)實(shí)習(xí)生但給我的卻是實(shí)習(xí)生工資,這點(diǎn)有點(diǎn)想不過(guò)去,不過(guò)沒(méi)關(guān)系,實(shí)習(xí)嘛就是學(xué)習(xí),有基本工資也不錯(cuò)了,關(guān)鍵的公司提供的條件那是在學(xué)校里所得不到的:商業(yè)性的問(wèn)題。

今天將上述實(shí)例的方法用到本次項(xiàng)目中,開(kāi)始項(xiàng)目中的一些任務(wù)。仍然使用抽象工廠模式,將自定義窗體封裝到類(lèi)庫(kù)中,將窗體的控件預(yù)留到外部進(jìn)行實(shí)施定義;在XML文件中配置窗體的實(shí)際參數(shù),利用反射按從XML中讀出的參數(shù)動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運(yùn)用到了實(shí)際項(xiàng)目中。

Dailywork5

昨天的任務(wù)基本已完成,今天溫習(xí)了一下加深了對(duì)知識(shí)的理解,可以說(shuō)掌握得比較牢固了,今天又有新的任務(wù),可以說(shuō)每天都在進(jìn)步。

按組長(zhǎng)要求編寫(xiě)RankStyle=Group時(shí)的窗體排列方式,在XML中配置控件或窗體的參數(shù),利用XML讀接口從XML中讀出參數(shù),為了使程序具有靈活性,在組長(zhǎng)的提示下將窗體的配置按照窗體的Name屬性進(jìn)行配置,之前是利用字段的方式寫(xiě)在XML中,但是組長(zhǎng)說(shuō)這樣的話在程序中查找不方便,可我覺(jué)得沒(méi)什么啊,當(dāng)然了,對(duì)于我這個(gè)沒(méi)有工作經(jīng)驗(yàn)的人來(lái)說(shuō)看什么都是可以的,所以要多學(xué)習(xí)學(xué)習(xí)。在FormControl中利用雙層循環(huán)將控件容器中的控件按

Name與讀出的配置進(jìn)行匹配,如果在XML中配置了該窗體,就設(shè)置該窗體的一些屬性。個(gè)人感覺(jué)實(shí)現(xiàn)了該功能吧,最后經(jīng)過(guò)組長(zhǎng)看了一下審核基本通過(guò)。

要求:

根據(jù)Group,從XML中讀取控件配置信息,動(dòng)態(tài)設(shè)置控件在主窗體中的顯示。

Dailywork6

每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將DLL中的控件更換成窗體,方法仍然采用反射+抽象工廠模式。

雖然自己有一定編程經(jīng)驗(yàn),但是遇到問(wèn)題是不可避免的,今天在編寫(xiě)過(guò)程中遇到了一個(gè)問(wèn)題,就是當(dāng)窗體接口和窗體類(lèi)庫(kù)放在一起的時(shí)候,在工廠中創(chuàng)建的實(shí)例無(wú)法裝換成接口類(lèi)型,經(jīng)過(guò)多次測(cè)試和上網(wǎng)查閱相關(guān)資料,發(fā)現(xiàn)控件類(lèi)實(shí)現(xiàn)接口,不能將接口放在同一個(gè)類(lèi)庫(kù)中,針對(duì)以上問(wèn)題在網(wǎng)上查閱相關(guān)資料,結(jié)果還是沒(méi)有相同的主題,沒(méi)辦法,只有硬著頭皮在網(wǎng)上找,沒(méi)有主題就找有沒(méi)有相關(guān)的例子,結(jié)果還是沒(méi)有,差點(diǎn)就無(wú)語(yǔ)了,突然看到有類(lèi)似方法的一個(gè)例子,真是柳暗花明又一村啊,仔細(xì)看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所以調(diào)了一下結(jié)構(gòu),一編譯果然痛過(guò)了,就是將兩個(gè)類(lèi)庫(kù)分離,再在接口中加入工廠便可創(chuàng)建實(shí)例并轉(zhuǎn)換成接口。在主窗體中只需要引用該接口類(lèi)庫(kù)便可達(dá)到要求,使程序耦合性降低了。

Dailywork7

由于黎甫對(duì)DLL的要求發(fā)生變化,今天就不斷修正DLL程序,并驗(yàn)收,再結(jié)合Group的窗口排列方式對(duì)DLL中的窗體進(jìn)行測(cè)試。我現(xiàn)在才明白,編寫(xiě)代碼是一件很容易的事,但是編寫(xiě)好的代碼卻是很難的事情,好的代碼要有可維護(hù)性、可擴(kuò)展性,這樣在修改的話就很簡(jiǎn)單,可不能像我昨天寫(xiě)得代碼,根本談不上藝術(shù),所以一旦面對(duì)客戶的要求,改動(dòng)就很困難,這一點(diǎn)值得我繼續(xù)學(xué)習(xí)。

至于可擴(kuò)展性也是對(duì)維護(hù)的擴(kuò)充,因?yàn)轭櫩偷囊笥锌赡茈S時(shí)都在改變,我們也得適應(yīng)客戶的要求,如果軟件有了可擴(kuò)展性,那么它的改動(dòng)就比較小,就能適應(yīng)顧客的要求。所有上面說(shuō)的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開(kāi)發(fā)中才能游刃有余,應(yīng)對(duì)自如。

Dailywork8

回顧前幾天所做的練習(xí),對(duì)遇到的問(wèn)題進(jìn)行解決,在網(wǎng)上查閱相關(guān)資料獨(dú)立解決,并對(duì)之前的一些項(xiàng)目練習(xí)做好備份。將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。

Dailywork9

今天算是正式開(kāi)始做公司的項(xiàng)目,上午黎甫和秦陽(yáng)在會(huì)議室給我講解了項(xiàng)目的一些功能并進(jìn)行討論,大致理解了項(xiàng)目后,分配了自己的一部分任務(wù),整理過(guò)后在多次與秦陽(yáng)的溝通請(qǐng)教下明白了自己的任務(wù),下午秦陽(yáng)建好VSS,我拷貝項(xiàng)目進(jìn)行框架整合和測(cè)試。

在編寫(xiě)代碼的過(guò)程中也涉及了一些問(wèn)題,通過(guò)看MSDN和上論壇,基本得到解決,同時(shí)也了解了一些C#其它的相關(guān)知識(shí)。

Dailywork10

今天繼續(xù)昨天的任務(wù),做一個(gè)小測(cè)試,將現(xiàn)今做的項(xiàng)目所有代碼進(jìn)行整合測(cè)試,測(cè)試要求是在數(shù)據(jù)庫(kù)中配置菜單項(xiàng),動(dòng)態(tài)添加幾項(xiàng)菜單項(xiàng),在不同點(diǎn)擊下動(dòng)態(tài)從DLL中加載窗體讀取配置文件進(jìn)行排列,順利完成。

要求:

抽象接口,并繼承;XML中命名空間和類(lèi)名不要設(shè)置成結(jié)點(diǎn),設(shè)置成屬性。

封裝算法到DLL;在FirstWork中使用XML配置;建立一個(gè)XMLclass進(jìn)行操作;建立一個(gè)中間工廠類(lèi)用反射在類(lèi)庫(kù)中查找響應(yīng)算法;事件和委托。接口.

XML中結(jié)點(diǎn):

程序集名稱(chēng);命名空間.類(lèi)名;接口名稱(chēng);加載的時(shí)候轉(zhuǎn)化為接口;

XML中增加一個(gè)結(jié)點(diǎn)用來(lái)存儲(chǔ)客戶端關(guān)于算法的選擇,按選擇動(dòng)態(tài)改變其值,然后算法中讀取該值進(jìn)行排序選擇。

為解決的問(wèn)題:在一個(gè)工具條上配置多個(gè)工具,并添加事件,好像數(shù)據(jù)庫(kù)不能實(shí)現(xiàn)。OK了!

Dailywork 11

同步多線程方式實(shí)現(xiàn)Tcp/Ip發(fā)送。

Dailywork 12

多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶端是否斷開(kāi)連接;UDP服務(wù)器與客戶端握手,以及連接,數(shù)據(jù)報(bào)

Dailywork13

Dailywork14

Windows服務(wù)項(xiàng)目了解

Dailywork15

解決Udp局域網(wǎng)內(nèi)廣播方式通信。

Dailywork16

數(shù)據(jù)庫(kù)導(dǎo)出到XML,填充已設(shè)置菜單及工具欄結(jié)構(gòu),返回上層,在工廠中添加X(jué)ML配置文件,選擇是從數(shù)據(jù)庫(kù)還是XML中讀取。

1、 首先把數(shù)據(jù)庫(kù)轉(zhuǎn)化為XML

2、 研究如何和調(diào)用數(shù)據(jù)庫(kù)的接口結(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ù)庫(kù)轉(zhuǎn)化為XML中導(dǎo)出。

Dailywork18

整理優(yōu)化從XML中導(dǎo)出的過(guò)程,此外還;閱讀其他英文原版資料書(shū)。 Dailywork19

要求:

封裝窗體到DLL;

導(dǎo)出事件;

XML配置窗體參數(shù);

從control繼承。動(dòng)態(tài)生成,使用抽象工廠模式;

Group的順序無(wú)序由自己決定(從XML中讀取);XML操作類(lèi);

相關(guān)熱詞搜索:寫(xiě)日記 軟件 好用的寫(xiě)日記軟件 學(xué)生寫(xiě)日記軟件

版權(quán)所有 蒲公英文摘 www.newchangjing.com