我在android中实现SQLite以使用2-d字符串获取所有行数据。但是除了最后一个索引的值
之外,字符串给我一个空值我写的代码是为了获取表的所有数据
public String[][] getAllData(){
MyDBHelper myDBHelper=new MyDBHelper(context);
SQLiteDatabase db=myDBHelper.getWritableDatabase();
String columns[]={MyDBHelper.UID, MyDBHelper.USERNAME, MyDBHelper.MOBILE,MyDBHelper.EMAIL};
Cursor cursor=db.query(MyDBHelper.TABLE_NAME,columns,null,null,null,null,null);
int index_username=cursor.getColumnIndex(MyDBHelper.USERNAME);
int index_mobile=cursor.getColumnIndex(MyDBHelper.MOBILE);
int index_email=cursor.getColumnIndex(MyDBHelper.EMAIL);
Log.i("tag",Integer.toString(cursor.getCount()));
String strData[][]=new String[cursor.getCount()][3];
while(cursor.moveToNext()){
int index=0;
Log.i("tag",cursor.getString(index_username));
strData[index][0]=cursor.getString(index_username);
strData[index][1]=cursor.getString(index_mobile);
strData[index][2]=cursor.getString(index_email);
Log.i("tag",strData[index][0]+"data");
index++;
}
return strData;
}
调用方法的代码
public void getData(){
String data[][]=myDBAdaptor.getAllData();
Log.i("tag", Integer.toString(data.length));
for(int i=0;i<data.length;i++) {
//Log.i("tag",data[i][0]);
String username=data[i][0];
String mobile=data[i][1];
String email=data[i][2];
DataProvider dataProvider= new DataProvider(username,mobile,email);
listDataAdaptor.add(dataProvider);
}
}
问题 假设strData = {{&#34; abc&#34;,&#34; 123&#34;,&#34; xyz&#34;},{&#34; efg&#34;,&#34; 456&# 34;,&#34; PQR&#34;},{&#34; MNO&#34;&#34; 789&#34;&#34; FGH&#34;}};
执行此声明后 数据[] [] = mydBAdaptor(); 数据的价值是打印 数据[] [] = {{NULL,NULL,NULL},{NULL,NULL,NULL},{&#34; MNO&#34;&#34; 789&#34;&#34; FGH&#34; }} 为什么价值变为空? 请帮助我尝试几个小时,但可以解决这个错误。