Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
Java 当我将内容解析器添加到主活动时,我的应用程序崩溃_Java_Android_Xml - Fatal编程技术网

Java 当我将内容解析器添加到主活动时,我的应用程序崩溃

Java 当我将内容解析器添加到主活动时,我的应用程序崩溃,java,android,xml,Java,Android,Xml,下面是我得到的错误日志 E/AndroidRuntime:致命异常:主 进程:com.example.android.apppinventory,PID:14400 java.lang.RuntimeException:无法启动活动组件信息{com.example.android.apppinventory/com.example.android.apppinventory.MainActivity}:java.lang.StringIndexOutOfBoundsException:lengt

下面是我得到的错误日志

E/AndroidRuntime:致命异常:主 进程:com.example.android.apppinventory,PID:14400 java.lang.RuntimeException:无法启动活动组件信息{com.example.android.apppinventory/com.example.android.apppinventory.MainActivity}:java.lang.StringIndexOutOfBoundsException:length=10;regionStart=1;区域长度=-2 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) 位于android.os.Handler.dispatchMessage(Handler.java:111) 位于android.os.Looper.loop(Looper.java:207) 位于android.app.ActivityThread.main(ActivityThread.java:5763) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:789) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 原因:java.lang.StringIndexOutOfBoundsException:长度=10;regionStart=1;区域长度=-2 位于java.lang.String.StartAndLength(String.java:298) 位于java.lang.String.substring(String.java:1087) 位于android.support.v4.content.FileProvider$SimplePathStrategy.getFileForUri(FileProvider.java:734) 位于android.support.v4.content.FileProvider.query(FileProvider.java:435) 在android.content.ContentProvider.query(ContentProvider.java:1070)中 位于android.content.ContentProvider$Transport.query(ContentProvider.java:249) 位于android.content.ContentResolver.query(ContentResolver.java:498) 位于android.content.ContentResolver.query(ContentResolver.java:441) 位于com.example.android.apppinventory.MainActivity.displayDatabaseInfo(MainActivity.java:69) 位于com.example.android.apppinventory.MainActivity.onStart(MainActivity.java:45) 位于android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1245) 位于android.app.Activity.performStart(Activity.java:6286) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) 位于android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) 位于android.os.Handler.dispatchMessage(Handler.java:111) 位于android.os.Looper.loop(Looper.java:207) 位于android.app.ActivityThread.main(ActivityThread.java:5763) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:789) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

这是一个库存应用程序。早些时候,我与SQLite数据库交互,应用程序运行良好,但当我添加内容解析器的概念时,应用程序崩溃了。Plz help

private void displayDatabaseInfo() {
        //InventoryDbHelper mDbHelper = new InventoryDbHelper(this);
        //SQLiteDatabase db = mDbHelper.getReadableDatabase();
        String[] projection = {
                InventoryEntry._ID,
                InventoryEntry.PRODUCT_NAME,
                InventoryEntry.PRODUCT_DESCRIPTION,
                InventoryEntry.PRODUCT_PRICE,
                InventoryEntry.PRODUCT_QUANTITY,
                InventoryEntry.PRODUCT_IMAGE
        };
        /**Cursor cursor = db.query(InventoryEntry.TABLE_NAME,projection,null,null,null,null,null);**/
        Cursor cursor = getContentResolver().query(InventoryEntry.CONTENT_URI,projection,null,null,null);
        //Cursor cursor = getContentResolver().query(InventoryEntry.CONTENT_URI,projection,null,null,null);
        TextView displayView = (TextView) findViewById(R.id.text_view);
        try {
            displayView.setText("Number of rows in table are " + cursor.getCount() + "\n\n");
            displayView.append(InventoryEntry._ID + "-" + InventoryEntry.PRODUCT_NAME + "\n");
            int idColumnIndex = cursor.getColumnIndex(InventoryEntry._ID);
            int nameColumnIndex = cursor.getColumnIndex(InventoryEntry.PRODUCT_NAME);
            while (cursor.moveToNext()) {
                int currentID = cursor.getInt(idColumnIndex);
                String currentName = cursor.getString(nameColumnIndex);
                displayView.append("\n" + currentID + "-" + currentName);
            }

        } finally {
            cursor.close();
        }
    }
问题
    private void displayDatabaseInfo() {
    //InventoryDbHelper mDbHelper = new InventoryDbHelper(this);
    //SQLiteDatabase db = mDbHelper.getReadableDatabase();
    String[] projection = {
            InventoryEntry._ID,
            InventoryEntry.PRODUCT_NAME,
            InventoryEntry.PRODUCT_DESCRIPTION,
            InventoryEntry.PRODUCT_PRICE,
            InventoryEntry.PRODUCT_QUANTITY,
            InventoryEntry.PRODUCT_IMAGE
    };
    /**Cursor cursor = db.query(InventoryEntry.TABLE_NAME,projection,null,null,null,null,null);**/
    Cursor cursor = getContentResolver().query(InventoryEntry.CONTENT_URI,projection,null,null,null);
    //Cursor cursor = getContentResolver().query(InventoryEntry.CONTENT_URI,projection,null,null,null);
    TextView displayView = (TextView) findViewById(R.id.text_view);
    StringBuilder sb = new StringBuilder("");
    try {
        sb.append("Number of rows in table are " + cursor.getCount() + "\n\n");
        sb.append(InventoryEntry._ID + "-" + InventoryEntry.PRODUCT_NAME + "\n");
        int idColumnIndex = cursor.getColumnIndex(InventoryEntry._ID);
        int nameColumnIndex = cursor.getColumnIndex(InventoryEntry.PRODUCT_NAME);
        while (cursor.moveToNext()) {
            int currentID = cursor.getInt(idColumnIndex);
            String currentName = cursor.getString(nameColumnIndex);
            sb.append("\n" + currentID + "-" + currentName);
        }
        displayView.setText(sb.toString());
    } finally {
        cursor.close();
    }
}