版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄一、 緒論1(一) 背景介紹11、APP背景12、購(gòu)物背景13、線下店鋪背景1(二)項(xiàng)目意義11、用戶的意義12、商家的意義2二、 相關(guān)技術(shù)綜述2(一)Android2(二)LeanCloud2(三)Eclipse2三、 系統(tǒng)功能介紹2(一)需求分析21、逛街啦角色22、功能需求2(二)功能介紹31、客戶端模塊介紹3(三)客戶端功能用例41、注冊(cè)42、登陸43、用戶分享打折促銷信息54、用戶評(píng)論5(四)leancloud服務(wù)器功能用例61、查詢用戶62、刪除用戶73、修改用戶數(shù)據(jù)74、消息推送7四、數(shù)據(jù)庫(kù)設(shè)計(jì)8(一) 服務(wù)器數(shù)據(jù)庫(kù)建立8(二)數(shù)據(jù)表81、用戶信息表82、 商店數(shù)據(jù)表93、
2、 商品數(shù)據(jù)表10(三) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)101、用戶表設(shè)計(jì)102、 商店數(shù)據(jù)表設(shè)計(jì)113、商品數(shù)據(jù)表設(shè)計(jì)11(四) 數(shù)據(jù)表基本信息12五、核心模塊開(kāi)發(fā)與設(shè)計(jì)13(一) Eclipse安卓環(huán)境搭建131、準(zhǔn)備工作132、安裝和配置JAVA開(kāi)發(fā)環(huán)境133、 安裝ADT插件144、安裝SDK145、創(chuàng)建Android模擬器15(二) 獲取用戶的地理位置151、定位方法概述152、 定位功能實(shí)現(xiàn)15(三)json數(shù)據(jù)解析21六、結(jié)束語(yǔ)25參考文獻(xiàn)25致 謝27基于LBS線下購(gòu)物的智能導(dǎo)購(gòu)應(yīng)用中文摘要:隨著移動(dòng)互聯(lián)網(wǎng)的興起,手機(jī)逐漸了生活中不可以缺少的一樣工具。各種APP應(yīng)用給人們的生活帶來(lái)了許多便利和樂(lè)
3、趣。但是還有許多方面并沒(méi)有涉及到。一方面商場(chǎng)的打折促銷信息沒(méi)有被充分傳播開(kāi)來(lái),有促銷打折購(gòu)買(mǎi)的人也不多。另一方面人們想買(mǎi)到更加實(shí)惠的服裝,卻沒(méi)法很快了解哪些服裝,那個(gè)商場(chǎng)打折了。逛街啦這款A(yù)PP就是以用戶和商家分享打折信息,致力于讓人們更方便的知道周邊的一些打折信息,隨時(shí)隨地知道自己喜愛(ài)的品牌服裝打折促銷信息。而商家就能為自己帶來(lái)更多的收益。用戶和商家分享打折信息時(shí),APP會(huì)自己獲取地點(diǎn),并支持上傳打折店鋪的圖片和手動(dòng)填寫(xiě)地址。打折信息分享出來(lái)之后,其它用戶可以評(píng)論和點(diǎn)贊。系統(tǒng)會(huì)根據(jù)瀏覽次數(shù),評(píng)論次數(shù)和點(diǎn)贊時(shí)時(shí)排名,匯集成當(dāng)前熱門(mén)信息。逛街啦是一款基于Android系統(tǒng)的APP,客戶端采用Ja
4、va語(yǔ)言開(kāi)發(fā),服務(wù)器端利用最近比較流行的PAAS平臺(tái)LeanCloud。中文關(guān)鍵詞: 安卓APP 線下導(dǎo)購(gòu) 打折促銷Abstract: With the rise of the mobile Internet, mobile phones and gradually the life of not missing the same tools. APP application to a variety of peoples lives a lot of convenience and fun. But there are many aspects and does not relate to.
5、 On the one hand the mall discount promotions are not fully spread, there are promotional discounts not many people buy. On the other hand people want to buy more affordable clothing, but can not understand what clothing quickly, that mall discount. The APP is shopping it to users and businesses to
6、share discounts, dedicated to making it easier for people to know some of the surrounding discount information, know their favorite brand of clothing discounts information anytime, anywhere. And businesses will be able to bring more revenue for themselves. Users and businesses share discount informa
7、tion, APP will get their own place, and support for uploading images and discount stores to manually fill address. After discount information sharing out, other users can comment and point praise. The system will be based on views, comments, and the number of ranking points like always together into
8、 current popular information. Shopping it is a system based on the Android APP, the client uses the Java language development, server-side use the more popular recently PAAS platform LeanCloud.Keywords: android app Offline shopping guide Discounts1、 緒論(1) 背景介紹1、APP背景隨著移動(dòng)互聯(lián)網(wǎng)的興起,手機(jī)給人們的生活帶來(lái)了很大的便利。生活中無(wú)時(shí)
9、無(wú)刻不在用手機(jī),早上上班坐公交的時(shí)候,拿出手機(jī)看新聞,中午吃完飯后,在手機(jī)上玩一會(huì)游戲,晚上回到家,在手機(jī)上聽(tīng)音樂(lè)看電影。訂餐,訂酒店,旅游門(mén)票購(gòu)買(mǎi),看新聞視頻,購(gòu)物,基本上生活的一切都能在手機(jī)上操作。現(xiàn)在的APP應(yīng)用也很多很多了,有淘寶、京東、百度這一類從PC互聯(lián)網(wǎng)轉(zhuǎn)過(guò)來(lái)的,還有像美團(tuán)、微信、陌陌這些隨著移動(dòng)互聯(lián)一起發(fā)展起來(lái)的一些應(yīng)用。這么多應(yīng)用,獲取本地周邊商品打折促銷信息的APP卻很少。2、購(gòu)物背景網(wǎng)上購(gòu)物品質(zhì)得不到保證,網(wǎng)上購(gòu)買(mǎi)衣服,沒(méi)法試穿,沒(méi)法實(shí)地體驗(yàn),網(wǎng)上買(mǎi)來(lái)的衣服往往不合適。假貨充斥著各類電商網(wǎng)站。最近國(guó)家工商總局對(duì)淘寶抽查發(fā)現(xiàn)假貨達(dá)到63%,越來(lái)越多的人不相信從網(wǎng)絡(luò)買(mǎi)來(lái)商品的
10、質(zhì)量。3、線下店鋪背景面對(duì)網(wǎng)絡(luò)的充斥,網(wǎng)絡(luò)購(gòu)物的流行。線下店鋪促銷打折的活動(dòng)也越來(lái)越多。但是打折促銷的信息傳播卻不是很好,導(dǎo)致推廣力度加大,成本增加。(二)項(xiàng)目意義1、用戶的意義用逛街啦app,用戶可以隨時(shí)獲取周邊有哪些商品促銷打折,查看自己喜歡的品牌有哪些在打折促銷。用戶就可以從這些打折信息中快速選出自己喜歡的商品品牌。相比網(wǎng)絡(luò)購(gòu)物來(lái)說(shuō),用戶可以去商家店鋪實(shí)際體驗(yàn),再做購(gòu)買(mǎi)決定,而且價(jià)格還很便宜。用戶就可以用更低的價(jià)格,買(mǎi)到更加實(shí)惠的商品。2、商家的意義商家可以在逛街啦APP中發(fā)布打折促銷的信息,逛街啦的用戶看到信息后,有一部分人就會(huì)去商家店鋪里面去購(gòu)買(mǎi)商品。從而給商家?guī)?lái)人流量,增加銷售量
11、,獲得更多的收益。2、 相關(guān)技術(shù)綜述(一)Android Android是一個(gè)基于Linux的自由及開(kāi)發(fā)源代碼的移動(dòng)操作系統(tǒng)。2011年在全球的市場(chǎng)份額躍居第一?,F(xiàn)在與ios系統(tǒng)占據(jù)了全球80%以上的市場(chǎng)份額。(二)LeanCloudLeanCloud 是國(guó)內(nèi)的移動(dòng)應(yīng)用一站式云服務(wù)??梢蚤_(kāi)發(fā)一個(gè)云存儲(chǔ)的移動(dòng)應(yīng)用軟件,給應(yīng)用軟件快速添加一個(gè)安全靈活的后臺(tái)管理系統(tǒng),方便瀏覽終端保存的各種信息。提供了數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)消息、統(tǒng)計(jì)分析以及多種擴(kuò)展組件,全面涵蓋移動(dòng)應(yīng)用開(kāi)發(fā)的需求,支持 iOS、Android、Web 等多平臺(tái)。幫助開(kāi)發(fā)者擺脫繁重的后端開(kāi)發(fā)負(fù)擔(dān),最大限度地縮短開(kāi)發(fā)周期和加快迭代速度,在激烈的
12、市場(chǎng)競(jìng)爭(zhēng)中勝出。(三)Eclipse Eclipse 是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。在上面、開(kāi)發(fā)安卓應(yīng)用需要配置下環(huán)境,首先安裝上一個(gè)Android sdk和java sdk下載好安卓sdk,然后安卓Eclipse。3、 系統(tǒng)功能介紹(一)需求分析1、逛街啦角色 (1)后臺(tái)管理人員 (2)普通的用戶2、功能需求(1)后臺(tái)管理人員需求1)查詢用戶信息可以leancloud服務(wù)器中查詢數(shù)據(jù)庫(kù),獲取用戶的相關(guān)信息。2)刪除用戶信息可以在數(shù)據(jù)庫(kù)中,刪除一些用戶,或者刪除用戶的一些信息。3)修改用戶數(shù)據(jù)用戶的數(shù)據(jù),可以在數(shù)據(jù)庫(kù)中手動(dòng)修改。4)后臺(tái)上傳圖片可以直接上傳圖片到服務(wù)器,用戶
13、上傳的圖片可以為它修改。5)查詢用戶狀態(tài)查詢某個(gè)具體的用戶是否在線。6)推送功能選擇為全部用戶,還是符合某些條件的用戶推送消息。(2)用戶需求1)上傳打折促銷信息的功能用戶看到身邊的打折促銷信息,登陸逛街啦,即可拍下商家的門(mén)店的圖片,加上簡(jiǎn)單描述下,就可以上傳到服務(wù)器。2)定位功能當(dāng)用戶上傳的時(shí)候,可以選擇自動(dòng)獲取當(dāng)前位置。用戶要查看附近的打折促銷信息的時(shí)候,也可以點(diǎn)擊自動(dòng)獲取當(dāng)前位置。3)登陸注冊(cè)注冊(cè)用手機(jī)號(hào)碼注冊(cè),為了防止有人亂注冊(cè)了亂發(fā)消息,注冊(cè)的時(shí)候就必須用手機(jī)驗(yàn)證。登陸的用戶名也是手機(jī)號(hào)。4)獲取最新的打折促銷信息手指下拉一下即可獲取最新附近的打折消息。5)評(píng)論功能用戶看到別人發(fā)的打
14、折促銷信息之后,可以對(duì)其評(píng)論。(二)功能介紹 1、客戶端模塊介紹逛街啦是一款快速獲取周邊打折信息的一款應(yīng)用??蛻舳酥饕譃橛脩糇?cè)登錄,用戶上傳打折促銷,獲取地理位置,用戶評(píng)價(jià)。2、 leancloud后臺(tái)模塊介紹(三)客戶端功能用例1、注冊(cè)用戶打開(kāi)APP的時(shí)候首先出現(xiàn)登陸的頁(yè)面,有賬號(hào)的就可以登陸進(jìn)去,沒(méi)有賬號(hào)的點(diǎn)擊登陸按鈕右下角的注冊(cè),直接去注冊(cè)。來(lái)到注冊(cè)頁(yè)面就會(huì)有輸入手機(jī)號(hào)碼,然后密碼,點(diǎn)擊注冊(cè)后,系統(tǒng)會(huì)給用戶發(fā)一條短信,短信里面有驗(yàn)證碼。這時(shí)注冊(cè)頁(yè)面也會(huì)跳轉(zhuǎn)到輸入驗(yàn)證碼的頁(yè)面,輸入正確的驗(yàn)證碼點(diǎn)擊完成就注冊(cè)成功了,跳轉(zhuǎn)到主頁(yè)面如(圖3.1)。圖3.1 注冊(cè)流程圖2、登陸用戶打開(kāi)逛街啦A
15、PP,一開(kāi)始就進(jìn)入登陸界面。用戶輸入用戶名,也就是手機(jī)號(hào)碼,然后輸入密碼,點(diǎn)擊登陸即可,流程如(圖3.2)所示。圖3.2 登陸流程圖3、用戶分享打折促銷信息用戶登陸進(jìn)來(lái)之后,點(diǎn)擊分享,就出彈出來(lái)一個(gè)新的界面,點(diǎn)擊這個(gè)分享的按鈕的時(shí)候,APP會(huì)自己獲取用戶的位置。這個(gè)頁(yè)面有幾個(gè)需要填的,用戶在地址編輯框中輸入自己所在的具體地址,在商品名稱的輸入框中輸入詳細(xì)的商店名稱,然后在輸入此商店具體打幾折。還有一個(gè)圖片選項(xiàng),用戶可以從手機(jī)相冊(cè)中選擇一張,也可以調(diào)動(dòng)相機(jī)直接拍一張圖片,最后還有個(gè)其他內(nèi)容,用戶可以分享現(xiàn)在的心情,也可以再更加詳細(xì)的介紹下,流程如(圖3.3)。圖3.3 分享流程圖4、用戶評(píng)論點(diǎn)擊
16、用戶分享的打折促銷信息,就可以看到用戶分享的商店打折促銷信息。有商店的圖片,商家的具體名字。商品的具體地址,在這個(gè)頁(yè)面上你可以看到其他用戶的一些評(píng)論。在評(píng)論輸入框中輸入你想說(shuō)的話,就發(fā)表了,流程如(圖3.4)所示。圖3.4 分享流程圖(四)leancloud服務(wù)器功能用例1、查詢用戶打開(kāi)leancloud網(wǎng)站,登陸進(jìn)入自己的控制臺(tái),可以看到有一個(gè)存儲(chǔ)的選項(xiàng)。找到數(shù)據(jù)按鈕。點(diǎn)擊用戶表,找到查詢的按鈕。選擇用戶表,輸入查詢條件,點(diǎn)擊查詢即可查詢到你想要查詢的用戶,如(圖3.5)所示。圖3.5 數(shù)據(jù)庫(kù)查詢流程圖2、刪除用戶選擇你要?jiǎng)h除的行,然后點(diǎn)擊刪除就可以把這個(gè)用戶的相關(guān)信息從數(shù)據(jù)庫(kù)中刪掉了,如(
17、圖3.6)。圖3.6 刪除流程圖3、修改用戶數(shù)據(jù)找到你要修改的用戶,數(shù)據(jù)比較多,先查詢到這個(gè)用戶或者這一類用戶的數(shù)據(jù),鼠標(biāo)雙擊就可以編輯用戶的信息,如(圖3.7)所示。圖3.7 修改數(shù)據(jù)流程4、消息推送找到消息的選項(xiàng),選擇你要推送的平臺(tái),選擇推送目標(biāo)。選擇用戶活躍天數(shù)。然后選擇推送時(shí)間,輸入你想要推送給用戶的內(nèi)容。選擇推送文件的格式,再選擇你想要推送的文件。點(diǎn)擊發(fā)送就可以給用戶推送出去了,如圖(3.8)。圖3.8 消息推送流程四、數(shù)據(jù)庫(kù)設(shè)計(jì)(1) 服務(wù)器數(shù)據(jù)庫(kù)建立服務(wù)器數(shù)據(jù)庫(kù)是用的leancloud的自帶的數(shù)據(jù)庫(kù)。只需在leancloud后臺(tái)控制,建立自己的數(shù)據(jù)表。(二)數(shù)據(jù)表1、用戶信息表用
18、戶信息表用來(lái)存儲(chǔ)用戶注冊(cè)的信息,用戶首次使用逛街啦的時(shí)候注冊(cè),用戶名和密碼都保存在數(shù)據(jù)表。用戶注冊(cè)的時(shí)候,就把用戶名和密碼保存在用戶信息表中。實(shí)現(xiàn)代碼如下:AVOSCloud.verifySMSCodeInBackground(sym,user1,newAVMobilePhoneVerifyCallback()Overridepublicvoiddone(AVExceptione)AVUseravUser=newAVUser();avUser.setUsername(user1);avUser.setPassword(pwd);avUser.put(phone,user1);avUser.si
19、gnUpInBackground(newSignUpCallback() publicvoiddone(AVExceptione) if(e=null) /successfully Intentintent=newIntent(Yanzhengma.this,MainActivity.class); Bundlebundle=newBundle();bundle.putString(username,user1);bundle.putString(pwd,pwd);intent.putExtras(bundle);startActivity(intent);finish(); else /fa
20、iled Toast.makeText(getApplicationContext(),注冊(cè)失敗,500).show(); ););2、 商店數(shù)據(jù)表商店數(shù)據(jù)表用來(lái)存儲(chǔ)商店的信息,包括商店的名字,商店的地理位置,還有商店的圖片信息,商店所賣(mài)東西的品類。用戶選擇上傳的時(shí)候就存儲(chǔ)到商店數(shù)據(jù)表。實(shí)現(xiàn)主要代碼如下:AVOSCloud.verifySMSCodeInBackground(sym,user1,newAVMobilePhoneVerifyCallback()Overridepublicvoiddone(AVExceptione)AVUsershop=newAVUser();shop.setUs
21、er=(yangguang);shop.setPlace(chongqing);shop.setImage(yichun.jpg);shop.setShopCategory(Fashionclous);user.signUpInBackground(newSignUpCallback()publicvoiddone(AVExceptione)if(e=null)Toast.makeText(getApplicationContext(),上傳成功,500).show();elseToast.makeText(getApplicationContext(),上傳失敗,500).show(););
22、3、 商品數(shù)據(jù)表商品數(shù)據(jù)表用來(lái)存放商品品牌的數(shù)據(jù),當(dāng)用戶填寫(xiě)的時(shí)候自動(dòng)從數(shù)據(jù)庫(kù)中加載商品名稱。而這些商品的品牌是以首字母來(lái)編寫(xiě)的,從A-Z,共26個(gè)json,把每個(gè)json的地址存在存在數(shù)據(jù)表的一行??蛻舳诉x擇的時(shí)候根據(jù)首字母來(lái)加載json 文件。顯示出品牌讓用戶來(lái)選擇。這個(gè)表的數(shù)據(jù)從天貓品牌分類中搜集來(lái)的,后面還會(huì)逐漸增加。(3) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 1、用戶表設(shè)計(jì)開(kāi)發(fā)逛街啦期間,分析用戶的需求,就確定了基本數(shù)據(jù)庫(kù)的一個(gè)設(shè)計(jì)。用戶開(kāi)始注冊(cè)時(shí)有手機(jī)號(hào)碼,密碼,后面登陸進(jìn)去了還可以設(shè)置郵箱,年齡,性別。其中主鍵為id,其實(shí)體圖如(圖4.1)所示。ID年齡手機(jī)號(hào)性別郵箱密碼用戶圖4.1 用戶數(shù)據(jù)圖2、
23、 商店數(shù)據(jù)表設(shè)計(jì)商店的數(shù)據(jù)表,是數(shù)據(jù)庫(kù)的核心部分。里面存儲(chǔ)著商店的位置,商店的圖片,商店的品牌,商店的折扣。整個(gè)逛街啦基本全靠這個(gè)來(lái)支撐運(yùn)行了。沒(méi)有商店的數(shù)據(jù),用戶瀏覽打折信息的時(shí)候不能夠及時(shí)獲取,影響用戶體驗(yàn),商店的數(shù)據(jù)表有問(wèn)題,用戶看到打折促銷的信息之后,想上傳,結(jié)果去傳不成功。很給用戶的心理造成很大的困惑,體驗(yàn)也不好。所以這個(gè)商店的數(shù)據(jù)表是相當(dāng)重要。當(dāng)然商店數(shù)據(jù)表的主鍵也是ID。其實(shí)體圖如(圖4.2)所示:折扣位置圖片品牌ID商店數(shù)據(jù)圖4.2 商店數(shù)據(jù)圖3、商品數(shù)據(jù)表設(shè)計(jì)商品數(shù)據(jù)指各種品牌的服裝和商品。這些品牌名字,按其首字母A-Z分類。每個(gè)類的數(shù)據(jù)存在一個(gè)json文件里面。數(shù)據(jù)表主鍵為
24、ID,字母,json文件。其實(shí)體圖如(圖4.3)所示:IDJson商品品牌字母圖4.3 商品品牌圖(4) 數(shù)據(jù)表基本信息表一 用戶信息表字段名 數(shù)據(jù)類型 長(zhǎng)度 主鍵 備注ID Int 10 是 自己生成手機(jī)號(hào) Varchar 12 否 注冊(cè)加入密碼 Varchar 50 否 用戶填寫(xiě)郵箱 Varchar 40 否 用戶填寫(xiě)性別 Varchar 3 否 用戶填寫(xiě)年齡 Int 3 否 用戶填寫(xiě) 表二 商店數(shù)據(jù)表字段名 數(shù)據(jù)類型 長(zhǎng)度 主鍵 備注ID Int 10 是 自己生成位置 Varchar 80 否 分享加入圖片 Varchar 100 否 用戶填寫(xiě)品牌 Varchar 40 否 用戶填寫(xiě)折
25、扣 Float 3 否 用戶填寫(xiě)表三 商品數(shù)據(jù)表字段名 數(shù)據(jù)類型 長(zhǎng)度 主鍵 備注ID Int 10 是 自己生成字母 Varchar 2 否 管理生產(chǎn)Json Varchar 100 否 已有五、核心模塊開(kāi)發(fā)與設(shè)計(jì)(1) Eclipse安卓環(huán)境搭建1、準(zhǔn)備工作 下載Eclipse、JDK、ADT插件。2、安裝和配置JAVA開(kāi)發(fā)環(huán)境把準(zhǔn)備好的Eclipse和JDK安裝到本機(jī)上,在全英文路徑下安裝。安裝好了之后,右鍵我的電腦,點(diǎn)擊屬性選項(xiàng),點(diǎn)擊更改設(shè)置,找到高級(jí)選擇。點(diǎn)擊環(huán)境變量,然后點(diǎn)擊新建,在出來(lái)的窗口中,變量名設(shè)為JAVA_HOME,變量值為我JAVA的安裝地址()。打開(kāi)命令提示符(cmd
26、),輸入java -version命令,顯示如圖(5.1)說(shuō)明我的環(huán)境已經(jīng)配置好了。圖5.1 java配置驗(yàn)證圖3、 安裝ADT插件打開(kāi)已經(jīng)安裝好的Eclipse,選擇菜單欄上的“help”,在彈出的下拉框中單擊選擇“install new software”,在新打開(kāi)的對(duì)話框中我直接在Work with中輸入:https:/dl-圖5.2 ADT插件圖4、安裝SDK把下載好的Android SDK安裝到本機(jī)上(最好安裝在全英文路徑下),并為Android SDK配置環(huán)境變量。Android SDK的環(huán)境變量值為SDK安裝目錄下的platform-tools文件夾和tools文件夾子目錄路徑,
27、如我的分別為:E:My StudyingAndroidandroid-sdkplatform-tools、E:My StudyingAndroidandroid-sdktools,在變量值中,兩個(gè)路徑用逗號(hào)隔開(kāi)。打開(kāi)Android SDK的安裝目錄,雙擊 SDK Manager-在打開(kāi)的窗口中先選擇你需要安裝的SDK版本,其中“Status”表示該SDK包是否安裝,如我選的是“Android2.2(API 8)”(我的之前已經(jīng)安裝過(guò)了,所以“Status”為“Installed”)-再點(diǎn)擊“Install packages.”按鈕,在彈出來(lái)的窗口中最好選“Accept All”這樣才能安裝你剛
28、才選的所有的包-最后點(diǎn)“Install”按鈕就開(kāi)始安裝了。5、創(chuàng)建Android模擬器打開(kāi)Eclipse-在Eclipse的工具欄如(圖5.3)上單擊下圖指示的圖標(biāo)打開(kāi)“Android Virsual Device Manager”窗口;在“Android Virsual Device Manager”窗口單擊“New”按鈕-在彈出來(lái)的窗口中Name可以隨便?。弧癟arget”指模擬器的系統(tǒng)版本;“SD Card”的size是指手機(jī)存儲(chǔ)卡的大小,只要你不在模擬器上裝太多的應(yīng)用,一般給個(gè)二三十MB就夠了;“Skin”是指屏幕的分辨率大小,其中“Built in”是一般手機(jī)常用標(biāo)準(zhǔn)屏幕分辨率大小,
29、而“Resolution”是自定義屏幕分辨率大小,具體做法,可以根據(jù)自身情況選擇。-一切設(shè)置好后點(diǎn)擊“Create AVD”,這時(shí)一個(gè)模擬器就創(chuàng)建好了。如果有必要,我們可以創(chuàng)建多個(gè)模擬器用于測(cè)試時(shí)使用。圖5.3 Eclipse工具欄(2) 獲取用戶的地理位置 1、定位方法概述 (1)GPS定位GPS定位的主要特點(diǎn)就是精度高,耗電量大,不消費(fèi)流量。在室內(nèi)的時(shí)候反應(yīng)比較遲緩。(2)網(wǎng)絡(luò)定位網(wǎng)絡(luò)點(diǎn)位具有精度低,省電,需要網(wǎng)絡(luò)訪問(wèn),網(wǎng)絡(luò)定位依賴蜂窩網(wǎng)絡(luò),獲取的是最近的網(wǎng)絡(luò)基站位置。2、 定位功能實(shí)現(xiàn)要實(shí)現(xiàn)獲取用戶的基站信息,獲取用戶的經(jīng)緯度,獲取用戶的具體地理位置。獲取基站的方法為getCelllnf
30、o,返回基站信息。獲取經(jīng)緯度的方法為getltuge,傳入基站信息,返回經(jīng)緯度。獲取地理位置的方法getLocation,傳經(jīng)緯度,返回地址位置。實(shí)現(xiàn)主要代碼如下:importjava.io.BufferedReader;importjava.io.InputStreamReader;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;impo
31、rtorg.apache.http.client.methods.HttpPost;importorg.apache.http.entity.StringEntity;importorg.apache.http.impl.client.DefaultHttpClient;importorg.json.JSONArray;importorg.json.JSONObject;importandroid.app.Activity;importandroid.app.ProgressDialog;importandroid.content.Context;importandroid.os.Bundle
32、;importandroid.telephony.TelephonyManager;importandroid.telephony.gsm.GsmCellLocation;importandroid.util.Log;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;importandroid.view.View.OnClickListener;publicclassDemoActivityextendsActivityOverridepublicvoidonCreate(Bund
33、lesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);ButtonbtnGetLocation=(Button)findViewById(R.id.button1);btnGetLocation.setOnClickListener(newOnClickListener()/OverridepublicvoidonClick(Viewarg0)/TODOAuto-generatedmethodstubonBtnClick(););publicclassSCellpublicin
34、tMCC;publicintMNC;publicintLAC;publicintCID;publicclassSItudepublicStringlatitude;publicStringlongitude;privatevoidonBtnClick()ProgressDialogmProgressDialog=newProgressDialog(this);mProgressDialog.setMessage(正在獲取中.);mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);mProgressDialog.show(
35、);trySCellcell=getCellInfo();SItudeitude=getItude(cell);Stringlocation=getLocation(itude);showResult(cell,location);mProgressDialog.dismiss();catch(Exceptione)mProgressDialog.dismiss();TextViewcellText=(TextView)findViewById(R.id.cellText);cellText.setText(e.getMessage();Log.e(Error,e.getMessage();p
36、rivateSCellgetCellInfo()throwsExceptionSCellcell=newSCell();TelephonyManagermTelNet=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);GsmCellLocationlocation=(GsmCellLocation)mTelNet.getCellLocation();if(location=null)thrownewException(獲取基站信息失敗);Stringoperator=mTelNet.getNetworkOperator(
37、);intmcc=Integer.parseInt(operator.substring(0,3);intmnc=Integer.parseInt(operator.substring(3);intcid=location.getCid();intlac=location.getLac();cell.MCC=mcc;cell.MNC=mnc;cell.LAC=lac;cell.CID=cid;returncell;privateSItudegetItude(SCellcell)throwsExceptionSItudeitude=newSItude();HttpClientclient=new
38、DefaultHttpClient();HttpPostpost=newHttpPost();tryJSONObjectholder=newJSONObject();holder.put(version,1.1.0);holder.put(host,);holder.put(address_language,zh_CN);holder.put(request_address,true);holder.put(radio_type,gsm);holder.put(carrier,HTC);JSONObjecttower=newJSONObject();tower.put(mobile_count
39、ry_code,cell.MCC);tower.put(mobile_network_code,cell.MNC);tower.put(cell_id,cell.CID);tower.put(location_area_code,cell.LAC);JSONArraytowerarray=newJSONArray();towerarray.put(tower);holder.put(cell_towers,towerarray);StringEntityquery=newStringEntity(holder.toString();post.setEntity(query);HttpRespo
40、nseresponse=client.execute(post);HttpEntityentity=response.getEntity();BufferedReaderbuffReader=newBufferedReader(newInputStreamReader(entity.getContent();StringBufferstrBuff=newStringBuffer();Stringresult=null;while(result=buffReader.readLine()!=null)strBuff.append(result);JSONObjectjson=newJSONObj
41、ect(strBuff.toString();JSONObjectsubjosn=newJSONObject(json.getString(location);itude.latitude=subjosn.getString(latitude);itude.longitude=subjosn.getString(longitude);Log.i(Itude,itude.latitude+itude.longitude);catch(Exceptione)Log.e(e.getMessage(),e.toString();thrownewException(獲取經(jīng)緯度出現(xiàn)錯(cuò)誤:+e.getMes
42、sage();finallypost.abort();client=null;returnitude;privateStringgetLocation(SItudeitude)throwsExceptionStringresultString=;StringurlString=String.format(,%s,itude.latitude,itude.longitude);Log.i(URL,urlString);HttpClientclient=newDefaultHttpClient();HttpGetget=newHttpGet(urlString);tryHttpResponsere
43、sponse=client.execute(get);HttpEntityentity=response.getEntity();BufferedReaderbuffReader=newBufferedReader(newInputStreamReader(entity.getContent();StringBufferstrBuff=newStringBuffer();Stringresult=null;while(result=buffReader.readLine()!=null)strBuff.append(result);resultString=strBuff.toString();if(resultString!=null&resultString.length()0)JSONObjectjsonobject=newJSONObject(resultString);JSONArrayjsonArray=newJSONArray(jsonobject.get(Placemark).toString();resultString=;for(inti=0;ijsonArray.length();i+)resultString=jsonArray.getJSONObject(i).getString(address);catch(Exceptione)th
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源招聘及管理服務(wù)合同
- 團(tuán)隊(duì)建設(shè)拓展活動(dòng)設(shè)計(jì)與執(zhí)行方案書(shū)
- 生產(chǎn)流程標(biāo)準(zhǔn)化與智能制造試點(diǎn)項(xiàng)目
- 游戲語(yǔ)音交互系統(tǒng)研發(fā)與測(cè)試維護(hù)協(xié)議
- 經(jīng)典革命故事觀后感
- 游戲娛樂(lè)產(chǎn)業(yè)游戲開(kāi)發(fā)與運(yùn)營(yíng)策略規(guī)劃
- 數(shù)學(xué)思維在生活中的運(yùn)用解讀
- 企業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略及實(shí)施路徑
- 泰安擋水圍堰施工方案
- 2024賓館加盟特許經(jīng)營(yíng)合同(24篇)
- 2025公司資產(chǎn)劃轉(zhuǎn)合同
- 2024-2030年中國(guó)鋁汽車緊固件行業(yè)銷售規(guī)模與盈利前景預(yù)測(cè)報(bào)告
- 2025康復(fù)科年度工作計(jì)劃
- 廣東省清遠(yuǎn)市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)物理試題(解析版)
- 拼圖行業(yè)未來(lái)五年前景展望
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)上冊(cè)期末檢測(cè)試卷(含答案)
- 廣西玉林市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版質(zhì)量測(cè)試(上學(xué)期)試卷及答案
- 《外盤(pán)期貨常識(shí)》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)保科工作總結(jié)
- 2024-2025學(xué)年譯林版八年級(jí)英語(yǔ)上學(xué)期重點(diǎn)詞匯短語(yǔ)句子歸納【考點(diǎn)清單】
評(píng)論
0/150
提交評(píng)論