Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sami1971/SimplyMobile
Collection of abstracted mobile functionalities. Xamarin.iOS, Xamarin.Android & WP8.
https://github.com/sami1971/SimplyMobile
Last synced: about 1 month ago
JSON representation
Collection of abstracted mobile functionalities. Xamarin.iOS, Xamarin.Android & WP8.
- Host: GitHub
- URL: https://github.com/sami1971/SimplyMobile
- Owner: sami1971
- Created: 2013-08-22T20:40:19.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2019-02-02T19:42:39.000Z (almost 6 years ago)
- Last Synced: 2024-08-03T17:14:30.038Z (5 months ago)
- Language: C#
- Homepage:
- Size: 16.2 MB
- Stars: 113
- Watchers: 16
- Forks: 42
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-xamarin - SimplyMobile ★103 - Collection of abstracted mobile functionalities. (Framework)
README
SimplyMobile
============Collection of abstracted mobile functionalities. Xamarin.iOS, Xamarin.Android & WP8.
Simple to use components and usage examples suitable also for new Xamarin developers. Device abstraction examples
help in understanding the differences between the platforms. Usage of the components are designed to be extremely
simple.Example use of the static Battery class is the same from iOS, Android and WP8:
var currentBatteryLevel = Battery.Level; // returns a unified 0-100 based on the battery level
Battery.OnLevelChange += (sender, level) => {...subscribes to level change events...};
One of the most helpful classes is a data source designed to work with the base data observers (UITableView, ListView etc).
On Windows platforms many controls already use ObservableCollection as their data source so it was the natural base for
the class. Basic use (displaying textbox with the object value) does not require more than the below code. To display
custom views only a few lines of code is needed (more in the wiki-pages).// create a new datasource from existing collection (optional)
var dataSource = new ObservableDataSource ();
// bind a consumer, f.e. UITableView
datasource.Bind();
// add new item, will automatically refresh the consumer
dataSource.Add(new EditableText());
Project also includes some plugins using third party OSS libraries. For example IJsonSerializer has both JSON.Net and
ServiceStack.Text plugins allowing easy swap from one (de)serializer to another and of course the so important performance
tests. Recent addition is ServiceStack.OrmLite.SQLite libraries for both iOS and Android allowing easy access to SQLite
databases (ServiceStack.OrmLite also supports many major databases on the desktop/server side).