此次项目中,使用了很多东西,捡一些印象深刻的来说。
一、大量地使用Android百度地图SDK进行开发,主要用到这些。
1、地理编码(正向编码和反向编码):
接口、类
com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener
com.baidu.mapapi.search.geocode.GeoCoder
com.baidu.mapapi.search.geocode.GeoCodeResult
com.baidu.mapapi.search.geocode.GeoCodeOption
com.baidu.mapapi.search.geocode.ReverseGeoCodeResult
com.baidu.mapapi.search.geocode.ReverseGeoCodeOption
初始化、监听
= GeoCoder.().setOnGetGeoCodeResultListener()
实现方法
(GeoCodeResult result) { (result == || result.!= SearchResult.ERRORNO.) { Toast.(getActivity()Toast.) .show()} .clear().addOverlay(MarkerOptions().position(result.getLocation()).icon(BitmapDescriptorFactory.(R.mipmap.))).setMapStatus(MapStatusUpdateFactory.(result .getLocation()))= result.getLocation().= result.getLocation().((.getInt())%!=) { Toast.(getActivity()+ + + + Toast.).show()}}(ReverseGeoCodeResult result) { (result == || result.!= SearchResult.ERRORNO.) { Toast.(getActivity()Toast.) .show()} .clear().addOverlay(MarkerOptions().position(result.getLocation()).icon(BitmapDescriptorFactory.(R.mipmap.))).setMapStatus(MapStatusUpdateFactory.(result .getLocation()))= result.getAddress().setText()= result.getLocation().= result.getLocation().((.getInt())%!=) { Toast.(getActivity()+ + + + Toast.).show()}}
2、隐藏百度地图SDK自带的放大缩小按钮,并且设置自定义的放大缩小按钮
(MapView mapView) { childCount = mapView.getChildCount()View zoom = (i = i < childCounti++) { View child = mapView.getChildAt(i)(child ZoomControls) { zoom = child} } zoom.setVisibility(View.)}
.setOnClickListener(View.OnClickListener() { (View v) { zoomLevel = .getMapStatus().(zoomLevel <= ) { .setMapStatus(MapStatusUpdateFactory.()).setEnabled()} { .setEnabled()Toast.(getActivity()Toast.).show()} }}).setOnClickListener(View.OnClickListener() { (View v) { zoomLevel = .getMapStatus().(zoomLevel > ) { .setMapStatus(MapStatusUpdateFactory.()).setEnabled()} { .setEnabled()Toast.(getActivity()Toast.).show()} }})
3、使用建议搜索
接口、类
com.baidu.mapapi.search.sug.OnGetSuggestionResultListener
com.baidu.mapapi.search.sug.SuggestionSearch
com.baidu.mapapi.search.sug.SuggestionResult
com.baidu.mapapi.search.sug.SuggestionSearchOption
建议搜索入口:
.requestSuggestion((SuggestionSearchOption()) .keyword(s.toString()).city(s.toString()))
回调方法:
onGetSuggestionResult
3、路线规划
接口、类
com.baidu.mapapi.search.route.OnGetRoutePlanResultListener
com.baidu.mapapi.search.core.RouteLine
com.baidu.mapapi.search.core.SearchResult
com.baidu.mapapi.search.route.DrivingRouteLine
com.baidu.mapapi.search.route.DrivingRoutePlanOption
com.baidu.mapapi.search.route.DrivingRouteResult
com.baidu.mapapi.search.route.PlanNode
com.baidu.mapapi.search.route.RoutePlanSearch
com.baidu.mapapi.search.route.TransitRouteLine
com.baidu.mapapi.search.route.TransitRoutePlanOption
com.baidu.mapapi.search.route.TransitRouteResult
com.baidu.mapapi.search.route.WalkingRouteLine
com.baidu.mapapi.search.route.WalkingRoutePlanOption
com.baidu.mapapi.search.route.WalkingRouteResult
路线规划分为驾车规划、公交换乘规划、步行规划
主要还是两步:一、规划入口;二、方法回调
.drivingSearch((DrivingRoutePlanOption()) .from(stNode) .to(enNode))
.transitSearch((TransitRoutePlanOption()) .from(stNode) .city() .to(enNode))
.walkingSearch((WalkingRoutePlanOption()) .from(stNode) .to(enNode))
onGetWalkingRouteResult
onGetTransitRouteResult
onGetDrivingRouteResult
当然,如果需要改变起点和终点的图标,还要定制RouteOverly
二、使用ShareSdk进行社会化分享
使用ShareSdk进行社会化分享,分享到新浪微博、QQ空间、微信好友、微信朋友圈、QQ、信息。
三、
SharedPreferences
的使用
四、SqLite的各种灵活使用
五、WebView的使用
1、获取
WebView webView = (WebView) findViewById(R.id.webView);
2、webView加载web资源或者本地资源
webView.loadUrl("
3、覆盖webView默认使用第三方或系统默认浏览器打开网页的行为,使网页webView打开
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;//返回值是true时控制WebView打开,为false调用系统浏览器或第三方浏览器打开
}
});
}
等等
六、还有很多比较碎但又很重要的东西,这里就不说了。