李中濤
摘要:隨著網(wǎng)絡(luò)的發(fā)展,基于手機(jī)開發(fā)的app軟件層出不窮。對(duì)于大多數(shù)人來說,擁有一個(gè)完整精致的服務(wù)軟件可以更大限度地提高生活的質(zhì)量。本課題正是本著這一實(shí)質(zhì)性需求為中心,以打造更深層次的生活為出發(fā)點(diǎn),以實(shí)現(xiàn)生活應(yīng)用化為開發(fā)目標(biāo),通過對(duì)人們?nèi)粘I盍?xí)慣的分析,開發(fā)設(shè)計(jì)基于Objective-C的生活半徑app。本app可以實(shí)現(xiàn)實(shí)時(shí)定位、便捷地查詢具體信息以及即時(shí)通訊實(shí)現(xiàn)聊天,同時(shí)可以查看天氣、空氣質(zhì)量、萬年歷、郵編、手機(jī)號(hào)碼歸屬地等功能,為人們的出行帶來便利。
關(guān)鍵詞:Objective-C 生活半徑 app
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-5349(2017)23-0197-02
一、可行性分析
(1)技術(shù)可行性。該app是一款生活類app,集導(dǎo)航、即時(shí)通訊、生活常識(shí)等功能于一體,更加方便地貼近人們的生活。目前市面上的app大都有地圖定位,類似QQ的即時(shí)通訊以及一些查詢信息類的功能,可見這類app在市場(chǎng)中占有的地位越來越重要。
本app完全獨(dú)立開發(fā),功能簡潔明了且易于操作,在技術(shù)上是利用高德地圖、環(huán)信、ShareSDK提供給開發(fā)者的信息,軟件不存在侵權(quán)。
(2)系統(tǒng)硬件環(huán)境。
該系統(tǒng)對(duì)硬件的要求相對(duì)來說比較簡單,任何蘋果手機(jī)都可以運(yùn)行。
(3)經(jīng)濟(jì)可行性。
經(jīng)濟(jì)可行性中最重要的就是成本,本app作為一個(gè)畢業(yè)設(shè)計(jì),不需要經(jīng)費(fèi),正式使用后,將會(huì)帶來可觀的經(jīng)濟(jì)效益。
二、需求分析
(1)編寫目的。
隨著互聯(lián)網(wǎng)逐漸深入到社會(huì)生活的各個(gè)角落,手機(jī)app層出不窮,越來越多的app走入人們的生活,人們的生活也變得更加便捷。
本app的設(shè)計(jì)主要是為了方便人們隨時(shí)隨地了解自己身處的位置,隨時(shí)查看周邊信息,為出行增加便利。本需求的預(yù)期用戶是面向任何人,使得更貼近人們的生活。
本項(xiàng)目是針對(duì)人們的日常生活設(shè)計(jì)的,可以實(shí)時(shí)定位周邊信息,具有定位、即時(shí)通訊、查看天氣等一系列功能。本app的使用對(duì)象是所有人,只要會(huì)漢語拼音和手機(jī)的基本操作就可以利用app進(jìn)行操作。
(2)開發(fā)意圖。
生活半徑:是使人們通過該app能更加設(shè)身處地地了解周邊信息。使用Objective-C編程語言開發(fā),所有功能及模塊獨(dú)立完成。
①查看未來的天氣使得人們出行更方便。②隨時(shí)查看自身位置使人們少走冤枉路。
(3)功能需求。①圖定位,②即時(shí)通訊,③查詢天氣及更多信息。
三、系統(tǒng)設(shè)計(jì)
(1)總體設(shè)計(jì)。
經(jīng)過需求分析,做出的app分別采用了高德地圖SDK、環(huán)信SDK、ShareSDK作為數(shù)據(jù)來源,SDK分別對(duì)應(yīng)app的地圖定位、即時(shí)通訊、查詢天氣等,構(gòu)成系統(tǒng)骨架。
(2)系統(tǒng)工作流程圖。
用戶登錄,要先經(jīng)過用戶名和密碼的驗(yàn)證,驗(yàn)證通過之后,就可以進(jìn)行下面的操作,如圖1所示。
圖1 系統(tǒng)工作流程圖
①登錄 。
用戶需要登錄,要先經(jīng)過用戶名和密碼的驗(yàn)證,驗(yàn)證通過之后,就可以進(jìn)行下面的一系列操作。
②地圖。
可以實(shí)時(shí)查看自己所處的位置,可以獲取周邊以及更遠(yuǎn)位置的地理位置信息,指南針可以迅速幫助你辨別方向,可以隨時(shí)切換衛(wèi)星地圖,更容易辨別地形及位置。
③會(huì)話。
可以共享自己的位置,也可以發(fā)消息、發(fā)語音、分享照片、有趣的小視頻給朋友,收到消息時(shí)還會(huì)有提示音和震動(dòng)。
④更多。
可以查看未來幾天的天氣情況,可以為出行省去很多不必要的麻煩,不必為買東西、寄東西不知道郵編而煩惱,空氣質(zhì)量也可以隨時(shí)查看。
(3數(shù)據(jù)庫的設(shè)計(jì)。
數(shù)據(jù)庫的設(shè)計(jì)主要用到高德地圖SDK、環(huán)信SDK、ShareSDK,以下是詳細(xì)說明:
高德地圖SDK:首先在高德地圖開發(fā)者網(wǎng)站注冊(cè)賬號(hào)并創(chuàng)建應(yīng)用,獲取appid,在app內(nèi)注冊(cè)高德地圖SDK,并添加appid,就可以使用SDK提供的一系列方法。先初始化MAMapView,注冊(cè)代理,添加到當(dāng)前界面,設(shè)置showsUserLocation, userTrackingMode, customizeUserLocationAccuracyCircleRepresentation,pausesLocationUpdatesAutomatically,allowsBackgroundLocationUpdates等屬性,在infoplist中設(shè)置允許實(shí)時(shí)定位字段以及協(xié)議中的一系列方法來實(shí)現(xiàn)地理編碼及反地理編碼。
環(huán)信SDK:首先在環(huán)信開發(fā)者網(wǎng)站注冊(cè)賬號(hào)并創(chuàng)建應(yīng)用,獲取appid,在app內(nèi)注冊(cè)環(huán)信SDK,并添加appid,就可以使用SDK提供的一系列方法。建立一個(gè)控制器,繼承自SDK提供的ChatViewController,添加好數(shù)據(jù)源,調(diào)用SDK提供的conversationType、removeEmptyConversationsFromDB、reloadDataSource等方法,通過委托代理、一系列自定義view、協(xié)議中提供的方法,實(shí)現(xiàn)接收、發(fā)送等各種回調(diào)功能。
ShareSDK:首先在ShareSDK開發(fā)者網(wǎng)站注冊(cè)賬號(hào)并創(chuàng)建應(yīng)用,獲取appid,在app內(nèi)注冊(cè)ShareSDK,添加appid,并在appdelegate各個(gè)生命周期中監(jiān)聽SDK,就可以使用SDK提供的一系列方法。通過ShareSDK對(duì)開發(fā)者提供的一系列對(duì)外接口,傳入對(duì)應(yīng)參數(shù)即可獲得所需數(shù)據(jù)。
四、結(jié)論與討論
經(jīng)過幾個(gè)月的努力,生活半徑app應(yīng)用軟件的設(shè)計(jì)終于接近尾聲。 在整個(gè)過程中,出現(xiàn)過很多的問題,但都在老師的耐心指導(dǎo)下,一步步地解決了,中間多次通過上網(wǎng)查閱資料來解決問題。通過這次實(shí)踐,真正做到了理論與實(shí)踐相結(jié)合,懂得了理論與實(shí)踐相結(jié)合可以讓人成長更快,進(jìn)步更大。鑒于大學(xué)生朝氣蓬勃,對(duì)新鮮事物敏感的洞察力,相信生活半徑app只要在大學(xué)生群體中進(jìn)行合理的推廣,很快就會(huì)成為學(xué)生們追捧的熱門應(yīng)用軟件。
通過這次畢業(yè)設(shè)計(jì),我深刻體會(huì)到要做好一件事,需要有一個(gè)好的思維方式和方法,對(duì)待問題要有耐心,善于運(yùn)用資源來充實(shí)自己。雖然這個(gè)軟件一定還存在很多不足,但是我會(huì)繼續(xù)完善和優(yōu)化,在此感謝給予我?guī)椭睦蠋熀屯瑢W(xué)們。
參考文獻(xiàn):
[1]John Ray.iPhone開發(fā)入門經(jīng)典(第二版)[M].人民郵電出版社,2011:37-60.
[2]王一檸,李春燕,趙國宇.輕松玩轉(zhuǎn)iPhone[M].化學(xué)工業(yè)出版社,2012:45-85.
[3]馬克.iPhone開發(fā)基礎(chǔ)教程[M].人民郵電出版社,2010:20-75.
[4]Erica Sadun.iPhone開發(fā)秘籍(第二版)[M].人民郵電出版社,2010:23-65.
[5]艾倫·阿佩爾克萊因.iPhone開發(fā)實(shí)戰(zhàn)[M].人民郵電出版社,2010:36-77.
責(zé)任編輯:楊國棟endprint