当前位置: 首页 > 知识库问答 >
问题:

android google maps中的空指针异常

毋树
2023-03-14

我试图将谷歌地图添加到我的应用程序。logcat窗口显示此错误:由:java.lang.NullPointerExctive在com.example.mymaps.MainActivity.on创建(MainActivity.java:27)在android.app.Activity.perform创建(Activity.java:5104)在android.app.我nstrumentation.callActivityOn创建(我nstrumentation.java:1080)。

如何删除此错误?

   Main xml:
   <RelativeLayout     
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".MainActivity" >

  <fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.MapFragment" />

 </RelativeLayout>

主Java导入android。应用程序。活动导入android。操作系统。捆导入android。看法菜单

  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 MainActivity extends Activity {
  static final LatLng HAMBURG = new LatLng(53.558, 9.927);
  static final LatLng KIEL = new LatLng(53.551, 9.993);
  private GoogleMap map;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
    .getMap();
     Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
    .title("Hamburg"));
     Marker kiel = map.addMarker(new MarkerOptions()
    .position(KIEL)
    .title("Kiel")
    .snippet("Kiel is cool")
    .icon(BitmapDescriptorFactory
        .fromResource(R.drawable.ic_launcher)));

    // Move the camera instantly to hamburg with a zoom of 15.
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));

    // Zoom in, animating the camera.
   map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
   }

    @Override
   public boolean onCreateOptionsMenu(Menu menu) {
   getMenuInflater().inflate(R.menu.activity_main, menu);
   return true;
   }

  } 

LogCat窗口:

08-13 23:32:27.279:E/AndroidRuntime(1010):致命异常:main 08-13 23:32:27.279:E/AndroidRuntime(1010):java。lang.RuntimeException:无法启动活动组件信息{com.example.mymaps/com.example.mymaps.MainActivity}:java。lang.NullPointerException 08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2180)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2230)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动线程。在android上访问$600(ActivityThread.java:141)08-13 23:32:27.279:E/AndroidRuntime(1010)。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1234)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。操作系统。汉德勒。dispatchMessage(Handler.java:99)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。操作系统。活套。loop(Looper.java:137)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动线程。main(ActivityThread.java:5039)08-13 23:32:27.279:E/AndroidRuntime(1010):在java。朗,反思一下。方法Invokenactive(本机方法)08-13 23:32:27.279:E/AndroidRuntime(1010):在java上。朗,反思一下。方法invoke(Method.java:511)08-13 23:32:27.279:E/AndroidRuntime(1010):在com上。Android内部的操作系统。ZygoteInit$MethodandArgscaler。运行(ZygoteInit.java:793)08-13 23:32:27.279:E/AndroidRuntime(1010):在com上。Android内部的操作系统。合子体。main(zyteinit.java:560)08-13 23:32:27.279:E/AndroidRuntime(1010):在dalvik。系统原生艺术。main(原生方法)08-13 23:32:27.279:E/AndroidRuntime(1010):由java引起。lang.NullPointerException 08-13 23:32:27.279:E/AndroidRuntime(1010):在com上。实例我的地图。主要活动。onCreate(MainActivity.java:27)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动performCreate(Activity.java:5104)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。仪器。callActivityOnCreate(Instrumentation.java:1080)08-13 23:32:27.279:E/AndroidRuntime(1010):在android上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2144)08-13 23:32:27.279:E/AndroidRuntime(1010):。。。还有11个

共有2个答案

濮阳驰
2023-03-14

>

If(gMap!=null)

您是否必须下载标记图标表单URL(或)直接从URL将标记图像添加到标记信息窗口。可以获取网络主线程异常。

解决方案:

onCreate方法中添加以下行

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy);
邹胜泫
2023-03-14

这可能是由于播放服务问题。所以在使用map之前,空检查map对象,这样它就会自动请求在设备中下载map。请尝试并回复

    @Override
       protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
        .getMap();
if(map!=null){
         Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
        .title("Hamburg"));
         Marker kiel = map.addMarker(new MarkerOptions()
        .position(KIEL)
        .title("Kiel")
        .snippet("Kiel is cool")
        .icon(BitmapDescriptorFactory
            .fromResource(R.drawable.ic_launcher)));

        // Move the camera instantly to hamburg with a zoom of 15.
        map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));

        // Zoom in, animating the camera.
       map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
}
       }
 类似资料:
  • 它是从哪里来的?

  • 问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于

  • 我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db

  • 当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几

  • 当你点击btnChangePass,我得到错误。 我有一个错误: FATAL EXCEPTION:主进程:com.company.learn2,PID:18854java.lang.NullPointerExcture atcom.company.learn2。Heslo.change密码(Heslo.java:84)在com.company.learn2。Heslo.on点击(Heslo.jav

  • 问题内容: 我在登录模式提交按钮的单击侦听器中遇到问题。 这是错误。 我对什么是空指针异常有一个合理的了解,并且已经彻底搜索了一个类似于我的问题。我试图以几种方式重新格式化点击侦听器,确保我具有正确的视图ID等。 显然,还有更多但与我认为无关的话题。这是带有按钮的对话框的XML文件。 任何帮助将不胜感激。 问题答案: 是因为它不属于 当你调用内部的,它要寻找一个你的活动的布局中。 试试这个代替:

  • 问题内容: 我需要解析一个Xml文档并将值存储在文本文件中,当我解析普通数据(如果所有标签都包含数据)时,它的工作状况很好,但是如果任何标签中都没有数据,则它会抛出“ NullpointerException”这样做,为避免出现空指针异常,请使用示例代码Sample xml来建议我: 码: 问题答案: 只需检查对象是否不是: