0

目標

我想問幾個有關Android應用程序解決方案實施的問題。SQLite的良好做法和ContentProvider

語境

我們有我們的應用程序SQLite數據庫。我們還使用ContentProvider輕鬆管理數據庫數據的更改,並在發生時通知您。

該應用有一個Activity其中包含。這4個Fragment中有2個使用公共數據。

問題

比方說,我們存儲用戶的信用卡數據。他可能在數據庫中保存了幾張卡,所以我們需要知道哪一張是有效的

我只能想到2個解決方案。

  1. 將它保存在Preferences
  2. 添加信用卡表中的活躍

第2解決方案的示例:

╔════════════════╦═════════════╦═══════════════╦════════╗ 
║  name  ║  id  ║ secret_number ║ active ║ 
╠════════════════╬═════════════╬═══════════════╬════════╣ 
║ personal visa ║ 02468024680 ║   659 ║ true ║ 
║ company visa ║ 13579135791 ║   362 ║ false ║ 
╚════════════════╩═════════════╩═══════════════╩════════╝ 

我認爲:第二個是更好,因爲ContentProvider將通知我們的Fragments行爲ive卡被更改,他們將能夠反映當時的變化。

問題

但是,我不知道這是否是內good practices,因爲它會導致一些問題,比如具有標記爲活躍多行。除此之外,我還想問問是否有任何方法可以用一條sql語句更新所有行,我的意思是,有效的一個,其餘的設置爲,假的

在此先感謝。

+1

嗨,歡迎來到Stack Overflow。 SO是編程問題的Q&A平臺,而不是論壇。請首先閱讀:http://stackoverflow.com/help/on-topic –

回答

1

一旦我找到了一次更新所有行的方法,我正在努力。

我只需要使用CASE WHEN ... THEN ... ELSE ... END聲明,我忘了它存在!

發現它here