使用pubnub和parse.com进行应用内聊天

时间:2014-04-08 10:34:14

标签: android parse-platform pubnub

我正在构建一个使用parse.com作为后端的Android应用程序。应用程序的每个用户都通过fb登录,用户配置文件信息存储在解析用户表中。在点击某个按钮时,应用程序向用户提供列表视图中附近的解析用户列表,即列表视图中的每个项目都是解析用户。像这样:

ParseQueryAdapter.QueryFactory<ParseUser> factory= new ParseQueryAdapter.QueryFactory<ParseUser>(){
        @Override
        public ParseQuery<ParseUser> create() {
            user = ParseUser.getQuery();
            user.whereNear("source",mySrc);
            user.whereEqualTo("destination", dest);
            user.whereNotEqualTo("objectId", currentUser.getObjectId());
            user.setLimit(MAX_SEARCH_RESULTS);
            return user;
          }
    };  
    // Set up the query adapter
     parseAdapter= new ParseQueryAdapter<ParseUser>(this, factory){
      @Override
      public View getItemView(ParseUser user, View view, ViewGroup parent) {
        if (view == null) {
          view = View.inflate(getContext(), R.layout.listtextview, null);                       
        }
        super.getItemView(user,view,parent);
        TextView name = (TextView) view.findViewById(R.id.name);            
        name.setText(user.getString("name"));             
          return view;
      }
    };      

现在这就是我想要做的: 当用户点击列表中的任何一个项目时,应该打开聊天窗口,并且两个用户应该能够聊天。我相信pubnub可以用于这个目的,就像在我的脑海里弄错了一样。 如何使用pubnub实现相同的目标?

我想到了一种方法: 每个用户在首次登录时都会有一个他/她自动订阅的频道,该频道名称将存储在解析用户表中。 当用户从列表视图中选择项目时,app将他/她订阅到相应用户的频道。 但是,我可以弄清楚如何在这种方法中管理/分配频道名称? 不应该为每个用户提供唯一的频道名称吗? 我可以使用用户的fb id本身作为频道名称吗?

任何帮助表示赞赏!!

0 个答案:

没有答案