我有一个单独的用户兴趣表。 然后,例如,我的用户表:
| uID | uName |
| 1 | Brad |
| 2 | Jake |
我的兴趣表
| iID | iInterest |
| 1 | Cars |
| 2 | Computers |
我有一对多关系表,用户将兴趣与用户联系起来(UserInterests):
| uID | iID |
| 1 | 1 |
| 1 | 2 |
| 2 | 2 |
在我的Android应用程序中,我有一个活动,其中包含每个兴趣的复选框。用户还可以选择多个兴趣。例如Car,Computer,Technology等。用户选择的任何内容都将存储在java userInterest arrayList中。现在,我该如何将该userInterest数组添加到mysql中。我真的需要一些帮助!
答案 0 :(得分:0)
如果这是我的项目,我将跟踪用户在ArrayList内部点击的id。在每个复选框上设置一个侦听器,用于添加或从Arraylist中删除Long对象。当用户完成后,您可以迭代抛出ArrayList,在数据库上为每个Long调用insert以添加iID。
另一种方法是使用SparseBooleanArray跟踪点击次数,这样你就可以跟踪位置,如果它“on” - True或“Off”False。
另一个非常酷的方法是实现Command Design Pattern。您可以在调用者对象中存储单独的Insert / Delete命令,然后在每个Command对象上调用execute。
编辑:我想的越多,命令模式就越适合这种情况。如果你正确实现它,它也会处理任何删除和插入。如果列表很大,那么每行执行单个插入会遇到性能问题。您可能还想调查批量插入命令(对SQL术语进行消隐...)。