Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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 在Android Studio中从SQlite获取数据时出错_Java_Android_Sqlite - Fatal编程技术网

Java 在Android Studio中从SQlite获取数据时出错

Java 在Android Studio中从SQlite获取数据时出错,java,android,sqlite,Java,Android,Sqlite,我有一个JSON数组。我正在使用DatabaseHelper传输数据,但无法获取数据。我知道我犯了一个简单的错误,但它只是不可见 这是onCreate方法 arrayList = database.getAllData(); ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.activity_list_item, android.R.id.text1,

我有一个JSON数组。我正在使用
DatabaseHelper
传输数据,但无法获取数据。我知道我犯了一个简单的错误,但它只是不可见

这是
onCreate
方法

arrayList = database.getAllData();
ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(),
        android.R.layout.activity_list_item,
        android.R.id.text1,
        arrayList);

listView.setAdapter(adapter);
这是
getAllData

public Cursor getAllData() {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor res = db.rawQuery("select * from "+TABLE_NAME,null);
    return res;
}

这是我曾经做过的事。你能从中得到一个想法吗?:)

public ArrayList getAllRecords\u ArrayList(字符串表\u名称){
//创建一个数组列表
ArrayList List_Of_Records=新的ArrayList();
//创建数据库对象
SQLiteDatabase DB=this.getReadableDatabase();
//创建一个游标文件,我们可以通过执行上面的命令获得它
游标crsr=DB.query(
表格名称,
新字符串[]{COLUMN_DATE,COLUMN_CATEGORY,COLUMN_AMOUNT},
null,null,null,null,COLUMN_DATE);
crsr.moveToFirst();
而(!crsr.isAfterLast()){
//将其添加到数组列表中
记录列表。添加(新项目记录)(
crsr.getString(crsr.getColumnIndex(COLUMN_DATE)),
crsr.getString(crsr.getColumnIndex(COLUMN_CATEGORY)),
crsr.getDouble(crsr.getColumnIndex(列金额));
//去下一排
crsr.moveToNext();
}
//关闭数据库和光标并返回列表
crsr.close();DB.close();
记录的返回列表;
}

是不是这个.getReadableDatabase()@Venky u r使用第一个从本地数据库获取数据的方法,这是一个使用doing background方法的时间。然后查找arraylist,getAllData()方法返回一个游标!就像我说的,伙计们,我是新来的,希望你们能帮忙
public ArrayList<Item_Record> getAllRecords_ArrayList (String Table_Name) {

  // Create an array list
  ArrayList<Item_Record> List_Of_Records = new ArrayList<>();
  // Create a database object
  SQLiteDatabase DB = this.getReadableDatabase();

  // Create a cursor file we get from executing this above command
  Cursor crsr = DB.query(
        Table_Name,
        new String[] {COLUMN_DATE, COLUMN_CATEGORY, COLUMN_AMOUNT},
        null, null, null, null, COLUMN_DATE);

  crsr.moveToFirst();

  while (! crsr.isAfterLast()) {

     // Add that to the array list
     List_Of_Records.add(new Item_Record(
           crsr.getString(crsr.getColumnIndex(COLUMN_DATE)),
           crsr.getString(crsr.getColumnIndex(COLUMN_CATEGORY)),
           crsr.getDouble(crsr.getColumnIndex(COLUMN_AMOUNT))));

     // Go to the next row
     crsr.moveToNext();
  }
  // Closes database and cursor and return the list
  crsr.close(); DB.close();
  return List_Of_Records;
}