我尝试将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无法应用于给定类型;必需:字符串,找到的上下文: 字符串原因:实际参数和形式参数列表的长度不同
答案 0 :(得分:3)
您的控制台中有3个错误。
第一:
onCreate已经定义
您有两次onCreate
方法,请删除第二种方法。
第二:
方法registerLicense无法应用于给定的参数,需要String&Context,找到String
看起来MapView.registerLicense
应该带有字符串和上下文,即MapView.registerLicense(LICENSE, this);
第三名:
找不到符号变量main
最后,您在使用R.layout.main
(XML布局文件的名称)时使用R.layout.activity_main
。
专业提示-任何在其下带有红线的地方都是不好的,除非您修复了错误并使红线消失之后,您的应用才能运行/运行/编译。