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

Android CursorWrapperInner游标最终完成而没有事先关闭()

公冶才
2023-03-14

这阻止了我在nexus设备上启动应用程序。我不知道为什么我会得到这个错误,因为我没有游标在我的代码。我正在做一个应用程序,使用谷歌地图。我不知道这是不是问题的一部分。没有错误消息,并且导入了所有正确的库。

下面是我的代码:

package com.example.gpstracking;


import java.util.List;
import java.util.Locale;
import android.app.Activity;
import android.content.Context;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

public class MainActivity extends MapActivity  {

private long lastUpdate; 
private long lastUpdate2;
float epsilon = 0.0001f;
private TextView aTextView;
private TextView mTextView;


Location mLocation;
LocationListener mLocationListener;
LocationManager mLocationManager;
TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    MapView mapView = (MapView) findViewById(R.id.map1);
    tv = (TextView) findViewById(R.id.tv1);

    lastUpdate = System.currentTimeMillis();


    mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();;
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    String locationprovider = mLocationManager.getBestProvider(criteria,true);
    mLocation = mLocationManager.getLastKnownLocation(locationprovider);




     mLocationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
                if(location != null)
                {

                    tv.setText("Latitude:" + " " + Double.toString(location.getLatitude()) + " " + "degrees" + "<br>"); 
                    tv.setText("Longitude:" + " " + Double.toString(location.getLongitude()) + " " + "degrees"); 

                }



         }


               @Override
               public void onStatusChanged(String provider, int status,
                       Bundle extras) {
               }

               public void onProviderEnabled(String provider) {
               }

               public void onProviderDisabled(String provider) {
               }

          };
        mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 1, mLocationListener);
}

@Override
public void onPause(){

    super.onPause();
    mLocationManager.removeUpdates(mLocationListener);
} 

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

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}
}

她是原木猫:

10-06 08:49:27.642: D/dalvikvm(2264): GC_FOR_ALLOC freed 247K, 4% free 7742K/8052K,   paused 32ms, total 33ms
10-06 08:49:27.652: W/CursorWrapperInner(2264): Cursor finalized without prior close()
10-06 08:49:27.682: W/dalvikvm(2264): VFY: unable to resolve static field 1355   (MapAttrs) in Lcom/google/android/gms/R$styleable;
10-06 08:49:27.682: D/dalvikvm(2264): VFY: replacing opcode 0x62 at 0x000e
10-06 08:49:27.682: D/AndroidRuntime(2264): Shutting down VM
10-06 08:49:27.682: W/dalvikvm(2264): threadid=1: thread exiting with uncaught exception     (group=0x41a5e700)
10-06 08:49:27.692: E/AndroidRuntime(2264): FATAL EXCEPTION: main
10-06 08:49:27.692: E/AndroidRuntime(2264): java.lang.NoClassDefFoundError:   com.google.android.gms.R$styleable

共有1个答案

陶朝明
2023-03-14

问题与CursorWrapperInner无关,而是java.lang.NoClassDefoundError:com.google.android.gms.r$styleable。

问题是Google Service SDK。确保您已经正确地导入了它(project而不仅仅是jar),并在Manifest中注册,如果使用FragmentAvtivity则使用SupportFragmentManager

阅读:Google map API v2

 类似资料:
  • 问题内容: 我在运行Jellybean(4.1-4.3)的设备中遇到HttpUrlConnection的一些问题,其中连接未关闭,并且执行多次后导致SocketException“打开的文件过多”。 我确实调用了HttpUrlConnection.disconnect()并在finally块中关闭了所有Inputstream,Outputstream,Reader和Writers。 转到adb s

  • 问题内容: 我的一个朋友在几天的电话面试中被问到这个问题。我没有头绪 有人可以提出解决方案吗?(他的工作面试已经结束。现在只是出于好奇)10倍。 问题答案: 将构造函数标记为私有 在类上提供静态方法以创建类的实例。这将允许您实例化该类的对象

  • 问题内容: 我正在尝试在32位Linux上使用LiteIDE(Go IDE)。除自动完成功能外,其他所有功能均可用。构建,运行,一切正常。该二进制文件似乎正在运行: 我可能做错了什么? 问题答案: 您可能需要设置GOROOT =。要在LiteIDE中进行设置,请寻找环境工具栏;它应该是一个下拉列表,可能已预先选择了“系统”和一个按钮。单击按钮以显示“编辑环境”窗格,然后双击“ system.env

  • 我在ExecutorService中有一些可运行的线程,希望在以下时间后加入线程: 因为它在Runnable中调用自己,所以我不能关闭,因为它可能会阻止自己创建新任务。 如何在不关闭的情况下等待所有线程完成?有没有办法返回一个未来,这样我就可以使用未来::get()。

  • 我已经实现了一个自定义workitemhandler,我只想通过外部REST调用来完成它。因此,items方法不调用管理器。completeWorkItem(workItem.getId(),results) 在末尾,这完全可以。在我的流程中,我还为这个工作项分配了一个信号事件,它也被外部REST调用。这两件事都按预期工作,但我不明白的是,每次我给工作项发信号时,它也会自动完成工作项,这导致了一个