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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5325|回復: 2
收起左側

Android天氣課程表設計資料

[復制鏈接]
ID:566356 發表于 2019-6-19 08:24 | 顯示全部樓層 |閱讀模式
Android設計天氣表,word文檔里是整個設計說明書。
目錄
1、需求分析
2、總體設計
3、詳細設計
3.1、開始界面
3.2、主界面
3.3、添加界面
3.4、顯示界面
3.5、編輯界面
3.6、周顯示界面
4、程序運行結果測試與分析

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


(2)系統模塊圖:
3、詳細設計3.
1、開始界面
設計思路:首先創建一個開始界面another,使用LinearLaout布局,在該界面可設置開始時間,并使用SQLite數據庫創建cource表用來存放和開始時間。給下一步按鈕添加事件,點擊進入主界面。
開始界面模塊圖:
                     
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)); // 獲取當前年份  
mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);// 獲取當前月份  
mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));// 獲取當前月份的日期號  
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、主界面
設計思路:創建一個主界面odd_days,使用LinearLayout布局,在該界面顯示城市,從獲取當地天氣并顯示,然后從數據庫默認顯示當天,給周一至周日按鈕添加事件。最后在為添課和整周顯示按鈕分別添加事件。
模塊圖:

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();//從網絡獲取天氣信息
                                                                                                       }catch(Exception e){
                                                                                                                   e.printStackTrace();
                                                                                                       }
                                                                                             dialog.dismiss();
                                                                                          }
                                                                                       })
                                                                                    .setNegativeButton("取消", null)
                                                                                    .show();
                                                                      }
3.3、添加界面
設計思路:創建添加界面addcource_activity,使用TextView顯示添加的的信息,并在EditText中輸入需要添加的信息,并給添加按鈕設置事件,當添加的不存在并且每項內容不為空,添加此到數據庫提示添加成功。當添加的存在并且有一項內容為空,就提示添加的不符合要求,請重新添加!
模塊圖:
                       3.3添加界面模塊圖
部分代碼:
if(SQLiteUtil.QueryCourseIfExist(insertCourse[0])||((!insertCourse[0].trim().equals(""))&&                                                                                                               (!insertCourse[1].trim().equals(""))&&(!insertCourse[2].trim().equals("")))){                                                                                   SQLiteUtil.insertCourceMess(insertCourse);//添加此進數據庫
                                                                                                  bb1=true;
                                                                                    }
              insertTime=new String[3];//獲得時間新型
              insertTime[0]=et4.getText().toString();
              insertTime[1]=Constant.editText;
              insertTime[2]=et6.getText().toString();
if(insertTime[0].trim().equals("請輸入上課節數")||insertTime[1].trim().equals("請輸入上課周數")||
                                                                                    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、顯示界面
設計思路:創建顯示界面odd_list_selected,使用LinearLayout布局,并從數據庫讀取的信息后使用TextView顯示。為返回,編輯和刪除本節課按鈕添加事件。點擊刪除本節課,從數據庫刪除。
模塊圖:
3.4顯示界面模塊圖
從  
部分代碼:            
value=bundle.getString("info");
names=value.split("<#>");
Constant.showWeeks=AddCourseActivity.DivideString(names[4]);
title.setText(names[0]);//標題
tv1.append(":  "+names[0]);//名稱
tv2.append(":  "+names[1]);//教師
tv3.append(":  "+names[2]);//地點
tv4.append(":  "+names[3]);//節數
tv5.append(":  "+Constant.showWeeks);//周數
tv6.append(":  "+names[5]);//星期

3.5、編輯界面
設計思路:創建編輯界面edit_course,使用使用LinearLayout布局,,使用TextView顯示編輯的的屬性,先在中EditText顯示沒有改變的,在輸入需要編輯的的信息。為確定按鈕添加事件,點擊后將數據存入數據庫并提示此已經更新。
模塊圖:
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, "此已經更新!", 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、周顯示界面
設計思路:創建整周顯示whole_week,使用LinearLayout布局,在界面中創建一個Spinner,選擇顯示那一周的,并使用ListView,顯示整周的。
模塊圖:
3.6周顯示界面模塊圖
部分代碼:
oddDays=(Button)this.findViewById(R.id.odddays);
                            //監聽,切換到整周
                            oddDays.setOnClickListener(
                                                        new OnClickListener()
                                                        {
                                                                      public void onClick(View v)
                                                                      {
                                                                                    Intent intent=new Intent();
                                                                                    intent.setClass(WholeWeekActivity.this, OddDaysActivity.class);
                                                                                    WholeWeekActivity.this.startActivity(intent);
                                                                      }
                                                        }
4、程序運行結果測試與分析
程序調試完畢后,在手機上開始運行程序。

點擊天氣表程序圖標,將進入如圖4.1所示界面。
圖4.1 程序開始運行圖

在進入開始界面后,選擇好你開始的時間,然后點擊下一步,進入程序的主界面,如圖4.2所示。主界面中可查看當地城市天氣,和當天。

圖4.2程序主界面


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

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

圖4.4 整周顯示界面


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

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

圖4.6 查看界面

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


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



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

以上圖文的Word格式文檔下載(內容和本網頁上的一模一樣,方便大家保存):
Android天氣課程表.docx (731.91 KB, 下載次數: 39)
為防止有人照抄,代碼包暫不提供
回復

使用道具 舉報

ID:602618 發表于 2019-12-26 11:26 | 顯示全部樓層
沒有源代碼嗎
回復

使用道具 舉報

ID:909549 發表于 2023-1-2 12:34 | 顯示全部樓層
有程序的壓縮包嗎
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91色在线| 欧美中文视频 | 久久一二 | 中文一区| 一区二区三区精品视频 | 91久久久久久久久 | 精品一区二区三区在线观看 | 欧美激情va永久在线播放 | 日韩在线免费看 | 99热视 | 亚洲精品黄色 | 欧美精品一区二区三区在线 | 久久精品国产一区二区电影 | 黑人巨大精品欧美黑白配亚洲 | 99久久精品国产一区二区三区 | 手机三级电影 | 涩涩视频在线观看免费 | 久综合 | 欧美午夜一区 | 欧美精品一区三区 | 成人免费大片黄在线播放 | 国产精品国产成人国产三级 | 欧美一级在线免费 | 国产精品1区2区3区 一区中文字幕 | 久久久久国产精品一区 | 一区二区日韩 | 91p在线观看 | 国产精品高潮呻吟久久 | 暖暖成人免费视频 | 不卡一区 | 日韩精品在线观看一区二区三区 | 中文字幕av网 | 欧美日韩一区二区三区在线观看 | 成年网站在线观看 | 高清久久久 | 久久av网 | 欧美日韩一区精品 | 国产视频91在线 | 国产高清自拍视频在线观看 | 亚洲激情自拍偷拍 | 91国产精品 |