久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5241|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

Android天氣課程表設(shè)計(jì)資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:566356 發(fā)表于 2019-6-19 08:24 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
Android設(shè)計(jì)天氣表,word文檔里是整個(gè)設(shè)計(jì)說明書。
目錄
1、需求分析
2、總體設(shè)計(jì)
3、詳細(xì)設(shè)計(jì)
3.1、開始界面
3.2、主界面
3.3、添加界面
3.4、顯示界面
3.5、編輯界面
3.6、周顯示界面
4、程序運(yùn)行結(jié)果測試與分析

1、需求分析
走進(jìn)大學(xué),上課的方式和地點(diǎn)都和以前的高中不一樣了。鑒于大學(xué)上課教室分散,學(xué)生經(jīng)常會(huì)忘記自己的或是上課的教室。這在一定程度上促進(jìn)學(xué)生課表軟件的開發(fā)。使其可以幫助學(xué)生記錄自己的和對自己的掌握。因?yàn)槭謾C(jī)相對筆記本電腦更加具有便攜性,可以隨時(shí)隨地的打開并使用它。相對于筆記本電腦的開機(jī)并打開軟件所用的時(shí)間,其需要的時(shí)間更短,所以手機(jī)端的學(xué)生課表備受學(xué)生用戶的青睞。
該款軟件就是基于Android平臺(tái)開發(fā)的一款學(xué)生課表軟件。當(dāng)學(xué)生上課途中卻不知道教室地點(diǎn)的時(shí)候,大多數(shù)人選擇發(fā)短信或者打電話詢問同學(xué)。這對學(xué)生的造成了一定的花費(fèi)。通過這款軟件完全避免了這些不必要的開銷。而且通過手機(jī)管理課表也是目前比較流行的方式,也具備實(shí)用、方便和免費(fèi)等優(yōu)點(diǎn)。開發(fā)這樣一個(gè)學(xué)生課表軟件,涉及到的技術(shù)不會(huì)太多,用到的主要技術(shù)就是Sqlite數(shù)據(jù)庫編程、適配器的運(yùn)用、Android XML的布局和UI特效以及對Android各種組件的運(yùn)用。開發(fā)采用Android SDK與Eclipse開發(fā)的插件ADT,數(shù)據(jù)庫采用Android自帶的Sqlite數(shù)據(jù)庫
所有我們要開發(fā)一個(gè)可查看自己學(xué)期的課表,并添加了天氣預(yù)報(bào)的功能
通過分析得出,其要實(shí)現(xiàn)的功能為:
1.天氣表主界面:可在該界面中查看天氣、城市、。
2.添加界面:可在該界面中添加。
3.點(diǎn)擊查看界面:可在該界面中查看所添加的。
4.編輯界面:可在該界面中修改所添加的。
5.整周界面:查看每一周的。
6.Widget界面。
2、總體設(shè)計(jì)
(1)總體設(shè)計(jì)思路:
根據(jù)該問題的需求,需要在程序中建立五個(gè)界面:天氣表主界面、添加界面、查看界面、編輯界面、整周界面。以及一個(gè)可在手機(jī)上桌面上建立一個(gè)4×4的小插件的Widget界面。各界面主要功能:
1.天氣表主界面:可在該界面中查看天氣,城市等信息,還需可查看每周每天的。
2.添加界面:可在該界面中添加名稱、教師姓名、上課地點(diǎn)、上課節(jié)數(shù)、上課周數(shù)、上課星期。
3.點(diǎn)擊查看界面:可在該界面中查看所添加的名稱、教師姓名、上課地點(diǎn)、上課節(jié)數(shù)、上課周數(shù)、上課星期。
4.編輯界面:可在該界面中修改所添加的名稱、教師姓名、上課地點(diǎn)、上課節(jié)數(shù)、上課周數(shù)、上課星期。
5.整周界面:可在該界面中調(diào)整軟件的背景,查看每一周的。
6.Widget界面:需要在手機(jī)桌面上建立一個(gè)4×4的小插件。


(2)系統(tǒng)模塊圖:
3、詳細(xì)設(shè)計(jì)3.
1、開始界面
設(shè)計(jì)思路:首先創(chuàng)建一個(gè)開始界面another,使用LinearLaout布局,在該界面可設(shè)置開始時(shí)間,并使用SQLite數(shù)據(jù)庫創(chuàng)建cource表用來存放和開始時(shí)間。給下一步按鈕添加事件,點(diǎn)擊進(jìn)入主界面。
開始界面模塊圖:
                     
3.1開始界面模塊圖    流程圖


部分代碼:
public static String StringData(){
final Calendar c = Calendar.getInstance();
c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
mYear = String.valueOf(c.get(Calendar.YEAR)); // 獲取當(dāng)前年份  
mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);// 獲取當(dāng)前月份  
mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));// 獲取當(dāng)前月份的日期號(hào)  
mHour=(c.get(Calendar.HOUR_OF_DAY)<10?"0":"")+String.valueOf(c.get(Calendar.HOUR_OF_DAY));
mMinute=(c.get(Calendar.MINUTE)<10?"0":"")+String.valueOf(c.get(Calendar.MINUTE));
return mYear + "年" + mMonth + "月" + mDay+"日 \t\t"+mHour+":"+mMinute; }
3.2、主界面
設(shè)計(jì)思路:創(chuàng)建一個(gè)主界面odd_days,使用LinearLayout布局,在該界面顯示城市,從獲取當(dāng)?shù)靥鞖獠@示,然后從數(shù)據(jù)庫默認(rèn)顯示當(dāng)天,給周一至周日按鈕添加事件。最后在為添課和整周顯示按鈕分別添加事件。
模塊圖:

3.2 主界面模塊圖
部分代碼:
                                          public void onClick(DialogInterface dialog, int which)
                                                                                         {
                                                                                                      index=which;
                                                                                                     city.setText(cities[which]);
                                                                                                     msg=city.getText().toString();
                                                                      Intent intents = new Intent("wyf.action.city");
                                                                                                     intents.putExtra("ccity", msg);
                                          OddDaysActivity.this.sendBroadcast(intents);
                                                                                                      try{
                                                                                                                   initThread();//從網(wǎng)絡(luò)獲取天氣信息
                                                                                                       }catch(Exception e){
                                                                                                                   e.printStackTrace();
                                                                                                       }
                                                                                             dialog.dismiss();
                                                                                          }
                                                                                       })
                                                                                    .setNegativeButton("取消", null)
                                                                                    .show();
                                                                      }
3.3、添加界面
設(shè)計(jì)思路:創(chuàng)建添加界面addcource_activity,使用TextView顯示添加的的信息,并在EditText中輸入需要添加的信息,并給添加按鈕設(shè)置事件,當(dāng)添加的不存在并且每項(xiàng)內(nèi)容不為空,添加此到數(shù)據(jù)庫提示添加成功。當(dāng)添加的存在并且有一項(xiàng)內(nèi)容為空,就提示添加的不符合要求,請重新添加!
模塊圖:
                       3.3添加界面模塊圖
部分代碼:
if(SQLiteUtil.QueryCourseIfExist(insertCourse[0])||((!insertCourse[0].trim().equals(""))&&                                                                                                               (!insertCourse[1].trim().equals(""))&&(!insertCourse[2].trim().equals("")))){                                                                                   SQLiteUtil.insertCourceMess(insertCourse);//添加此進(jìn)數(shù)據(jù)庫
                                                                                                  bb1=true;
                                                                                    }
              insertTime=new String[3];//獲得時(shí)間新型
              insertTime[0]=et4.getText().toString();
              insertTime[1]=Constant.editText;
              insertTime[2]=et6.getText().toString();
