【问题标题】:how to mention user in android app [closed]如何在android应用中提及用户[关闭]
【发布时间】:2016-11-01 21:27:57
【问题描述】:

我想参考to this question,了解如何实现提及功能,但适用于 android。

我想知道它在数据库中的具体情况。

【问题讨论】:

标签: android instagram callouts


【解决方案1】:

我猜答案已经在旧帖子中提供了,

听输入。当用户键入一个@,后跟一个 角色,调用你服务器上的一个 url (例如 /user/lookup/?username=joe )路由到一个视图 查找以 joe 开头的用户。将其作为 json 返回并显示 在下拉列表中。

要简单得多,您需要使用@ 作为关键字,用于理解用户名的开头。

例如用户键入以下消息

...在纽约与@nour 在一起

在 Java 中,您可以使用正则表达式检测 @

boolean foundMatch = false;
Pattern regex = Pattern.compile("\\b(?:@)\\b");
Matcher regexMatcher = regex.matcher(subjectString);
foundMatch = regexMatcher.find();

如果输入字符串有 @ 关键字,这将匹配

现在,一旦您获得@ 关键字,就将@ 之后的所有字符取走,直到您得到一个空格。在此示例中,nour 应该是结果,因为它在 @ 之后开始并在 white space 之前结束。

在服务器部分,您可以将识别的名称作为USER_NAME

SELECT * FROM USERS WHERE USER_NAME = "nour";

当然,用户名需要唯一的。

希望对您有所帮助。

【讨论】:

  • 请你看看这个。 zunostudios.com/blog/development/…,你能告诉我要从数据库而不是简单的数组中更改什么。我应该提供相同的课程还是可以让它更简单
  • 我运行了他们的项目,不,这不是我想做的事情.. :( 仍然丢失。任何教程?
  • 我需要你这样的帮助..stackoverflow.com/questions/25765364/…我想对他的问题发表评论,但我没有足够的声誉:(
【解决方案2】:

主要由 AutoCompleteTextView 完成并处理关键事件。我写不出这样的代码。我可以给你简单的主要想法。你通过覆盖onKeyUp()方法来监听用户点击键盘

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_AT:
        // @ is clicked
        // get the usernames
        return true;
    default:
        return super.onKeyUp(keyCode, event);
    }
}

现在您应该开始从数据库中获取用户名,将它们放在 AutoCompleteTextView 适配器中以根据用户条目进行过滤,当用户选择要提及“或许多”的朋友或某人时,您将它们添加到 ArrayList 和向他们推送通知。

【讨论】:

  • 你有这方面的教程吗?
  • @AdamahNour 不,不幸的是你必须独自学习
  • 如果您不想了解它是如何工作的,请使用开源库engineering.linkedin.com/android/…
猜你喜欢
  • 2012-11-03
  • 2017-10-13
  • 2017-04-07
  • 2021-07-01
  • 2020-11-02
  • 1970-01-01
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
相关资源
最近更新 更多