第二節(jié)課代碼加入后出錯
不知道為什么,第一節(jié)內(nèi)容完全正確,但是第二節(jié)課代碼加上以后,跳到這個頁面,每次都閃退回我程序的主界面。提示信息是couldn't find the class 'com.baidu.location.LocationClient',但是我明明引入了???誰能解答下。??
不知道為什么,第一節(jié)內(nèi)容完全正確,但是第二節(jié)課代碼加上以后,跳到這個頁面,每次都閃退回我程序的主界面。提示信息是couldn't find the class 'com.baidu.location.LocationClient',但是我明明引入了???誰能解答下。??
2016-03-24
舉報
2016-07-04
我找到了liblocSDK6a.jar并成功添加了 但是還是不行 還是閃退
2016-07-04
liblocSDK6a.jar包到底在哪里下載啊 找不到啊 真是急死人了 弄了十多天了就是弄不出來.
2016-07-04
我加入了那個liblocSDK6a.so后還是不行反而報錯
:求解決??!
2016-03-24
不好意思,你能幫忙運一下嗎
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.model.LatLng;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.widget.Toast;
public class MainActivity extends Activity {
MapView mMapView = null;
private BaiduMap mBaiduMap;
//定位相關(guān)
private LocationClient mLocationClient;
private MyLocationListener mLocationListener;
private boolean isFirstIn = true;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState)?
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//在使用SDK各組件之前初始化context信息,傳入ApplicationContext ?
? ? ? ? //注意該方法要再setContentView方法之前實現(xiàn) ?
? ? ? ? SDKInitializer.initialize(getApplicationContext());//添加包
setContentView(R.layout.activity_main);
this.context = this;
initView();
initLocation();
}
private void initLocation() {
mLocationClient = new LocationClient(this);
mLocationListener = new MyLocationListener();
mLocationClient.registerLocationListener(mLocationListener);
LocationClientOption option = new LocationClientOption();
option.setCoorType("bd09ll");
option.setIsNeedAddress(true);
option.setOpenGps(true);
option.setScanSpan(1000);
mLocationClient.setLocOption(option);
}
private void initView() {
mMapView=(MapView)findViewById(R.id.id_bmapView);
mBaiduMap = mMapView.getMap();
MapStatusUpdate msu=MapStatusUpdateFactory.zoomTo(15.0f);//放大至500米
mBaiduMap.setMapStatus(msu);
}
@Override ?
? ? protected void onDestroy() { ?
? ? ? ? super.onDestroy(); ?
? ? ? ? //在activity執(zhí)行onDestroy時執(zhí)行mMapView.onDestroy(),實現(xiàn)地圖生命周期管理 ?
? ? ? ? mMapView.onDestroy(); ?
? ? } ?
? ? @Override ?
? ? protected void onResume() { ?
? ? ? ? super.onResume(); ?
? ? ? ? //在activity執(zhí)行onResume時執(zhí)行mMapView. onResume (),實現(xiàn)地圖生命周期管理 ?
? ? ? ? mMapView.onResume(); ?
? ? ? ? } ?
? ? protected void onStart()
{
super.onStart();
// 開啟定位
mBaiduMap.setMyLocationEnabled(true);
if (!mLocationClient.isStarted())
mLocationClient.start();
}
? ? @Override ?
? ? protected void onPause() { ?
? ? ? ? super.onPause(); ?
? ? ? ? //在activity執(zhí)行onPause時執(zhí)行mMapView. onPause (),實現(xiàn)地圖生命周期管理 ?
? ? ? ? mMapView.onPause(); ?
? ? ? ? } ?
? ? protected void onStop()
{
super.onStop();
// 停止定位
mBaiduMap.setMyLocationEnabled(false);
mLocationClient.stop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.id_map_common:
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
break;
case R.id.id_map_site:
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
break;
case R.id.id_map_traffic:
if (mBaiduMap.isTrafficEnabled())
{
mBaiduMap.setTrafficEnabled(false);
item.setTitle("實時交通(off)");
} else
{
mBaiduMap.setTrafficEnabled(true);
item.setTitle("實時交通(on)");
}
? ? ? ? ?}
return super.onOptionsItemSelected(item);
}
private class MyLocationListener implements BDLocationListener
{
@Override
public void onReceiveLocation(BDLocation location) {
MyLocationData data = new MyLocationData.Builder()//
.accuracy(location.getRadius())//
.latitude(location.getLatitude())//
.longitude(location.getLongitude())//
.build();
mBaiduMap.setMyLocationData(data);
if (isFirstIn)
{
LatLng latLng = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);
mBaiduMap.animateMapStatus(msu);
isFirstIn = false;
Toast.makeText(context, location.getAddrStr(),Toast.LENGTH_SHORT).show();
}
}
}
}
看看哪里出錯了,謝謝,我都好幾天了
2016-03-24
我的也是這樣,下載到手機上就不能運行,第一節(jié)可以顯示,我還是不行
2016-03-24
現(xiàn)在終于解決了,是要再下載一個locSDK4.2 .JAR引入到項目中去,并右鍵build path添加。但是我就是不懂,我之前下載百度地圖API時明明選擇了“定位功能”的。而且項目中也有相應的.so文件(但是沒有.jar文件)。 而且編譯時也沒有紅色下劃線。只在運行時報錯說無法找到LocationClient的類。希望有同樣問題的同學,可以借鑒。(PS:我困惑并調(diào)試了整整一天)