if(insertTime[0].trim().equals("請輸入上課節(jié)數(shù)")||insertTime[1].trim().equals("請輸入上課周數(shù)")||
                                                                                    insertTime[2].trim().equals("請輸入上課星期")||insertTime[0].trim().equals("")||                                                       insertTime[1].trim().equals("")||insertTime[2].trim().equals(""){
Toast.makeText(AddCourseActivity.this, "添加的不符合要求,請重新添加!", Toast.LENGTH_SHORT).show();
                                                                                                  bb2=false;
                                                                                    }
3.4、顯示界面
設(shè)計(jì)思路:創(chuàng)建顯示界面odd_list_selected,使用LinearLayout布局,并從數(shù)據(jù)庫讀取的信息后使用TextView顯示。為返回,編輯和刪除本節(jié)課按鈕添加事件。點(diǎn)擊刪除本節(jié)課,從數(shù)據(jù)庫刪除。
模塊圖:
3.4顯示界面模塊圖
從  
部分代碼:            
value=bundle.getString("info");
names=value.split("<#>");
Constant.showWeeks=AddCourseActivity.DivideString(names[4]);
title.setText(names[0]);//標(biāo)題
tv1.append(":  "+names[0]);//名稱
tv2.append(":  "+names[1]);//教師
tv3.append(":  "+names[2]);//地點(diǎn)
tv4.append(":  "+names[3]);//節(jié)數(shù)
tv5.append(":  "+Constant.showWeeks);//周數(shù)
tv6.append(":  "+names[5]);//星期

3.5、編輯界面
設(shè)計(jì)思路:創(chuàng)建編輯界面edit_course,使用使用LinearLayout布局,,使用TextView顯示編輯的的屬性,先在中EditText顯示沒有改變的,在輸入需要編輯的的信息。為確定按鈕添加事件,點(diǎn)擊后將數(shù)據(jù)存入數(shù)據(jù)庫并提示此已經(jīng)更新。
模塊圖:
3.5 編輯界面模塊圖
部分代碼:
new OnClickListener()
                                                        {
                                                                      public void onClick(View v)
                                                                      {
                                                                                    updateMess[0]=et1.getText().toString();
                                                                                    updateMess[1]=et2.getText().toString();
                                                                                    updateMess[2]=et3.getText().toString();

                                                                                    updateTime[0]=et4.getText().toString();
                                                                                    updateTime[1]=Constant.editText;
                                                                                    updateTime[2]=et6.getText().toString();
                                                                                    SQLiteUtil.ReSetCource(firstName,updateMess,updateTime);
                                                                                    Toast.makeText(EditCourseActivity.this, "此已經(jīng)更新!", Toast.LENGTH_SHORT).show();
                                          MondayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期一"));
                                          TuesdayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期二"));
                                          WednesdayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期三"));
                                          ThursdayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期四"));
                                          FridayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期五"));
                                          SaturdayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期六"));
                                          SundayActivity.listview.setAdapter(new MyBaseAdapter(context,"星期日"));}});
3.6、周顯示界面
設(shè)計(jì)思路:創(chuàng)建整周顯示whole_week,使用LinearLayout布局,在界面中創(chuàng)建一個(gè)Spinner,選擇顯示那一周的,并使用ListView,顯示整周的。
模塊圖:
3.6周顯示界面模塊圖
部分代碼:
oddDays=(Button)this.findViewById(R.id.odddays);
                            //監(jiān)聽,切換到整周
                            oddDays.setOnClickListener(
                                                        new OnClickListener()
                                                        {
                                                                      public void onClick(View v)
                                                                      {
                                                                                    Intent intent=new Intent();
                                                                                    intent.setClass(WholeWeekActivity.this, OddDaysActivity.class);
                                                                                    WholeWeekActivity.this.startActivity(intent);
                                                                      }
                                                        }
4、程序運(yùn)行結(jié)果測試與分析
程序調(diào)試完畢后,在手機(jī)上開始運(yùn)行程序。

點(diǎn)擊天氣表程序圖標(biāo),將進(jìn)入如圖4.1所示界面。
圖4.1 程序開始運(yùn)行圖

在進(jìn)入開始界面后,選擇好你開始的時(shí)間,然后點(diǎn)擊下一步,進(jìn)入程序的主界面,如圖4.2所示。主界面中可查看當(dāng)?shù)爻鞘刑鞖猓彤?dāng)天。

