【问题标题】:Android array to mysql database?Android数组到mysql数据库?
【发布时间】:2015-08-04 23:04:38
【问题描述】:

我有一个单独的用户兴趣表。 然后,例如,我的用户表:

| uID | uName |
| 1   | Brad  |
| 2   | Jake  |

我的兴趣表

| iID | iInterest |
| 1   | Cars      |
| 2   | Computers |

我有一个多对多关系表,将用户链接到兴趣(UserInterests):

| uID | iID |
| 1   | 1   |
| 1   | 2   |
| 2   | 2   |

在我的 android 应用程序中,我有一个活动,其中包含每个兴趣的复选框。用户还可以选择多种兴趣。例如汽车、计算机、技术等。用户选择的任何内容都将存储在 java userInterest arrayList 中。现在,如何将该 userInterest 数组添加到 mysql。我真的需要帮助!

【问题讨论】:

  • 你能重构你的问题吗?很难理解你到底想做什么。
  • 重构! @hitch.united
  • 您是否已建立与您的 mySQL 数据库的连接?是关于与数据库通信的问题还是插入所有选择的逻辑?
  • 我已建立与 mySQL 数据库的连接。我只是陷入了插入所有选择的逻辑中。 @hitch.united

标签: php android mysql arrays


【解决方案1】:

如果这是我的项目,我会跟踪用户在 ArrayList 中点击的 id。在每个复选框上设置一个侦听器,以从 Arraylist 中添加或删除 Long 对象。用户完成后,您可以迭代抛出 ArrayList,为每个 Long 调用数据库上的 insert 以添加 iID。

另一种方法是使用 SparseBooleanArray 跟踪点击,这样您就可以跟踪位置以及它的“on” - True 或“Off” False。

另一种非常酷的方法是实现Command Design Pattern。您可以在调用程序对象中存储单独的插入/删除命令,然后在每个命令对象上调用执行。

编辑:我想得越多,命令模式就越适合这种情况。如果您正确实现它,它还将处理任何删除和插入。如果列表很大,您可能会在每行单独插入时遇到性能问题。您可能还想研究批量插入命令(在 SQL 术语上空白......)。

【讨论】:

  • 非常感谢。我很想给你的答案一个有用的投票,但声誉很低。顺便说一句,谢谢你清除我的疑虑。 :)
  • 命令模式更酷的是你也可以实现撤销功能,因为插入/删除不是实时的。如果用户点击撤消,只需从调用程序中删除命令对象,使其不会运行。
猜你喜欢
  • 1970-01-01
  • 2015-02-02
  • 2016-02-21
  • 1970-01-01
  • 2020-03-26
  • 2017-04-09
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多