資源描述:
《android關(guān)于地圖拍照上傳項目的一些總結(jié)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、http://www.apkbus.com/android-19206-1-1.html這個項目是為某個運動品牌商店定做,一開始就是十分吸引我的。因為它的功能點十分普遍,所以如果我完成了這個項目,自然會沉淀下來一些功能代碼,項目框架,和相關(guān)的經(jīng)驗,以方便日后使用。首先它是款地圖應(yīng)用,可以獲得所有商店,在地圖上以小圖釘?shù)姆绞匠尸F(xiàn)。然后要支持查找用戶當(dāng)前的位置,進入某個商店,查看里面的商店信息和店內(nèi)的視頻和照片,支持拍照,錄制視頻并上傳,也可以進行評論。用戶也可自己添加,編輯,刪除商店。功能點就是這些,算是個小項目,為期也就3周時間,但是由于一些新東西沒有接觸過,所以還是需要總結(jié)一下
2、這次遇到的問題。1.注冊MAPKEY這個是眾所周知的,可以理解為不同的開發(fā)電腦有不同的debug.keystore文件,所以需要對應(yīng)不同的MAPKEY。這只是限于開發(fā),發(fā)布APK不會影響。keytool-list-aliasandroiddebugkey-keystoreC:DocumentsandSettingsuser.androiddebug.keystore這個keytool是java/bin環(huán)境下的然后得到MD5值后再去http://code.google.com/android/maps-api-signup.html點擊打開鏈接驗證獲得KEY就行了2.這次項
3、目結(jié)構(gòu)很清晰,吸取以往的經(jīng)驗,告別application這個類.之前的項目就是把很多需要傳遞的數(shù)據(jù)裝在application里面,包括activity之間的數(shù)據(jù)傳遞,我都完全沒有使用intent傳遞(覺得序列化很麻煩)然后getApplication滿天飛,數(shù)據(jù)管理起來非常混亂,各種未知的數(shù)據(jù)不同步的bug.這次發(fā)現(xiàn)Parcelable序列化接口蠻好用的只需要實現(xiàn)以下幾個方法就好,邏輯很清晰1.@Override2.??publicintdescribeContents(){3.??????//TODOAuto-generatedmethodstub4.??????return0
4、;5.??}6.7.??@Override8.??publicvoidwriteToParcel(Parceldest,intflags){??????????9.??????//把你想序列化的數(shù)據(jù)都寫進去10.??????dest.writeDouble(gp.getLatitudeE6());11.??????dest.writeDouble(gp.getLongitudeE6());12.??????dest.writeInt(isTemp?1:0);13.??????dest.writeInt(isEdit?1:0);1.??????dest.writeSerializa
5、ble(storeBean);2.??}3.4.??publicstaticfinalParcelable.CreatorCREATOR=newParcelable.Creator(){5.??????publicStoreOverlaycreateFromParcel(Parcelin){????????????????//根據(jù)你上面寫的數(shù)據(jù),再讀出來重新生成,注意是新的對象生成,類似深度clone6.????????doublemLat=in.readDouble();7.????????doublemLon=in.re
6、adDouble();8.????????booleanisTemp=in.readInt()==1?true:false;9.????????booleanisEdit=in.readInt()==1?true:false;10.????????StoreBeanstoreBean=(StoreBean)in.readSerializable();11.????????GeoPointgp=newGeoPoint((int)mLat,(int)mLon);12.????????StoreOverlaystoreOverlay=newStoreOverlay(gp,storeBe
7、an,isTemp);13.????????storeOverlay.setEdit(isEdit);14.????????returnstoreOverlay;15.??????}16.17.??????publicStoreOverlay[]newArray(intsize){18.????????returnnewStoreOverlay[size];19.??????}20.??};復(fù)制代碼3.既然用到了intent傳遞數(shù)據(jù),這次也用到一個十分方便的方法startActi