sqlite数据库android将所有列值都放入字符串数组中

时间:2016-07-25 08:39:29

标签: java android arrays sqlite

我在android中有一个sqlite数据库,例如:

表1人:

  • 第1列:id
  • 第2栏:名称
  • 第3栏:朋友

表2朋友:

  • 第1列:id
  • 第2栏:allFriends

两个表中的id相同,table1中的id = table2中的id 我希望通过id获取特定列“allFriends”中table2的所有值,并将列中的所有String值插入到String array / arrayList中。

2 个答案:

答案 0 :(得分:1)

试试这个,

  public ArrayList<String> getAllFriends(int id) {
    ArrayList<String> friendsNames = new ArrayList<>();
    SQLiteDatabase sqLiteDatabase = null;
    try {
        String query = "select * from person P join friends F on F.id = P.id where P.id = " + id;
        Cursor cursor = sqLiteDatabase.rawQuery(query, null);
        while (cursor.moveToNext()) {
            friendsNames.add(cursor.getString(cursor.getColumnIndex("allFriends")));
        }
    }catch(Exception ex){
        Log.e(TAG,"Erro in geting friends "+ex.toString());
    }
    return friendsNames;
  }

答案 1 :(得分:0)

您的SQL查询:

SELECT allFriends FROM friends where id == Id_from_person

Id_from_person - 您想要从DB收到的朋友的身份。
用于执行查询读取this