Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 尝试查询sqlite时发生异常_Android_Sqlite_Spinner_Simplecursoradapter - Fatal编程技术网

Android 尝试查询sqlite时发生异常

Android 尝试查询sqlite时发生异常,android,sqlite,spinner,simplecursoradapter,Android,Sqlite,Spinner,Simplecursoradapter,我正在尝试从sqlite数据库填充微调器。数据库为+400mb,我手动将其放入SD卡中的/data/data/myapplicationpackage/databases目录 我还有一个ContentProvider来访问数据。以下是代码的一些相关部分: private static final String DATABASE_NAME = "mydb.db"; private static final int DATABASE_VERSION = 1; private static final

我正在尝试从sqlite数据库填充微调器。数据库为+400mb,我手动将其放入SD卡中的/data/data/myapplicationpackage/databases目录

我还有一个ContentProvider来访问数据。以下是代码的一些相关部分:

private static final String DATABASE_NAME = "mydb.db";
private static final int DATABASE_VERSION = 1;
private static final String DOSIS_PA_TABLE = "mytable";

public static final String KEY_ID_PA = "_id";
public static final String KEY_DESCRIPTION = "description";


public static final String CONTENT_AUTHORITY = "com.mypackage.myappname";
public static final Uri BASE_CONTENT_URI = Uri.parse("content://"
        + CONTENT_AUTHORITY);

private static final String PATH_DOSISPED_PA = "mytable";

public static final Uri CONTENT_URI = BASE_CONTENT_URI.buildUpon()
        .appendPath(PATH_DOSISPED_PA).build();

public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.myappname.mytable";
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.myappname.mytable";

private static final int DOSISPAS = 1;
private static final int DOSISPA_ID = 2;

private static final UriMatcher uriMatcher;
static {
    uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
    uriMatcher.addURI("CONTENT_AUTHORITY", "mytable", DOSISPAS);
    uriMatcher.addURI("CONTENT_AUTHORITY", "mytable/*", DOSISPA_ID);
}
这是我触发查询的活动的一部分:

contentResolver = getContentResolver();
    Uri uri = MyContentProvider.CONTENT_URI;
    Cursor cursor = contentResolver.query(uri, null, null, null, null);

    // create an array to specify which fields we want to display
    String[] from = new String[] { MyContentProvider.KEY_DESCRIPTION };
    // create an array of the display item we want to bind our data to
    int[] to = new int[] { android.R.id.text1 };
    // create simple cursor adapter
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_spinner_item, cursor, from, to);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // get reference to our spinner
    Spinner spinner = (Spinner) findViewById(R.id.spinner_pas);
    spinner.setAdapter(adapter);//THIS IS WHERE THE EXCEPTION IS THRWON
在这行代码中抛出一个NullPointerException:

    spinner.setAdapter(adapter);
下面是日志:

10-02 18:41:32.109: E/AndroidRuntime(2783): FATAL EXCEPTION: main
10-02 18:41:32.109: E/AndroidRuntime(2783): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.edoctores.android.apps.idoctus/com.edoctores.android.apps.idoctus.ui.PediatricDosisActivity}: java.lang.NullPointerException
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.os.Looper.loop(Looper.java:137)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at java.lang.reflect.Method.invokeNative(Native Method)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at java.lang.reflect.Method.invoke(Method.java:511)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at dalvik.system.NativeStart.main(Native Method)
10-02 18:41:32.109: E/AndroidRuntime(2783): Caused by: java.lang.NullPointerException
10-02 18:41:32.109: E/AndroidRuntime(2783):     at com.edoctores.android.apps.idoctus.ui.PediatricDosisActivity.onCreate(PediatricDosisActivity.java:72)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.Activity.performCreate(Activity.java:5008)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
10-02 18:41:32.109: E/AndroidRuntime(2783):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
10-02 18:41:32.109: E/AndroidRuntime(2783):     ... 11 more

我花了一整天的时间想把它修好,但一点运气都没有。有人能帮我指出正确的方向吗?非常感谢

findViewById()
仅在当前显示视图时返回视图,否则返回
null
必须在传递给
setContentView()
的版面中(或在已经膨胀的版面中)有一个id为
Spinner\u pas
的微调器。

请发布显示异常的日志猫。否,该代码带有错误注释。品脱皮。请发布异常的整个stacktrace。它将告诉我们微调器是null还是适配器是null。另外,一桶一加仑的Ben和Jerrys Phish食品冰淇淋说它是spinner。PPS。实际上,它必须是微调器,因为适配器是在前面引用的。唷,冰激凌是安全的。你好,山姆,这是logcat的全部跟踪记录