Android - 聊天应用程序的架构

 夏慕晚阳 发布于 2023-02-10 14:50

我对Android的架构有疑问.我开始使用Android并在一些静态应用程序之后,我想构建一个动态类型的应用程序,如聊天应用程序.我的问题是:

这是我对聊天应用程序的基本架构的理解.测试

假设聊天对话总是来回通过服务器,我是否正确?

我知道本机Android使用sqlite.我可以在服务器上使用其他数据库,还是应该坚持使用sqlite?

服务器端代码是否需要使用Java才能与Android一起运行,或者我可以编写代码,也许是我更熟练的东西 - 比如Python?

最后,如果需要以某种方式转换消息,那么在发送之前是否会在用户的设备上进行转换,或者是否在服务器上发生了这种情况?

Frame91.. 5

假设聊天对话总是来回通过服务器,我是否正确?

随你(由你决定.如果你想实现P2P通信,请随意这样做;)但我会建议在客户端之间使用服务器(如果你想实现群聊怎么办? - >在p2p中更复杂).除此之外:您如何知道其他客户的IP地址?使用服务器,您可以轻松"登录"或"注销",并查看当前还有哪些可用等等.

我知道本机Android使用sqlite.我可以在服务器上使用其他数据库,还是应该坚持使用sqlite?

也取决于你.服务器的数据库不必与Android中使用的数据库相同.我从未在服务器端使用过sqlite.十二点选择它!

服务器端代码是否需要使用Java才能与Android一起运行,或者我可以编写代码,也许是我更熟练的东西 - 比如Python?

我建议你通过HTTP与服务器进行通信.因此,您可以使用您喜欢的任何编程语言.

最后,如果需要以某种方式转换消息,那么在发送之前是否会在用户的设备上进行转换,或者是否在服务器上发生了这种情况?

你到底是什么意思?您的服务器将提供类似"sendMessage(messageObject,target,....")的接口 - 您可以决定messageObject的外观.此外,服务器可以修改对象并将其发送给客户端.

怎么开始

我强烈建议你看看:

Google Cloud Messaging

使用GCM,您可以在服务器到达时立即发送/接收消息.

我还有一个教程,可以帮助您实现与GCM的聊天:

使用Google Cloud Messaging(GCM)创建即时消息应用.

否则,如果您不想使用推送服务,可以查看本教程:

简单的聊天应用

在这个例子中,他们使用套接字进行客户端和服务器之间的通信.

1 个回答
  • 假设聊天对话总是来回通过服务器,我是否正确?

    随你(由你决定.如果你想实现P2P通信,请随意这样做;)但我会建议在客户端之间使用服务器(如果你想实现群聊怎么办? - >在p2p中更复杂).除此之外:您如何知道其他客户的IP地址?使用服务器,您可以轻松"登录"或"注销",并查看当前还有哪些可用等等.

    我知道本机Android使用sqlite.我可以在服务器上使用其他数据库,还是应该坚持使用sqlite?

    也取决于你.服务器的数据库不必与Android中使用的数据库相同.我从未在服务器端使用过sqlite.十二点选择它!

    服务器端代码是否需要使用Java才能与Android一起运行,或者我可以编写代码,也许是我更熟练的东西 - 比如Python?

    我建议你通过HTTP与服务器进行通信.因此,您可以使用您喜欢的任何编程语言.

    最后,如果需要以某种方式转换消息,那么在发送之前是否会在用户的设备上进行转换,或者是否在服务器上发生了这种情况?

    你到底是什么意思?您的服务器将提供类似"sendMessage(messageObject,target,....")的接口 - 您可以决定messageObject的外观.此外,服务器可以修改对象并将其发送给客户端.

    怎么开始

    我强烈建议你看看:

    Google Cloud Messaging

    使用GCM,您可以在服务器到达时立即发送/接收消息.

    我还有一个教程,可以帮助您实现与GCM的聊天:

    使用Google Cloud Messaging(GCM)创建即时消息应用.

    否则,如果您不想使用推送服务,可以查看本教程:

    简单的聊天应用

    在这个例子中,他们使用套接字进行客户端和服务器之间的通信.

    2023-02-10 14:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有