2013-09-15 1 views
0

Я пытаюсь загрузить таблицу sqlite в качестве arraylist, чтобы я мог использовать данные в ней. Я не слишком уверен в запросах sqlite, но у меня уже есть класс, созданный для управления строками, как есть, и это то, что мне больше нравится. Я могу загрузить отдельную строку, но я не уверен, как получить всю таблицу как arraylist.Попытка загрузить таблицу sqlite как ArrayList <String[]> в android

У меня есть следующий метод в мой основной метод

public void ShowCNData() 
{ 
    TestAdapter mDbHelper = new TestAdapter(this);   
    mDbHelper.createDatabase();  
    mDbHelper.open(); 

      String allData = mDbHelper.getCYData().get(1)[1]; 

    thing.setText(allData); 

    mDbHelper.close(); 
} 

и следующий метод в моем dbAdapter/Helper класса

public ArrayList<String[]> getCYData() 
{ 
    ArrayList<String[]> CYData = new ArrayList<String[]>(); 
    try 
    { 
     String sql ="SELECT * FROM cnYears "; 
     Cursor mCur = null; 
     do 
     { 
      mCur = mDb.rawQuery(sql, null); 
      CYData.add(new String[] {mCur.getString(0),mCur.getString(1),mCur.getString(2),mCur.getString(3),mCur.getString(4)}); 
     } 
     while (mCur.moveToNext()); 

     return CYData; 
    } 
    catch (SQLException mSQLException) 
    { 
     Log.e(TAG, "getTestData >>"+ mSQLException.toString()); 
     throw mSQLException; 
    } 
} 

Как я загрузить данные в моей ArrayList?

+0

В настоящее время вы получаете только 1-й ряд? – Metalhead1247

+0

Да. На самом деле, это просто сбой моего приложения и использование Null Pointer Exception. – AKTStudios

+0

опубликуйте свой логарифм – Metalhead1247

ответ

0

Без фактической информации о журнале, я бы предположил, что ваше NullPointerException возникает, когда вы получаете пустой курсор. Попробуйте это так:

//initialize arraylist, execute query etc. 

if (cursor.moveToFirst()) { 
    do { 
     String[] entry = new String[dataSize]; 

     //pull your data here 
     data[0] = cursor.getInt(0); 
     data[1] = cursor.getString(1); 
     //... 

     list.add(entry); 
    } while (cursor.moveToNext()); 
} 

// return arraylist 
Смежные вопросы