2014-10-11 70 views
0

我整理我的Android應用程序,並在結束時,我發現我有很多的插入,在SQLite數據庫刪除操作,現在我有一個光標裝載機內容提供商和我有幾個問題,請:數據庫操作的最佳方式在Android?

1.哪一種是數據庫操作的最佳方式? Sql原始查詢,插入從ContentResolver,或從SqliteDatabase類插入?

  • 我需要在後臺執行這些操作(考慮到有他們了很多,哪一個海事組織使BG操作有一些反對的用於創建異步快速)

  • 我需要在後臺加載光標而im使用LoaderManager?

  • 非常感謝提前

    +0

    ad 3如果您需要,您可以使用AsyncQueryHandler,廣告4無 – pskink 2014-10-11 17:51:19

    回答

    0

    請注意,ContentProvider如果你打算從你的應用程序到其他應用程序共享數據時,才需要。

    由於您已經實施ContentProvider,您應該將您的數據與ContentResolver進行通信。

    對於第二個問題,任何CRUD操作都應該異步完成。下面是從Android developer page報價:

    爲了清楚起見,代碼片段中的「UI線程」」在這個區間調用 ContentResolver.query()在實際的代碼,但是, 你應該。做查詢異步在一個單獨的線程 一種方式做到這一點是使用CursorLoader類,它是在更 詳細裝載機指南中所描述

    關於你的第三個問題:讓你的ActivityFragment實施LoaderManager.LoaderCallbacks<D>,以及LoaderCallbacks#onCreateLoader(int id, Bundle args)您可以以異步方式安全地實例化您的Loader

    +0

    第一個在引入ContentProvider作爲Loader Manager的最佳資源後不是真的,但其餘都是如此,非常感謝 – Reza 2014-10-12 10:45:06

    相關問題