Setup
I followed Universal App with SQLite example to add SQLite to my project; then to add the BackgroundTask I followed Quickstart: Create and register a background task example.
Problem
The SQLite targets either
Windows Phone 8.1orWindows 8.1The
BackgroundTasktargets onlyWindows(being aWindows Runtime Component)
This is where it becomes tricky.
You cannot reference a project with the BakgroundTask that isn't portable, thus I cannot add SQLite for Windows Runtime (Windows 8.1) or SQLite for Windows Phone 8.1 to the BackgroundTask project.
Question
Is there anyway to use SQLite in the BackgroundTask of Windows (Phone) 8.1 project?
Sometimes the answer is easier than expected.
Steps
- Set the Background Task's Library Target to only target Windows (Phone) 8.1
- Create a
Class Librarythat targets only Windows (Phone) 8.1 - Add SQLite for Windows (Phone) 8.1 to the
Class Library - Reference the
Class Librarywith the Background Task
That's it!
Do most of the work in the Class Library and only make calls from the Background task, this makes the BGT look cleaner. The nice thing about using a Class Library is that you can use generics.
You will have 2 Background Tasks for your universal app
- Windows 8.1 Background Task
- Windows Phone 8.1 Background Task
来源:https://stackoverflow.com/questions/27528663/how-to-use-sqlite-in-windows-phone-8-1s-backgroundtask