Staramy się stworzyć aplikację crossową wykorzystującą Xamarin w Visual Studio. W naszym projekcie Pcl musimy dodać obsługę sqlite dla telefonów z Androidem, ios i Windows. Dodaliśmy Sqlite-Net PCL przez NuGet, ale nie było żadnego SQLiteDataReader, SQLiteParameter ani SQLiteDataAdapter. Czy istnieje sposób na utworzenie Pcl z obsługą mono.data.sqlite dla wszystkich trzech platform?Jak utworzyć PCL z obsługą sqlite w aplikacji Xamarin Cross Platform
Odpowiedz
Xamarin ma przyzwoitą przykład program o nazwie Tasky który wykorzystuje SQLite i PCL: http://docs.xamarin.com/guides/cross-platform/application_fundamentals/pcl/introduction_to_portable_class_libraries/
Oto fragment odnoszące się do SQLite i PCL:
Portable Class Library jest ograniczona w .NET funkcje, które może obsługiwać. Ponieważ jest skompilowany do uruchamiania na wielu platformach, nie może korzystać z funkcji [DllImport] używanej w SQLite-NET. Zamiast tego SQLite-NET jest zaimplementowana jako klasa abstrakcyjna, a następnie odwoływana przez resztę udostępnionego kodu. Wyciąg z abstrakcyjnej API znajduje się poniżej:
public abstract class SQLiteConnection : IDisposable {
public string DatabasePath { get; private set; }
public bool TimeExecution { get; set; }
public bool Trace { get; set; }
public SQLiteConnection(string databasePath) {
DatabasePath = databasePath;
}
public abstract int CreateTable<T>();
public abstract SQLiteCommand CreateCommand(string cmdText, params object[] ps);
public abstract int Execute(string query, params object[] args);
public abstract List<T> Query<T>(string query, params object[] args) where T : new();
public abstract TableQuery<T> Table<T>() where T : new();
public abstract T Get<T>(object pk) where T : new();
public bool IsInTransaction { get; protected set; }
public abstract void BeginTransaction();
public abstract void Rollback();
public abstract void Commit();
public abstract void RunInTransaction(Action action);
public abstract int Insert(object obj);
public abstract int Update(object obj);
public abstract int Delete<T>(T obj);
public void Dispose()
{
Close();
}
public abstract void Close();
}
Pozostała udostępnionego kodu używa klasy abstrakcyjnej do „sklepu” i „pobierać” obiektów z bazy danych. W każdej aplikacji, która używa tej abstrakcyjnej klasy, musimy przejść kompletną implementację, która zapewnia rzeczywistą funkcjonalność bazy danych.
- 1. Implementacja Xamarin SQLite PCL
- 2. Xamarin: Prosta aplikacja z platformą Cross Cross
- 3. Xamarin thrift pcl Implementation
- 4. System.Timer brakuje w Xamarin PCL
- 5. Cross-Platform In-App zarabianie z Cordova
- 6. GetConstructors w bibliotece PCL Xamarin
- 7. Wspólna biblioteka Xamarin i PCL
- 8. najlepszą metodą cross-platform, aby dostosować pamięć
- 9. konfiguracja studia xamarin do pracy z PCL i MVVMCross
- 10. Jak odczytać plik tekstowy w projekcie PCL Xamarin Forms?
- 11. Narzędzie SQLite z obsługą klucza obcego?
- 12. Używanie NUnit z PCL
- 13. Xamarin Android z obsługą wielu kamer - błąd w trybie debugowania
- 14. Jak korzystać z usługi WCF w Xamarin.forms PCL?
- 15. Dynamiczne biblioteki C++ Cross Platform; Linux i Windows
- 16. Jak utworzyć pole wyboru w formularzach xamarin
- 17. Jak mogę utworzyć funkcję z obsługą zakończenia w Swift?
- 18. Szukasz cross-platform, np end-to-end z C++ do WPF/Cocoa interoperacyjności
- 19. Korzystanie z biblioteki Swift w Xamarin
- 20. PHP z obsługą sqlite3
- 21. Jak utworzyć model EER z sqlite db
- 22. Formy Xamarin: StackLayout z zaokrąglonymi narożnikami
- 23. Jaki jest najlepszy sposób na stworzenie aplikacji mobilnej z obsługą bluetooth?
- 24. Błąd w przykładowej aplikacji Xamarin
- 25. Xamarin Forms PCL HttpClient rzuca nieobsługiwany wyjątek na Androida
- 26. Jak można utworzyć zmaterializowany widok w sqlite?
- 27. Odwołanie do PCL (Portable Class Library) z projektu Xamarin Mono na Androida
- 28. Jak programowo utworzyć bazę danych sqlite?
- 29. Animowane Ekran powitalny na aplikacji Netbeans Platform
- 30. Aktualizacja aplikacji Xamarin na Androida