Android 内容提供商问题

Android 内容提供商问题,android,android-contentprovider,Android,Android Contentprovider,我正在尝试使用insert方法插入数据。在插入它们之前,我想检查数据是否已经在数据库中。当我运行应用程序时,我看到了错误: 11-03 19:26:37.871: E/ActivityThread(20976): Failed to find provider info for com.app.mapa.MCProvider 11-03 19:26:37.871: W/dalvikvm(20976): threadid=1: thread exiting with uncaught excep

我正在尝试使用insert方法插入数据。在插入它们之前,我想检查数据是否已经在数据库中。当我运行应用程序时,我看到了错误:

11-03 19:26:37.871: E/ActivityThread(20976): Failed to find provider info for com.app.mapa.MCProvider 
11-03 19:26:37.871: W/dalvikvm(20976): threadid=1: thread exiting with uncaught exception (group=0x40da61f8)
我的代码:

public class Insertarlugar extends Activity {

protected static final int RESULT_LOAD_IMAGE = 1;
ImageView imgfto; 
Button gboton; 
private static int CAPTURA_FOTO = 2; 
private static int SELECT_FOTO = 1; 
EditText titlugar; 
EditText desclugar;
String tlugar;
String dlugar;
double lat;
double lgt;
String sfoto;

public void BotonListener()
{
   gboton = (Button) findViewById(R.id.guardar);
   gboton.setOnClickListener(new OnClickListener() {

       @Override
   public void onClick(View v) {
    titlugar = (EditText) findViewById(R.id.edit_titulo_lugar);
    tlugar = titlugar.getText().toString();
    desclugar = (EditText) findViewById(R.id.edit_descripcion_lugar);
    dlugar = desclugar.getText().toString();

    Bundle parametros = getIntent().getExtras();
    lat = parametros.getDouble("latitud");
    lgt = parametros.getDouble("longitud");

    Uri ufoto = Uri.parse("android.resource://" + getPackageName() + "/" +  
            R.drawable.camara1);
    sfoto = ufoto.toString();

    boolean igual = iguales();

    if(!igual) 
     {

        ContentValues valores = new ContentValues();

                    valores.put("nombre", tlugar);
        valores.put("descripcion", dlugar);
        valores.put("latitud", lat);
        valores.put("longitud", lgt);
        valores.put("foto", sfoto);

     }  
        }
    });
} 

The error is in this function:

public boolean iguales()
{
  boolean ig = false;

      Uri urititl = Uri.parse("content://com.app.mapa.MCProvider /" + Bdoh.T_NOMBRE);
      Cursor c = getContentResolver().query(urititl,null,null,null,null);

      if(c.moveToFirst()) //the error is pointed in this line
     {
       if((titlugar.equals(c.getString(1))) && (lat == c.getDouble(2)) && 
               (lgt == c.getDouble(3)))
        ig = true;
        else ig = false;
     }

      return ig;
}
以下是logcat的其余部分:

11-03 19:26:37.891: E/AndroidRuntime(20976): FATAL EXCEPTION: main
11-03 19:26:37.891: E/AndroidRuntime(20976): java.lang.NullPointerException
11-03 19:26:37.891: E/AndroidRuntime(20976):    at com.app.mapa.Insertarlugar.iguales(Insertarlugar.java:231)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at com.app.mapa.Insertarlugar$2.onClick(Insertarlugar.java:199)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.view.View.performClick(View.java:3521)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.view.View$PerformClick.run(View.java:14185)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.os.Handler.handleCallback(Handler.java:605)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.os.Looper.loop(Looper.java:137)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at android.app.ActivityThread.main(ActivityThread.java:4464)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at java.lang.reflect.Method.invokeNative(Native Method)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at java.lang.reflect.Method.invoke(Method.java:511)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:589)
11-03 19:26:37.891: E/AndroidRuntime(20976):    at dalvik.system.NativeStart.main(Native Method)
11-03 19:26:40.991: E/Adreno200-ES20(21174): <qgl2DrvAPI_glUseProgram:1318>: **** 21174: glUseProgram(6)
11-0319:26:37.891:E/AndroidRuntime(20976):致命异常:main
11-03 19:26:37.891:E/AndroidRuntime(20976):java.lang.NullPointerException
11-03 19:26:37.891:E/AndroidRuntime(20976):位于com.app.mapa.Insertarlugar.iguales(Insertarlugar.java:231)
11-03 19:26:37.891:E/AndroidRuntime(20976):在com.app.mapa.Insertarlugar$2.onClick(Insertarlugar.java:199)
11-03 19:26:37.891:E/AndroidRuntime(20976):在android.view.view.performClick(view.java:3521)
11-03 19:26:37.891:E/AndroidRuntime(20976):在android.view.view$PerformClick.run(view.java:14185)
11-03 19:26:37.891:E/AndroidRuntime(20976):在android.os.Handler.handleCallback(Handler.java:605)上
11-03 19:26:37.891:E/AndroidRuntime(20976):在android.os.Handler.dispatchMessage(Handler.java:92)上
11-03 19:26:37.891:E/AndroidRuntime(20976):在android.os.Looper.loop(Looper.java:137)
11-03 19:26:37.891:E/AndroidRuntime(20976):位于android.app.ActivityThread.main(ActivityThread.java:4464)
11-03 19:26:37.891:E/AndroidRuntime(20976):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-03 19:26:37.891:E/AndroidRuntime(20976):在java.lang.reflect.Method.invoke(Method.java:511)
11-03 19:26:37.891:E/AndroidRuntime(20976):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
11-03 19:26:37.891:E/AndroidRuntime(20976):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:589)
11-03 19:26:37.891:E/AndroidRuntime(20976):在dalvik.system.NativeStart.main(本机方法)
11-03 19:26:40.991:E/Adreno200-ES20(21174):*****21174:glUseProgram(6)
为什么找不到MCProvider


谢谢。

再次检查提供者的查询方法,因为您使用的
Uri
似乎返回null。错误已修复。我更改了Uri urititl=Uri.parse(“content://com.app.mapa.MCProvider /“+Bdoh.T_NOMBRE);对于Uri urititl=MCProvider.cpu Uri;谢谢你的回答