Mapbox 应用程序在启动时崩溃

Mapbox Application crashes while launching

我正在尝试创建一个显示地图视图的简单地图框应用程序。调试时没有显示具体错误,但应用程序在启动时崩溃 itself.Here 是我创建的 .java 文件。

public class MainActivity extends AppCompatActivity {

private MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Mapbox.getInstance(this,String.valueOf(R.string.access_token));

    setContentView(R.layout.activity_main);
    mapView=(MapView)findViewById(R.id.mapView);
    mapView.onCreate(savedInstanceState);

    mapView.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(MapboxMap mapboxMap) {

        }
    });
}

@Override
protected void onStart() {
    super.onStart();
    mapView.onStart();
}

@Override
protected void onResume() {
    super.onResume();
    mapView.onResume();
}

@Override
protected void onPause() {
    super.onPause();
    mapView.onPause();
}
}

这是我的 .xml 文件

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:mapbox="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
tools:context="com.example.logusubramaniyan.choropleth1.MainActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
<com.mapbox.mapboxsdk.maps.MapView
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    mapbox:mapbox_cameraTilt="20"
    mapbox:mapbox_cameraZoom="12"/>
</LinearLayout>

我不明白为什么 activity 在模拟器或任何 device.Any 想法上 运行 时无法启动?

这是我的 StackTrace 结果。

致命异常:主要 过程:com.example.logusubramaniyan.choropleth1,PID:17191 java.lang.RuntimeException: 无法启动 activity ComponentInfo{com.example.logusubramaniyan.choropleth1/com.example.logusubramaniyan.choropleth1.MainActivity}: android.view.InflateException: 二进制 XML 文件行 #16:二进制 XML 文件行 #16:膨胀错误 class com.mapbox.mapboxsdk.maps.MapView 在 android.app.ActivityThread.performLaunchActivity

试着把这条线

 Mapbox.getInstance(this,String.valueOf(R.string.access_token));

在 setContentView 行之后检查。

尝试添加访问令牌以在这样的布局中查看: mapbox:access_token="access_token"

String.valueOf() 没有正确地将其转换为字符串值,因此无法正确读取访问令牌。

尝试直接粘贴访问令牌而不是给它 R.string.something。

你的问题应该已经解决了。

为了支持@aadhil 的回答,

尝试调整这条线

String.valueOf(R.string.access_token)

this.getResources().getString(R.string.access_token)