到目前为止,答案很好。这是确保完整性的“另一种方式”解决方案之一。
您可以考虑使用 Set。
public Set<String> getPlayerNames() {
TreeSet<String> playerNames = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
然后使用
if (playerNames.contains(newPlayer)){}
然后,即使在运行时也可以轻松控制集合的大小写敏感度。
[编辑]
也就是说,您的问题可能是“设计一个让我创建、删除和修改播放器的应用程序的正确方法是什么,其详细信息存储在 SQLite 数据库中?”。你没有问这个问题,但我还是会回答这个问题,因为这个问题应该在这个问题之前提出。
花一些时间在谷歌上搜索“软件设计模式”,尤其是 MVC(模型视图控制器)。 MVC 是许多 Android 应用程序中使用的标准模式。模型是您想要使用的真实世界数据(玩家)。 View(s) 是您的应用程序、ListViews、TextViews 等的接口。控制器(Java 适配器)是将两者绑定在一起并控制如何将数据传递到您的 UI 以及如何对数据进行更改。
此刻,你有一个大约 3 英寸高的小家伙站在你的左肩上说:“给我看看你有什么。我想尽快看到这个在我的手机上运行。获取它完成并稍后找出错误”。他也很吵闹,难以忽视。
如果你仔细观察,你会看到另一个小家伙在你的右肩上说:“先把设计做好。然后开始构建应用程序。我不介意等一会儿,因为最终结果会更好”。这个人说话的声音要小得多,而且通常不是很自信。
你的工作是放火烧左边的人,让他逃跑,然后把 Ben 和 Jerrys 的网络钓鱼冰淇淋喂给右边的人,让他在附近闲逛,给你更多好的建议。
那么让我们先听听右边那个人的声音:
“好吧,Matthias,有很多方法可以解决这个问题,但随着您的学习,让我们坚持使用通用方法。这将使 Google 可以轻松找到您需要将其拼接在一起的各个组件。
您已经有了一个包含 Players 表的数据库,其中包含有关 Players 的数据。让我们在代码中创建一个代表玩家的类。
public class Player{
public int id;
public String name;
public Boolean likesPhishFood;
}
现在,当我们启动我们的应用程序时,我们可以将表中的数据加载到我们的应用程序中,以便开始使用它。使用适配器怎么样?然后我们可以使用 Cursor 来查询我们的数据库,我们可以使用它来创建一个适配器,也许是 SimpleCursorAdapter,然后最终将我们的适配器绑定到 ListView。稍后,您可以添加 onClickListener 和 onLongClickListener 以在用户单击列表中的某个 Player 时执行某些操作。
所有这些的好处是,您的代码毫无疑问最终会导致您在更短的时间内生成应用程序;会更容易阅读;将有更少的错误,也许最重要的是,更容易更改。
我几乎可以保证,在某个时间点,通常是进行到一半左右,您会想要添加一些关于玩家的数据。也许他们玩过的次数,或者他们有蓝眼睛。使用 MVC 设计,与在代码中寻找 ArrayList 和为适应新数据而需要更改的循环相比,此类更改更容易进行,并且更不容易产生新的错误。
当然,您的应用需要更多时间才能投入使用,但您在此过程中学到的东西将多次收回投资 - 在此应用和您未来使用的其他应用中。”
听右边那个人的。他讲道理。
http://www.mysamplecode.com/2012/07/android-listview-cursoradapter-sqlite.html
祝你好运。