gpt4 book ai didi

java - Android 中的对话列表

转载 作者:行者123 更新时间:2023-12-01 18:10:46 25 4
gpt4 key购买 nike

对于 Android 来说,我是一个彻头彻尾的新手,从来没有接触过任何 Android 代码。我正在尝试在 Android 中为我本学期的软件工程项目构建一个 SMS 应用程序(是的,教授要求构建这个 SMS 应用程序)。他只给了我们 2 周的时间来完成这个项目,他期待着完整的软件开发过程、github 文档、团队中每个人的协作,等等。

我在团队中的具体任务是实现一个类似于任何默认 SMS 消息应用程序的对话列表。任何人都可以提供有关如何构建对话列表(例如库存短信应用程序中的对话列表)的分步指南吗?我的意思是向我展示要实现哪些部分、何时何地。不一定是任何特定的代码,除非它是我可能无法在两周内弄清楚的东西。

由于时间如此之短,我恳请各位专家帮助我,并为我指明需要实现的事情的正确方向。我们将不胜感激。

提前谢谢您!

最佳答案

两周的时间并不是很多,所以我假设范围会有所限制:

  • 显示对话列表
  • 显示每个对话的消息列表
  • 能够发送和接收消息

我还假设您不必处理彩信,只需使用短信即可。

幸运的是,Google 已经发布了两款开源消息应用程序 - 旧的“Mms”应用程序和新的“Messaging”应用程序:

https://android.googlesource.com/platform/packages/apps/Mms/ https://android.googlesource.com/platform/packages/apps/Messaging/

深入研究这些代码库可能有点令人畏惧,尤其是新的消息应用程序,但旧版彩信应用程序为您提供了许多构建 block 。

简而言之,您需要:

  • 设置权限并创建 BroadcastReceiver 来处理 SMS 传送 Intent (传入 SMS)。提示是阅读一些有关 Android 中“默认短信应用程序”的含义的信息:http://android-developers.blogspot.se/2013/10/getting-your-sms-apps-ready-for-kitkat.html
  • 从 Intent 中读取 SmsMessage 对象。挑选零件并将这些值存储到 SmsProvider(请参阅 Telephony.java 中的公共(public) API)。如果消息线程(对话)尚不存在,您可能需要创建它。
  • 使用 ListView 和游标适配器构建一个 Activity,以从 SmsProvider 加载对话(线程)。
  • 在适配器中,处理光标数据并创建表示对话数据的 View ,例如收件人、时间戳和 fragment 。然后这些将显示在 ListView 中。
  • 使用 ListView 和游标适配器创建另一个 Activity (或 fragment ),以从 SmsProvider 加载消息。可能会使用 CursorLoader,尽管可能需要一些时间来弄清楚如何设置它们。
  • 与前面的适配器一样,处理游标数据并生成表示消息的 View 。
  • 在显示对话消息的 Activity/fragment 内,创建一个 EditText,用户可以在其中键入消息,并创建一个按钮来处理发送命令。 SmsManager.java 是用于发送短信的公共(public) API。如果适配器设置正确(这对于 CursorLoader 来说非常方便,但您也可以对提供程序进行手动查询),它将收到通知并为新消息创建新 View 。

关于java - Android 中的对话列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com