Additional Topics. API Bindings Bindings Binding Native API’s Create Binding Project Drop Jar or.a Done.

Slides:



Advertisements
Similar presentations
Bruce Scharlau, University of Aberdeen, 2012 Data storage options for mobiles Mobile Computing.
Advertisements

Here’s what we see when we start a new BlueJ “Project”. BlueJ automatically creates a small “readme.txt” file to hold any directions we wish to write about.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Location based social networking on Android phones – integrated with Facebook. Simple and easy to use.
Peoplesoft: Building and Consuming Web Services
Accelerate your SaaS Integration The Cloud Adapter SDK Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Android Application Development with Java UPenn CS4HS 2011 Chris Murphy
SQLite and the.NET Framework This PPT:
FHIRFarm – How to build a FHIR Server Farm (quickly)
Introducing Xamarin 2.0 Introducing Xamarin 2.0 Michael Hutchinson
Mobile Voice Mate Final Presentation H.T.M. Gamage F.
Mobile Programming Lecture 1 Getting Started. Today's Agenda About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities,
Hot Tuna CROSS PLATFORM DEVELOPMENT WITH.NET, XAMARIN AND MVVMCROSS.
JavaScript & jQuery the missing manual Chapter 11
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
PARSING FACEBOOK DATA FOR ANDROID 1. Step by Step  Import Android SDK  Get the hash key  Create a new app  Create a new project in Eclipse 
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
Alternative databases CMSC 461 Michael Wilson. The power of relational databases  It’s often useful to have relational database power in unusual situations.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
© 2012 Autodesk Implementing Cloud-Based Productivity Solutions with the AutoCAD® ObjectARX® API Ravi Krishnaswamy Senior Software Architect.
Tom Castiglia Hershey Technologies
Part 04 – Preparing to Deploy to the Cloud Entity Framework and MVC Series Tom Perkins NTPCUG.
While you are waiting, please install the Windows 10 phone emulators because the installation takes a while and we will be using them during the lab later.
Android Storage. There are several options for storage of data with Android We can put data into a preferences file. We can put data into a ‘normal’ file.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Copyright © IBM Corp., All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero.
GTK Binding for Alice Robert Grabowski Eine GTK-Schnittstelle für Alice.
Hibernate 3.0. What is Hibernate Hibernate is a free, open source Java package that makes it easy to work with relational databases. Hibernate makes it.
The short road to iOS development Delphi for iOS.
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
User Interface Android GUI Tool OpenGL API XML Writer Optimized Layout Algorithm WPF Component Inter.
A FIRST TOUCH ON NOSQL SERVERS: COUCHDB GENOVEVA VARGAS SOLAR, JAVIER ESPINOSA CNRS, LIG-LAFMIA, FRANCE
Welcome to Azure App Services! Amie Seisay
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5.
Welcome to Azure App Services! Amie Seisay
ThinStructure: An Overview Support for ThinStructure demonstration. Jean Georges Perrin – Annandale, 21 st April 2004.
App Package Folder App data Folders Local Roaming Temp Removable Storage (SD Card) Cloud Credential Locker B/ground Transfer Publishers Shared Folder.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
JSON C# Libraries Parsing JSON Files “Deserialize” OR Generating JSON Files “Serialize” JavaScriptSerializer.NET Class JSON.NET.
Introduction to Android OS Димитър Н. Димитров Astea Solutions AD.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Power BI for Developers Rui Romano SQLSaturday.com
Data in Windows 10 UWP Andy Wigley XML, JSON, SQLite or EF Core ?
Java for android Development Nasrullah Khan. Using instanceof in Android Development the classes such as Button, TextView, and CheckBox, which represent.
Keynote Enabling Mobile DevOps
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Ensuring Quality Mobile Apps with Testing and Crash Reporting Seth Valdetero.
Intro To Android Programming
Xamarin Development with
Randy Dalrymple HillyRoad, LLC
Beginning of Xamarin for iOS development
Geospatial Research & Solutions GIS.ASU.EDU
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
WWU Hackathon May 6 & 7.
Android Studio, Android System Basics and Git
Development-Introduction
Installation The Intercompany Integration Solution for SAP Business One Version 2.0 for SAP Business One 9.1 Welcome to the course on the installation.
Android Storage.
ADO.NEXT Advances in Data Access for 2008
Microsoft Build /3/2019 4:12 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Windows Forms in Visual Studio 2005: An in-depth look at key features
Erik Porter Program Manager ASP.NET Microsoft Corporation
Presentation transcript:

