当前位置: 首页 > 知识库问答 >
问题:

sqlite数据库android获取所有列值到字符串数组

申屠洛华
2023-03-14

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

表1人员:

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

表2朋友:

  • 第1列:id
  • 第2栏:所有朋友

两个表中的id是相同的,table1中的id==table2中的id我想通过id从table2的特定列“allFriend”中获取所有值,并将列中的所有String值插入String数组/arrayList。

共有2个答案

姜经武
2023-03-14

您的SQL查询:

SELECT allFriends FROM friends where id == Id_from_person

Id\u from\u person-您想从DB接收朋友的Id
要执行查询,请阅读以下内容。

梁烨
2023-03-14

试试这个,

  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;
  }
 类似资料:
  • 我正在Android上做一个sqlite数据库项目。这是我的第一个sqlite项目。我读了很多文章,创建了我的应用程序,但有一个问题,我找不到解决它的方法。我希望你能给我指条路。问题是当我通过点击按钮调用activity时,设备会启动一条消息(“不幸的是应用程序停止了”)。 活动课代码

  • 问题内容: 我已经尝试过此代码 但这会引发错误: 如何获取所有表名? 问题答案: 经过检查,测试和运行。试试这个代码: 我假设,在一行的某个点上,您将获取一个 表名 列表,以可能以a 或某种形式显示。不只是展示吐司。 未经测试的代码。 这就是我的首要想法。在生产应用中使用它之前,请先进行测试。;-) 在这种情况下,请考虑对上面发布的代码进行以下更改:

  • 本文向大家介绍从Java字符串中获取所有数字,包括了从Java字符串中获取所有数字的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串。 为了仅显示上述字符串中的数字,我们使用了该方法并将所有字符替换为空。 以下是最后的示例,该示例仅显示字符串中的数字。 示例 输出结果

  • 问题内容: 如何在Android上的SQLite数据库中获取布尔字段的值? 我通常使用,等获取字段的值,但似乎没有方法。 问题答案: 它是:

  • 你能帮我解决缺栏的问题吗?在我看来,我做的每件事都是对的,但我得到的错误是,某一列有问题。 错误 E/SQLiteLog:(1)没有这样的列:Stezenie D/AndroidRuntime:关闭VM E/AndroidRuntime:致命异常:主进程:com。实例apkadlapacjenta,PID:11261 java。lang.RuntimeException:无法启动活动组件信息{co

  • 我试图使用SQLite建立一个数据库来存储用户名和密码,但每当我在模拟器上注册一个帐户时,它就会出错。此外,如果我只是尝试登录而没有注册,它将出错。这只是我的第二篇帖子,所以如果我在发帖时有什么可以做得更好的,请告诉我! } 下面是DbHelper附带的登录类 } 这里是REGISTER类。 } 这是我运行上面描述的场景时得到的错误日志。 致命异常:主进程:com。适应。教程4,PID:4807A