如何在Android应用程序中提到用户

时间:2015-08-08 17:33:54

标签: android instagram callouts

我想参考to this question,关于如何实现提及功能,但是对于android。

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

2 个答案:

答案 0 :(得分:2)

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

  

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

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

e.g。用户键入以下消息

  

...在纽约与@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";

当然,用户名需要唯一。

希望它有所帮助。

答案 1 :(得分:1)

它主要由AutoCompleteTextView完成并处理关键事件。我不能写这样的代码。我可以给你简单的主要想法。您可以通过覆盖 Set<String> set = new HashSet<String>(); set.add(obj.toString()); editor.putStringSet("setOfStrings", set); 方法

来听取用户点击键盘的信息
onKeyUp()

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