圖4.2程序主界面


在程序主界面中如果你想查看其他周的,可以點(diǎn)擊中間的第一周下拉按鈕如圖4.3所示,在下拉列表中你可選擇你所想要查看的周次。
圖4.3 周次選擇

在程序主界面中如你想查看本周所有,可點(diǎn)擊整周按鈕,將進(jìn)入圖4.4所示界面,在該界面中你可以查看本周星期一到星期五的所有。

圖4.4 整周顯示界面


若是想添加屬于自己的,可在主界面中點(diǎn)擊添課按鈕,將進(jìn)入如圖4.5所示界面,在該界面中你可以添加名稱、老師、地點(diǎn)、節(jié)數(shù)、周數(shù)、星期等屬性。添加完成屬性以后點(diǎn)擊確認(rèn)按鈕,則該建立完畢。
圖4.5 添加界面

若想查看異界的詳細(xì)信息,可以點(diǎn)擊該,將進(jìn)入查看界面如圖4.6所示,改界面中會(huì)將的所有屬性顯示在屏幕上。

圖4.6 查看界面

在查看界面,你可以刪除本節(jié),只需點(diǎn)擊刪除本節(jié)課即可,若想修改屬性,可點(diǎn)擊編輯按鈕,進(jìn)入編輯界面如圖4.7所示,在該界面你可重新輸入屬性。完成輸入后點(diǎn)擊確認(rèn)按鈕,則修改完畢。
圖4.7 編輯界面


若想修改程序的背景皮膚,可在整周顯示界面,點(diǎn)擊皮膚按鈕如圖4.8所示,可選擇所喜歡的背景,進(jìn)行更換。更換背景后如圖4.9所示。
圖4.8 換膚界面                              圖4.9 換膚后界面



