安装carto SDK

时间:2019-01-11 12:01:51

标签: android cartodb

我尝试将carto安装到Android Studio,但出现很多错误。我遵循carto网站(https://carto.com/developers/mobile-sdk/guides/getting-started/#tab-java)的说明。

package com.example.vassilis.goldman_carto;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.carto.layers.CartoBaseMapStyle;
import com.carto.layers.CartoOnlineVectorTileLayer;
import com.carto.ui.MapView;

public class MainActivity extends AppCompatActivity {

    // make sure you replace the String value with the one from carto.com mobile app registration !
    final String LICENSE = "insert license key - hello stackoverflow";

    private MapView mapView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Register the license so that CARTO online services can be used
        MapView.registerLicense(LICENSE);

        // Get 'mapView' object from the application layout
        mapView = (MapView) this.findViewById(R.id.mapView);

        // Add basemap layer to mapView
        CartoOnlineVectorTileLayer baseLayer = new CartoOnlineVectorTileLayer(CartoBaseMapStyle.CARTO_BASEMAP_STYLE_VOYAGER);
        mapView.getLayers().add(baseLayer);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

}
  

错误:类MapView中的方法registerLicense无法应用于给定类型;必需:字符串,找到的上下文:   字符串原因:实际参数和形式参数列表的长度不同

enter image description here

1 个答案:

答案 0 :(得分:3)

您的控制台中有3个错误。

第一:

  

onCreate已经定义

您有两次onCreate方法,请删除第二种方法。

第二:

  

方法registerLicense无法应用于给定的参数,需要String&Context,找到String

看起来MapView.registerLicense应该带有字符串和上下文,即MapView.registerLicense(LICENSE, this);

第三名:

  

找不到符号变量main

最后,您在使用R.layout.main(XML布局文件的名称)时使用R.layout.activity_main


专业提示-任何在其下带有红线的地方都是不好的,除非您修复了错误并使红线消失之后,您的应用才能运行/运行/编译。