Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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/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数据库中检索详细信息时发生NullPointerException_Android_Sqlite_Nullpointerexception - Fatal编程技术网

Android 错误:在sqlite数据库中检索详细信息时发生NullPointerException

Android 错误:在sqlite数据库中检索详细信息时发生NullPointerException,android,sqlite,nullpointerexception,Android,Sqlite,Nullpointerexception,我的数据库表有数据,可以在sqlite数据库浏览器中查看。在下面的类中,我遇到了错误…如果出现异常,它必须在捕获循环中捕获,但仍然得到异常不知道它是如何发生的,请帮我解决…如果需要任何信息,请发表评论。提前谢谢 DataBaseView.java package com.vibrator; import android.app.Activity; import java.util.ArrayList; //import android.app.ListActivity; import a

我的数据库表有数据,可以在sqlite数据库浏览器中查看。在下面的类中,我遇到了错误…如果出现异常,它必须在捕获循环中捕获,但仍然得到异常不知道它是如何发生的,请帮我解决…如果需要任何信息,请发表评论。提前谢谢

DataBaseView.java

package com.vibrator;

import android.app.Activity;

import java.util.ArrayList;


//import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;


public class DataBaseView extends Activity{
    DataBaseAdapter DataBaseAdapter;
    ArrayList<String> al;
    Cursor cursor;
    public  SQLiteDatabase db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        setContentView(R.layout.database_view);
        System.out.println("entered in database");

        ListView list =(ListView) findViewById(R.id.list);
         DataBaseAdapter=new DataBaseAdapter(this);

         DataBaseAdapter=DataBaseAdapter.open();
             try {


             cursor=db.rawQuery("select * from DETAILS", null);
             if(cursor!=null){
                 if (cursor.moveToFirst()) {
                     do {
                         String id =cursor.getString(cursor.getColumnIndex("ID"));
                         String name =cursor.getString(cursor.getColumnIndex("NAME"));
                         //String pattern =cursor.getString(cursor.getColumnIndex("PATTERN"));
                         //store the values in arraylist
                         al.add(id+". "+name);

                    } while (cursor.moveToNext());

                }
             }
             DataBaseAdapter.close();
         }
             catch (Exception e) {
                Toast.makeText(this, "exception occurred", Toast.LENGTH_LONG).show();
            }

             ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1, al);

            list.setAdapter(adapter);


    }


    }

当您声明但忘记初始化对象/变量时,通常会得到NullPointerException

al = new ArrayList<String>();
al=newarraylist();

您忘记初始化al对象

您从未初始化
al
。您在上面定义了它,但从未创建实际对象。在将任何内容添加到数据库查询中的
al
之前,请将其包含在
onCreate()
方法中:

al = new ArrayList<String>();
al=newarraylist();

al
为空…NullPointerException已解决谢谢…但代码中有错误,异常在捕获循环中被捕获,我不知道它是如何发生的,请帮助我解决..此问题已解决,请针对进一步的问题提出另一个问题,然后再次提问
al = new ArrayList<String>();