這次項目中,使用了不少東西,撿一些印象深入的來講。web
1、大量地使用Android百度地圖SDK進行開發,主要用到這些。api
一、地理編碼(正向編碼和反向編碼):瀏覽器
接口、類微信
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
初始化、監聽ide
= 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()} }
二、隱藏百度地圖SDK自帶的放大縮小按鈕,而且設置自定義的放大縮小按鈕
url
(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()} } })
三、使用建議搜索
code
接口、類接口
com.baidu.mapapi.search.sug.OnGetSuggestionResultListener
com.baidu.mapapi.search.sug.SuggestionSearch
com.baidu.mapapi.search.sug.SuggestionResult
com.baidu.mapapi.search.sug.SuggestionSearchOption
建議搜索入口:
ip
.requestSuggestion((SuggestionSearchOption()) .keyword(s.toString()).city(s.toString()))
回調方法:
onGetSuggestionResult
三、路線規劃
接口、類
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
路線規劃分爲駕車規劃、公交換乘規劃、步行規劃
主要仍是兩步:1、規劃入口;2、方法回調
.drivingSearch((DrivingRoutePlanOption()) .from(stNode) .to(enNode))
.transitSearch((TransitRoutePlanOption()) .from(stNode) .city() .to(enNode))
.walkingSearch((WalkingRoutePlanOption()) .from(stNode) .to(enNode))
onGetWalkingRouteResult
onGetTransitRouteResult
onGetDrivingRouteResult
固然,若是須要改變起點和終點的圖標,還要定製RouteOverly
2、使用ShareSdk進行社會化分享
使用ShareSdk進行社會化分享,分享到新浪微博、QQ空間、微信好友、微信朋友圈、QQ、信息。
3、
SharedPreferences
的使用
4、SqLite的各類靈活使用
5、WebView的使用
一、獲取
WebView webView = (WebView) findViewById(R.id.webView);
二、webView加載web資源或者本地資源
webView.loadUrl("http://www.baidu.com");
三、覆蓋webView默認使用第三方或系統默認瀏覽器打開網頁的行爲,使網頁webView打開
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;//返回值是true時控制WebView打開,爲false調用系統瀏覽器或第三方瀏覽器打開
}
});
}
等等
6、還有不少比較碎但又很重要的東西,這裏就不說了。