导入无法解决

axm*_*mug 5 android

我有一个带有几个导入的活动类,但其中一些在Eclipse中无法识别.我看到无法解析错误导入类名.

那是我的代码:

package com.ap.mapa;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;


public class MapaLugaresActivity extends Activity {

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


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.mapa_lugares, menu);
    return true;
}

}
Run Code Online (Sandbox Code Playgroud)

每个导入com.google.android.gms.maps中都存在错误.如果我输入另一个类作为import android.content.Context; 没有错误.

我该如何解决这些问题?

谢谢.

Vng*_*nge 28

确保您使用的api版本是Google API以及安装了Google Play服务

Google Play服务

  • 打开SDK Manager,滚动到底部,展开"Extras",选择"Google Play Services",接受并下载.

  • 安装完成后,将其导入工作区

    • 导入 - >项目 - > Android - >现有Android代码到Workspace,检查复制到工作区并浏览到你的android sdk文件夹所在的位置:<android sdk folder>/extras/google/google_play_services/libproject/google-play-services_lib
    • 命中完成

项目

  • 转到项目属性,单击Android,单击Google API
  • 修改构建路径,包括最近添加的罐子(谷歌播放服务,lib.jar)位于谷歌播放服务-lib的项目的bin目录下]
  • 您需要确保您的应用已在Google注册
    • 记下此应用的包名称
    • 为了在谷歌注册,您需要验证<android_sdk> .android下的SHA1证书指纹作为debug.keystore
    • 打开一个cmd窗口(我假设您正在使用Windows)浏览到C:\ Program Files\Java\<JDK版本>或安装java的地方输入此命令以获取SHA1指纹:
    • keytool -list -v -keystore"C:\ Program Files(x86)\ Android\android-sdk.android\debug.keystore"-alias androiddebugkey -storepass android -keypass android
      • 引用路径(需要引号)是密钥库的路径
      • 右键单击"标记"突出显示"SHA1:"后输入要复制的文本

Google API控制台 因此,复制了SHA1指纹后,您需要转到https:\ code.google.com/apis/console

  • 在"Google apis"下,点击下拉菜单并点击"创建",根据需要为API项目命名.
    • 现在应该弹出服务,向下滚动到"Google Maps API v2或v3"和"Google Maps Android API v2",单击其中一个切换
    • 点击左侧的API Access,进入"创建新的Android密钥"屏幕
    • 还记得SHA1:你复制的指纹吗?将其粘贴到出现的两个<SHA1指纹文本>; <package_name,如前所述>

回到项目

回到项目中

  • 转到AndroidManifest.xml

    • 将这些权限添加到清单:

    • 确保使用您自己的包名称而不是com.example.androidmapsv2 <permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission> <uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/>

    • 在<application >标记下,在其下添加:

    • <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="PASTE YOUR SHA1 CERTIFICATE KEY HERE"/>

      • 其中值来自SHA1指纹上方的api控制台

它很多,我意识到,但这就是我使用地图的方式