2 zk930502 zk930502 于 2016.02.25 11:16 提问

【新手求助】安卓 利用百度地图定位 5C

import java.util.List;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;

import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private Button bt;
private TextView tv_coordinate;
private TextView tv_city;
private String provider;
private LocationManager locationManager;
private LocationClient locationClient = null;
private LocationClientOption option;

// private BDLocationListener bdLocationListener;

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);

    tv_coordinate = (TextView)findViewById(R.id.textView1);
    tv_city = (TextView)findViewById(R.id.textView2);
    bt = (Button)findViewById(R.id.button1);
    locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

    bt.setOnClickListener(new OnClickListener() 
    {
        public void onClick(View v) 
        {

        }
    });
    //坐标
    List<String> providerList = locationManager.getProviders(true);

    if(providerList.contains(LocationManager.GPS_PROVIDER))
    {
        provider = LocationManager.GPS_PROVIDER;
    }else if(providerList.contains(LocationManager.NETWORK_PROVIDER))
    {
        provider = LocationManager.NETWORK_PROVIDER;
    }else
    {
        Toast.makeText(MainActivity.this, "No Location provider",
                Toast.LENGTH_SHORT).show();
        return;
    }
    Location location = locationManager.getLastKnownLocation(provider);
    if(location != null)
    {
        showLocation(location);
    }
    locationManager.requestLocationUpdates(provider, 5000,
            10, locationListener);

    //城市名
    locationClient = new LocationClient(getApplicationContext());
    locationClient.registerLocationListener(bdLocationListener);
    option.setCoorType("all");
    option.setOpenGps(true);
    BDLocation bdLocation = locationClient.getLastKnownLocation();
    if(bdLocation != null)
    {
        showBDlocation(bdLocation);
    }
    locationClient.registerNotifyLocationListener(bdLocationListener);
    locationClient.requestLocation();
    locationClient.requestNotifyLocation();

}

protected  void onDestroy()
{
    super.onDestroy();
    if(locationManager != null)
    {
        locationManager.removeUpdates(locationListener);
    }
}

LocationListener locationListener = new LocationListener() 
{
    public void onStatusChanged(String provider, int status, Bundle extras) 
    {

    }
    public void onProviderEnabled(String provider) 
    {

    }
    public void onProviderDisabled(String provider) 
    {

    }
    public void onLocationChanged(Location location) 
    {
        showLocation(location);
    }
};

public void showLocation(Location location)
{
    String coordinate = "纬度:" + location.getLatitude() + "\n" + "经度:" + location.getLongitude();
    tv_coordinate.setText(coordinate);
}

BDLocationListener bdLocationListener = new BDLocationListener() 
{
    public void onReceiveLocation(BDLocation bdlocation) 
    {
        showBDlocation(bdlocation);
    }
};

public void showBDlocation(BDLocation bdLocation)
{
    String city = bdLocation.getCity();
    tv_city.setText(city);
}

}

运行报错java.lang.NoClassDefFoundError: com.zk.dddd.MainActivity$2

求帮助解决错误
想知道怎么能定位出当前城市

7个回答

mengyin521
mengyin521   2016.02.25 11:19

直接按SDK 中的 DEMO 来阿!

luochoudan
luochoudan   Ds   Rxr 2016.02.25 11:22

com.zk.dddd.MainActivity,类没有找到,clean一下试试,建议你先把demo跑一下,看懂,然后再修改不耽误功夫。

qq_27665781
qq_27665781   Rxr 2016.02.25 11:46

直接把demo复制过来算了

VNanyesheshou
VNanyesheshou   2016.02.25 13:09

MainActivity没有在清单文件中配置,你看看AndroidManifest.xml文件。
百度demo http://blog.csdn.net/vnanyesheshou/article/details/49924237

Acmen99
Acmen99   2016.02.25 19:54

和demo对比一下,看看是不是少了什么?多研究研究demo!

Leo1208
Leo1208   2016.02.25 23:34

你看下你的activity有没有在清单文件上注册啊

bao970583267
bao970583267   2016.02.26 17:19

去百度开发平台看文档,一步一步来就出来了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android开发之实现百度地图定位功能
之前写了一篇高德地图定位的,现在写一篇百度的。 关于百度开放平台的注册、SDK的下载和申请APK就不说了,和高德的差不多。那就进入正题,看看如何使用百度地图SDK实现定位功能吧。1. 配置环境 导入需要的jar包和so库文件 百度地图SDK点击下载 百度地图定位SDK点击下载 下载完成解压,将需要的jar和so导入到项目中,如图: jar包要在lib文件夹下,so文件要在新建文件夹ar
AndroidStudio 中使用 百度地图 <三> 百度地图的定位的集成和使用,个人摘要
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/v5-0
android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)
一、吐槽 在百度地图看了几个小时的教程,发现种种问题,很大部分是百度对于定位API 网页上的DEMO代码一大堆错误!这极可能是定位SDK升级后而网页上的DEMO部分代码沿用旧版导致的。 错误1: 在该示例中取了个变量叫mLocationClient,后面居然叫mLocClient,我找了半天,说这变量哪来的呢 错误2: 这个错误是最致命的,在网页上的DEMO(开发指南)里
Android用百度地图实现定位
在目前软件市场上,大部分app都有定位功能,定位功能主要定位到用户当前的城市从而去加载所在地的商品信息或城市信息等。 其实,定位功能很简单,百度地图官方也提供了相关文档,只要按照官方的文档一步一步做,肯定会实现,我在这里单独写博客,只是为了初次接触百度地图的参考参考.定位得到的信息如下: 首先,先要在项目中导入定位的相关SDK和相关的库,在这里比较容易遗漏的就是相关库未导入项目。 在相关配置完
Android百度地图定位demo
AS写的百度地图定位demo 先上效果图
百度地图定位
获取当前位置,选用百度地图定位, 利用百度地图定位到省市区信息,
Android使用百度地图的SDK获取定位
一、获取百度地图SDK的key,按照说明自己填写。http://lbsyun.baidu.com/index.php?title=androidsdk注意:使用Android studio时,获取SHA1时会有不同,需要自己尝试解决,这里的key分为开发和发布的key。 二、配置相关的jar和.so文件 注意这里两个文件中的.so文件,一个都不能说少,否则问题会各种各样。 三、定位时注意各
安卓之地图----百度地图实现及简单的定位
获取密钥; 点击打开链接http://lbsyun.baidu.com/index.php?title=androidsdk  配置环境; 点击打开链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/buildproject  SDK下载 点击打开链接http://lbsyun.baidu.com/sdk/do
Android 百度地图简单定位
百度地图    首先按官方文档上的步骤做: 下载官方的文档,导jar包,我是用的eclipse做的, 在AndroidManifest中添加开发密钥、所需权限等信息; (1)在application中添加开发密钥 application> meta-data android:name="com.baidu.lbsapi.API_KEY"
Android之百度地图定位最详细使用总结
Android之百度定位                         如果项目里面有定位功能的话,一般还是觉得蛮高大上的,我们项目用的百度定位,到网上找了很多资料,很多都不全面,很多博客都没有小伙伴期望得到当前的省和城市出来,然后自己动手也有很多错误,不知道错在哪里,也在网上找为什么错了,最终还是一一解决,不废话,先爆结果照片, 我们在Logcat里面可以得到当前的省份,城市,经纬