欢迎来到天天文库
浏览记录
ID:37909473
大小:73.50 KB
页数:9页
时间:2019-06-02
《android关于地图拍照上传项目的一些总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://www.apkbus.com/android-19206-1-1.html这个项目是为某个运动品牌商店定做,一开始就是十分吸引我的。因为它的功能点十分普遍,所以如果我完成了这个项目,自然会沉淀下来一些功能代码,项目框架,和相关的经验,以方便日后使用。首先它是款地图应用,可以获得所有商店,在地图上以小图钉的方式呈现。然后要支持查找用户当前的位置,进入某个商店,查看里面的商店信息和店内的视频和照片,支持拍照,录制视频并上传,也可以进行评论。用户也可自己添加,编辑,删除商店。功能点就是这些,算是个小项目,为期也就3周时间,但是由于一些新东西没有接触过,所以还是需要总结一下
2、这次遇到的问题。1.注册MAPKEY这个是众所周知的,可以理解为不同的开发电脑有不同的debug.keystore文件,所以需要对应不同的MAPKEY。这只是限于开发,发布APK不会影响。keytool-list-aliasandroiddebugkey-keystoreC:DocumentsandSettingsuser.androiddebug.keystore这个keytool是java/bin环境下的然后得到MD5值后再去http://code.google.com/android/maps-api-signup.html点击打开链接验证获得KEY就行了2.这次项
3、目结构很清晰,吸取以往的经验,告别application这个类.之前的项目就是把很多需要传递的数据装在application里面,包括activity之间的数据传递,我都完全没有使用intent传递(觉得序列化很麻烦)然后getApplication满天飞,数据管理起来非常混乱,各种未知的数据不同步的bug.这次发现Parcelable序列化接口蛮好用的只需要实现以下几个方法就好,逻辑很清晰1.@Override2. publicintdescribeContents(){3. //TODOAuto-generatedmethodstub4. return0
4、;5. }6.7. @Override8. publicvoidwriteToParcel(Parceldest,intflags){ 9. //把你想序列化的数据都写进去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){ //根据你上面写的数据,再读出来重新生成,注意是新的对象生成,类似深度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. };复制代码3.既然用到了intent传递数据,这次也用到一个十分方便的方法startActi
此文档下载收益归作者所有