Additional Topics

API Bindings

Bindings Binding Native API’s Create Binding Project Drop Jar or.a Done

You wish! Painful

Bindings Android Generate C# stubs from Java Classes Simple Jar’s work without issues XML transforms for differences in C# / Java: – Anonymous inner classes – Data Type Mapping – Enums Samples available Did I say it’s painful already?

Bindings iOS Have to define all Classes / Methods manually ObjectiveSharpie command line tool – Great help – Still a lot of manual work linkwith.cs file requires manual adaption – C Libraries – iOS Frameworks Errors appear when linking

Let’s have a look Urban Airship binding (MyWorldVision)

Bindings Conclusion Many API’s are already available, maintained by main developer (Facebook, Microsoft etc.) Try to avoid bindings if other Components / Packages are available (-> e.g. Parse) Read error messages Use Xamarin Forums, Stackoverflow Be patient!

SQLite Crossplattform DB

Data Model public class TodoItem { public TodoItem () { } [PrimaryKey, AutoIncrement] public int ID { get; set; } public string Name { get; set; } public string Notes { get; set; } public bool Done { get; set; } }

Get Connection (Dependency Service) public interface ISQLite { SQLiteConnection GetConnection(); }

Android Implementation public SQLite.SQLiteConnection GetConnection () { var sqliteFilename = "TodoSQLite.db3"; string documentsPath = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal); // Documents folder var path = Path.Combine(documentsPath, sqliteFilename); // Create the connection var conn = new SQLite.SQLiteConnection(path); // Return the database connection return conn; }}

Usage Init: database = DependencyService.Get ().Get Connection (); database.CreateTable (); SQL Query: return database.Query ("SELECT * FROM [TodoItem] WHERE [Done] = 0");

Usage LINQ Expressions: TodoItem GetItem (int id){ return database.Table ().FirstOrDefault ( x => x.ID == id); } return database.Delete (id);

Let’s have a look SQLite Demo App

JSON.Net Jason!

Decisions, decisions System.Json vs Json.Net -> Use Json.Net unless you have a good reason -> Less restrictive

Basic example var todoItem = new TodoItem { ID = 1, Name = "Name” }; var json = JsonConvert.SerializeObject (todoItem); Debug.WriteLine ("JSON representation of todoItem: {0}", json); var person2 = JsonConvert.DeserializeObject (json); Debug.WriteLine ("{0} - {1}", person2.ID, person2.Name);

Linq example string jsontext Name: 'Bob', HairColor: 'Brown' }"; var bob = JObject.Parse (jsontext); Debug.WriteLine ("{0} with {1} hair", bob["Name"], bob["HairColor"]);

Let’s have a quick look JSON Example

UI Tests Testcloud

TestCloud Physical devices mounted in Rack

UI Test For all native Apps Physical devices mounted in Rack Run locally in Simulator (iOS, Android) Deploy to Cloud for mass testing 60 Device Minutes included More is a bit expensive

UI Test – how it works iOS: e.NativeView.AccessibilityIdentifier = value; Android: e.NativeView.ContentDescription = value; [Test] public void WelcomeTextIsDisplayed () { AppResult[] results = app.WaitForElement (c => c.Marked ("Welcome to Xamarin Forms!")); app.Screenshot ("Welcome screen."); Assert.IsTrue (results.Any ()); }

Tests Let’s have a look (Local App)

Tests Let’s have a look (testcloud.xamarin.com)

Insights Analytics & Crash Reports made easy

Usage Import Package Register API Key Done

Hold your horses… Uncaught Exceptions get reported automatically Exception Reporting for caught exceptions: Insights.Report(ex); User Identification Events Timed Events

Insights platform/insights/application/ platform/insights/application/