5、結(jié)論與心得
本次設(shè)計(jì)是一個(gè)基于 Android的天氣表設(shè)計(jì),完成這個(gè)項(xiàng)目之后,以前覺得復(fù)雜的布局文件,現(xiàn)在變得簡單易懂。從之前面對一個(gè)項(xiàng)目的無從下手,到現(xiàn)在一步步的分析項(xiàng)目。實(shí)踐檢驗(yàn)問題,在做項(xiàng)目中,一點(diǎn)點(diǎn)理清上課時(shí)模糊不清的知識(shí)點(diǎn)。提高了自己對編程的興趣也加深了對所學(xué)知識(shí)的理解。鞏固了listview的使用。 還有就是SQLite數(shù)據(jù)庫的使用,比如將數(shù)據(jù)存入數(shù)據(jù)庫,讀取數(shù)據(jù)庫中數(shù)據(jù)等。
我學(xué)會(huì)了有目的的去學(xué)習(xí)一些將要用到的東西,仔細(xì)地考慮工作流程的規(guī)律和步驟,充分利用手中的開發(fā)工具,利用其所具備的功能,盡量使自己的開發(fā)在代碼上實(shí)現(xiàn)少而精確、讓用戶能夠盡量簡單地進(jìn)行操作。但是在檢測過程中,還是出現(xiàn)了很多的不足之處,這些都是要在今后的工作中需要努力改進(jìn)和完善的。期間我學(xué)到了非常多的andrio專業(yè)知識(shí),體會(huì)了其中的樂趣,當(dāng)我自己解決問題,運(yùn)行成功時(shí),那種成就感,非常的好。我對andrio充滿了興趣。于個(gè)人而言,在程序設(shè)計(jì)的過程中,我深感“認(rèn)真嚴(yán)謹(jǐn)”這個(gè)詞的重要性,一點(diǎn)點(diǎn)小的馬虎,便會(huì)導(dǎo)致整個(gè)程序不能正常運(yùn)行。在今后的學(xué)習(xí)中,我定將“認(rèn)真嚴(yán)謹(jǐn)”時(shí)刻作為自的謹(jǐn)言。與此同時(shí),我們小組成員的互幫互助,讓我體會(huì)到了團(tuán)結(jié)的力量,而更讓人難以忘懷的是在熱烈討論問題時(shí),那激情橫溢的場面。這次設(shè)計(jì)本來是純粹的Android端的開發(fā),但是進(jìn)入這樣的開發(fā)一段時(shí)間之后,我就感覺到這個(gè)的魅力所在。通過這次的設(shè)計(jì)親切的感受到Android開發(fā)的魅力。我現(xiàn)在對這門課真的很感興趣,如果這樣的開發(fā)多了我相信以后的經(jīng)驗(yàn)的積累會(huì)更快。但是這次設(shè)計(jì)里也是有很多不懂的問題,這樣其實(shí)也就是按部就班的進(jìn)行開發(fā),對于一些技術(shù)還掌握不到位,說明自己的功底以及相應(yīng)知識(shí)還是不熟,欠練。這次設(shè)計(jì)是我自己選的素材,也是我想要追尋的方向,雖然不能達(dá)到像工程師那樣熟練,但是起碼給了我自己這樣一個(gè)學(xué)習(xí)方向。互聯(lián)網(wǎng)其實(shí)是現(xiàn)代接觸最為接近的核心網(wǎng)絡(luò)技術(shù)之一,掌握這樣的技術(shù)無論是以后找工作,還是以想開發(fā)自己想要的服務(wù)都是一個(gè)莫大的幫助。我現(xiàn)在正在往這方面進(jìn)行發(fā)展,等到學(xué)好這門技術(shù)我希望能開發(fā)出一個(gè)完全屬于自己的項(xiàng)目。總之,此次設(shè)計(jì)在我的學(xué)習(xí)生涯中啟上了至關(guān)重要的作用

以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
Android天氣課程表.docx (731.91 KB, 下載次數(shù): 39)
為防止有人照抄,代碼包暫不提供
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:602618 發(fā)表于 2019-12-26 11:26 | 只看該作者
沒有源代碼嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:909549 發(fā)表于 2023-1-2 12:34 | 只看該作者
有程序的壓縮包嗎
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 神马九九| 精品九九久久 | 久久久久国产精品 | 精品久久影院 | 中文字幕日韩一区 | 午夜合集 | 中文字幕一区二区三区乱码图片 | 国产成人精品免费 | 日韩一区二区三区在线观看 | 91中文字幕在线观看 | 视频一区二区国产 | 黄色综合| 日本亚洲精品成人欧美一区 | 久久精品亚洲 | 国产黄色网址在线观看 | 国产日韩欧美一区二区 | 欧美日韩一区二区三区四区五区 | 99久久久无码国产精品 | 大乳boobs巨大吃奶挤奶 | 成人av免费| 亚洲精品一区二区三区 | 亚洲精品国产偷自在线观看 | 精品欧美一区二区三区久久久 | 中文字幕视频免费 | 日韩精品一区二区三区视频播放 | 中文一区 | 精品亚洲一区二区三区 | 久久精品国产一区老色匹 | 欧美一区二区三区国产精品 | 男人天堂网址 | 欧美日韩一区二区在线观看 | 日韩在线视频一区 | 日韩www| 国产一区二区自拍 | 成人精品在线 | 精品无码久久久久久国产 | 国产精品视频一二三区 | 毛片综合 | 国产乱人伦精品一区二区 | 免费看国产片在线观看 | 日韩欧美国产精品 |