Giter Club home page Giter Club logo

todolite-xamarin-forms's Introduction

โš ๏ธ This repo is obsolete. It is based on a version of Couchbase Lite that reached end of life years ago.

ToDoLite-Xamarin-Forms

This is a demo app showing how to use the Couchbase Lite framework to embed a nonrelational ("NoSQL") document-oriented database in an Xamarin Forms app and sync it with Couchbase Server in "the cloud".

Benefits of Couchbase Lite

What does Couchbase Lite bring to the table?

  • Transparent data sync. By now, users practically expect that data they enter on one device will be accessible from others, including their laptops. Couchbase Lite makes this easy. The app code operates on the local database, and bidirectional sync happens in the background.
  • Flexible, schemaless database. Documents are stored as JSON, though they can be accessed as native Objective-C objects for convenience. There is no predefined schema. If you want to add new features like due dates or photo attachments, you won't have to deal with data migrations. The data will even interoperate with older versions of the app.
  • Multi-user capability. With the Couchbase Sync Gateway, any number of users can securely sync with a single server database and share only the data they want to. The design of the gateway makes writing collaborative and social apps extremely easy.
  • Control over the back-end server. You're not dependent on a big company to host everyone's data for you: you can run your own server, whether in a data center, on a host like EC2, or just on a spare PC in your office. It's even possible (though this app doesn't show how) to synchronize directly between two devices (P2P), with no server.
  • Cross-platform. Couchbase Lite currently supports iOS, Android and Mac OS X, and its underlying data formats and protocols (as well as source code) are fully open.

Building & Running The Demo App

Down to business: You'll need a Mac with Xamarin installed to compile and run this app.

  1. Clone or download this repository.
  2. Open in Visual Studio.
  3. Restore all Nuget Packages. (will be done by Visual Studio on first build)
  4. In Solution Manager, select Android or Ios as your start-up project.
  5. Click the Run button

That's it!

Quick modifications you might want to make.

Change the Sync Url to point to your personal Sync Gateway Server.

If you run your own sync gateway, the sync function source code we use is available in the sync-gateway-config.json file in the root of this repository.

To add the framework to your existing Xcode project

Please see the documentation for Couchbase Lite.

License

Released under the Apache license, 2.0.

Copyright 2011-2015, Couchbase, Inc.

todolite-xamarin-forms's People

Contributors

borrrden avatar martinesmann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

todolite-xamarin-forms's Issues

libsqlite3.so Not Found

So I have a problem with only the Android build where I get the errors below. I am using a Macbook pro, Xamarin Studio Alpha latest version, on a Nexus 6P real device and emulator. iOS builds fine and works.

Application Output:
CONSTRUCTOR!
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> System[0xeb8abe80]: 12
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> System.Core[0xd97a8540]: 8
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> Newtonsoft.Json[0xeb8aa860]: 3
[Mono] DllImport attempting to load: '/system/lib/liblog.so'.
[Mono] DllImport loaded library '/system/lib/liblog.so'.
[Mono] DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so').
[Mono] Searching for 'android_log_print'.
[Mono] Probing '__android_log_print'.
[Mono] Found as '__android_log_print'.
Manager: Starting Manager version: 1.1.1 (c051fa0)
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> Stateless[0xeb8aab00]: 2
[Mono] Assembly Loader probing location: '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.__override
/System.Net.Http.dll'.
[Mono] Image addref System.Net.Http[0xd97aaf40] -> /storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/System.Net.Http.dll[0xd83cd900]: 2
[Mono] Assembly System.Net.Http[0xd97aaf40] added to domain RootDomain, ref_count=1
[Mono] AOT module '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/System.Net.Http.dll.so' not found: dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libaot-System.Net.Http.dll.so" not found
[Mono] AOT module '/Users/builder/data/lanes/3511/0831d928/source/monodroid/builds/install/mono-armv7/lib/mono/aot-cache/arm/System.Net.Http.dll.so' not found: dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libaot-System.Net.Http.dll.so" not found
[Mono] Assembly Loader loaded assembly from location: '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/System.Net.Http.dll'.
[Mono] Config attempting to parse: '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/System.Net.Http.dll.config'.
[Mono] Config attempting to parse: '/Users/builder/data/lanes/3511/0831d928/source/monodroid/builds/install/mono-armv7/etc/mono/assemblies/System.Net.Http/System.Net.Http.config'.
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> System.Net.Http[0xd97aaf40]: 2
[Mono] Assembly Ref addref System.Net.Http[0xd97aaf40] -> mscorlib[0xeb8aa020]: 38
Loaded assembly: /storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/System.Net.Http.dll [External]
[Mono] Assembly Loader probing location: '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/SQLitePCL.raw.dll'.
[Mono] AOT module '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/SQLitePCL.raw.dll.so' not found: dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libaot-SQLitePCL.raw.dll.so" not found
[Mono] AOT module '/Users/builder/data/lanes/3511/0831d928/source/monodroid/builds/install/mono-armv7/lib/mono/aot-cache/arm/SQLitePCL.raw.dll.so' not found: dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libaot-SQLitePCL.raw.dll.so" not found
[Mono] Assembly Ref addref Couchbase.Lite[0xeb8aaaa0] -> SQLitePCL.raw[0xeb8aac80]: 2
[Mono] DllImport attempting to load: 'sqlite3'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport error loading library 'libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'sqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/sqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport error loading library 'libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport unable to load library 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport attempting to load: 'sqlite3'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport error loading library 'libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'sqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/sqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3" not found'.
[Mono] DllImport error loading library '/storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//storage/emulated/0/Android/data/ToDoLiteXamarinForms.Droid/files/.override/libsqlite3.so" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3" not found'.
[Mono] DllImport error loading library '/system/lib/libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm//system/lib/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport error loading library 'libsqlite3.so': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3.so" not found'.
[Mono] DllImport error loading library 'libsqlite3': 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.
[Mono] DllImport unable to load library 'dlopen failed: library "/data/app/ToDoLiteXamarinForms.Droid-1/lib/arm/libsqlite3" not found'.

Can't find Sqlite db file.

I built this project with my android phone( Samsung S6).
I would like to see the database structure but I can't find the file on the device.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.