REALM.IO NOSQL FOR MOBILE
|
|
- Egbert Conley
- 6 years ago
- Views:
Transcription
1 REALM.IO NOSQL FOR MOBILE
2 Mitchell Tilbrook Mobile Seatfrog Android, ios, Xamarin Recording & Editing for 7+ meet-ups ANZCoders: ANZCoders Android Sydney:
3 WHY?
4 1. Not always FAST 2. Threading is hard 3. Writes can block reads 4. Stringly typed schema 5. Object Mapping 6. Migrations
5
6 DATA MODELS
7 ANDROID MODELS public class Person extends RealmObject { private String name; private int age; // Getters and Setters OR
8 ANDROID INTERFACE public class Person implements RealmModel { private String name; private int age; // Getters and Setters // with RealmObject person.isvalid(); // With RealmModel RealmObject.isValid(user);
9 PROPERTY ATTRIBUTES
10 ANDROID PRIMARY KEY public class Person extends RealmObject private int id; private String name; private Int age; // Getters and Setters
11 REQUIRED public class Person extends RealmObject private String private Int age; // Getters and Setters
12 INDEXING public class Person extends RealmObject private String name; private int age; // Getters and Setters
13 DON'T PERSIST PROPERTIES public class User extends RealmObject { private String private String sessiontoken; // Getters and Setters
14 CUSTOM MODEL LOGIC public class Person extends RealmObject { private String name; private int age; public String getname() { return name.touppercase(); public String getnameandage() { return name + " is " + age + " old"; public void setname(string newname) { name = newname.touppercase();
15 QUERYING // Gets All the Users RealmQuery<Person> query = realm.where(person.class);
16 QUERYING // Gets All the Users RealmQuery<Person> query = realm.where(person.class); // Add query conditions: query.equalto("name", "John"); query.or().equalto("name", "Peter"); // Execute the query: RealmResults<Person> result1 = query.findall(); // Or alternatively do the same all at once (the "Fluent interface"): RealmResults<Person> result2 = realm.where(person.class).equalto("name", "John").or().equalTo("name", "Peter").findAll();
17 MANY-TO-ONE public class Person extends RealmObject { //... private Dog dog; // Getters and Setters
18 MANY-TO-MANY public class Person extends RealmObject { //... private RealmList<Dog> dogs; // Getters and Setters
19 RECURSIVE RELATIONSHIPS public class Person extends RealmObject { public String name; public RealmList<Person> friends; // Other fields public class Person extends RealmObject { public String name; public Person father; // Other fields
20 LINKED QUERIES public class Person extends RealmObject { private String id; private String name; private RealmList<Dog> dogs; // getters and setters public class Dog extends RealmObject { private String id; private String name; private String color; // getters and setters
21 LINKED QUERIES
22 LINKED QUERIES RealmResults<Person> persons = realm.where(person.class).equalto("dogs.color", "Brown").findAll();
23 QUERYING IS LAZY RealmResults<Person> result = realm.where(person.class).findall();
24 READING LAZY DATA Person person = results.get(1); String name = person.getname();
25 ASYNC QUERYING private RealmChangeListener callback = new RealmChangeListener() public void onchange(realmresults<person> results) { // called once the query complete and on every update ; public void onstart() { RealmResults<Person> result = realm.where(person.class).findallasync(); result.addchangelistener(callback);
26 AUTO UPDATING RealmResults<Person> peoples = realm.where(person.class).findall(); peoples.size(); // => 0 addrandomperson(); peoples.addchangelistener( results -> { // results and peoples point are both up to date results.size(); // => 1 peoples.size(); // => 1 );
27 CHANGE EVENTS BUBBLE RealmResults<Person> peoples = realm.where(person.class).findall(); peoples.addchangelistener( results -> { /*... */ ); realm.addchangelistener( results -> { /*... */ );
28 FINE GRAIN CHANGE LISTENERS
29 SAVING UNMANAGED OBJECTS Person obj = new Person(); obj.setid(42); obj.setname("fish"); // Obtain a Realm instance Realm realm = Realm.getDefaultInstance(); // Save to disk realm.begintransaction(); managedperson = realm.copytorealmorupdate(obj); realm.committransaction();
30 SAVING MANAGED OBJECTS // Obtain a Realm instance Realm realm = Realm.getDefaultInstance(); realm.begintransaction(); Person person = realm.createobject(person.class); person.setname("mitchell"); person.setage(27); realm.committransaction();
31 ROLLBACK FAILED TRANSACTIONS try { realm.begintransaction(); Person person = realm.createobject(person.class); person.setname("mitchell"); person.setage(27); realm.committransaction(); catch(exception ex) { // Rollback realm.canceltransaction();
32 RECOMMENDED TRANSACTION STYLE outerrealm.executetransaction(new Realm.Transaction() public void execute(realm realm) { Person person = realm.createobject(person.class); person.setname("mitchell"); person.setage(27); );
33 ASYNCHRONOUS TRANSACTIONS realm.executetransactionasync({ //..., new Realm.Transaction.OnSuccess() public void onsuccess() { // Transaction was a success., new Realm.Transaction.OnError() public void onerror(throwable error) { // Transaction failed and was automatically canceled. );
34 DELETE TRANSACTIONS realm.executetransaction(new Realm.Transaction() public void execute(realm realm) { person.getdog().deletefromrealm(); person.deletefromrealm(); );
35 AGGREGATION RealmResults<User> results = realm.where(user.class).findall(); long sum = results.sum("age").longvalue(); long min = results.min("age").longvalue(); long max = results.max("age").longvalue(); double average = results.average("age"); long matches = results.size();
36
37 ENCRYPTION // Totally not safe key val key = new byte[64]; new SecureRandom().nextBytes(key); val config = new RealmConfiguration.Builder().encryptionKey(key).build(); // Open the Realm with encryption enabled val realm = Realm.getInstance(config);
38 DATA MIGRATIONS
39 JUST DELETE IT RealmConfiguration config = new RealmConfiguration.Builder().deleteRealmIfMigrationNeeded().build()
40 MIGRATIONS RealmConfiguration config = new RealmConfiguration.Builder().schemaVersion(2) // Must be bumped when the schema changes.migration(new MyMigration()) // Migration to run instead of throwing an exception.build()
41 MIGRATIONS RealmMigration migration = new RealmMigration() public void migrate(dynamicrealm realm, long oldversion, long newversion) { RealmSchema schema = realm.getschema(); if (oldversion == 0) { schema.create("person").addfield("name", String.class).addField("age", int.class); oldversion++; if (oldversion == 1) { schema.get("person").addfield("id", long.class, FieldAttribute.PRIMARY_KEY).addRealmObjectField("favoriteDog", schema.get("dog")).addrealmlistfield("dogs", schema.get("dog")); oldversion++;
42 REALM SETUP
43 ANDROID SETUP buildscript { repositories { jcenter() dependencies { classpath "io.realm:realm-gradle-plugin:2.0.0" apply plugin: 'realm-android'
44 ANDROID INIT public class MyApplication extends Application public void oncreate() { super.oncreate(); Realm.init(this); RealmConfiguration config = new RealmConfiguration.Builder().build(); Realm.setDefaultConfiguration(config)
45 SWIFT & OBJECTIVE-C
46 REALM BROWSER
47
48 REALM MOBILE PLATFORM
49 REALM USER SEGREGATION
50 DRAWBACKS Thread confined* Large binary Connections need to be closed
51 ANDROID SIZE COST
52 IOS SIZE COST
53 INSPECT REALM ON ANDROID Realm.init(this); Stetho.initialize( Stetho.newInitializerBuilder(this).enableDumpapp( Stetho.defaultDumperPluginsProvider(this) ).enablewebkitinspector( RealmInspectorModulesProvider.builder(this).build() ).build());
54 ANDROID LIBRARY INTEGRATIONS JSON ( GSON, Moshi ) RxJava Retrofit
55 RXJAVA SUPPORT realm.where(person.class).findallasync().asobservable();
56 RXJAVA REALM SCHEDULER fun Schedulers.newRealmThread(): Scheduler { val backgroundthread = HandlerThread( "RxRealm-BackgroundThread", THREAD_PRIORITY_BACKGROUND ) backgroundthread.start() val backgroundlooper = backgroundthread.looper return AndroidSchedulers.from(backgroundLooper) compile "io.reactivex:rxandroid:$rx_android_version"
57 PRODUCTION READY?
58
59 YES
60 QUESTIONS?
61 Mitchell " GITHUB.COM/MARUKAMI
Realm Mobile Database. Knoxville CocoaHeads April 2017 by Gavin Wiggins
Realm Mobile Database Knoxville CocoaHeads April 2017 by Gavin Wiggins What is the Realm Mobile Database? 2 Free open-source mobile database with support for Java, Objective-C, Javascript, Swift, and Xamarin
More informationAndroid About.me/DavidCorrado Mobile Meetup Organizer
Android Tips/Tricks @DavidCorrado About.me/DavidCorrado Mobile Meetup Organizer IDE Don t Use Eclipse Use either Android Studio/IntelliJ They are basically the same thing. They are both built off of IntelliJ
More informationData binding. in a Kotlin world. Lisa
Data binding in a Kotlin world Lisa Wray Data binding in a Kotlin world Lisa Wray Data binding in a Kotlin world Lisa Wray Less code is better code 1. Quick tour of The Best Parts of data binding 2. Kotlin
More informationCONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS
CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS WHY CONVERTIGO SDK? Abstracts Mobile app developer from protocol complexity Gives simple cross-platform API to access Convertigo MBaaS
More informationWriting Browser Extensions in Kotlin. Kirill Rakhman busradar.com
Writing Browser Extensions in Kotlin Kirill Rakhman (@Cypressious) busradar.com KotlinJS No longer expiremental since 1.1.0 Can run anywhere where JS runs Can call JS Websites NodeJS Browser Extensions
More informationAndroid Best Practices
Android Best Practices Agenda Introduction The clean architecture Testing Support library Libraries we can depend on What's next Introduction Introduction Android Studio Gradle Material Design Lollipop
More informationKotlin, Start? Start! (pluu) Android Developer GDG Korea Android Organizer
Kotlin, Start? Start! (pluu) Android Developer GDG Korea Android Organizer Agenda Kotlin Overview Kotlin?? Basic fun main(args: Array): Unit { println("hello, world!") Basic Function Keyword
More informationSHIFTLEFT OCULAR THE CODE PROPERTY GRAPH
SHIFTLEFT OCULAR INTRODUCTION ShiftLeft Ocular offers code auditors the full range of capabilities of ShiftLeft s best-in-class static code analysis 1, ShiftLeft Inspect. Ocular enables code auditors to
More informationSoftware Agent Computing. Agent Mobility
Software Agent Computing Agent Mobility Planning mobility roadmap Agent mobility = to migrate or to make a copy (clone) itself across one or multiple network hosts Support for mobility in JADE: a set of
More informationWireless Vehicle Bus Adapter (WVA) Android Library Tutorial
Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Revision history 90001431-13 Revision Date Description A October 2014 Original release. B October 2017 Rebranded the document. Edited the document.
More informationMCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com
70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...
More informationAdvanced Dependency Management with Gradle. Benjamin Muschko, Gradle Inc.
Advanced Dependency Management with Gradle Benjamin Muschko, Gradle Inc. Custom requirements in complex builds Dependency management requires conscious decisions and trade- offs Transitive dependencies
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationArchitecture using Functional Programming concepts < + >
Architecture using Functional Programming concepts < + > Jorge Castillo @JorgeCastilloPr 1 2 Kotlin and Functional Programming FP means concern separation (declarative computations vs runtime execution),
More informationRxJava. and WHY you should care. Jeroen Tietema
RxJava and WHY you should care Jeroen Tietema Overview intro of RxJava why? some tips What is RxJava? Java implementation of Reactive Extensions Reactive Extensions is.net implementation of Reactive Programming
More informationProgramming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI
Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First
More informationYou can do better with Kotlin. Svetlana Isakova
You can do better with Kotlin Svetlana Isakova Kotlin Programming Language - modern - pragmatic - Android-friendly Official on Android Not only Android Pragmatic - tooling - Java interop From has good
More informationSpring Interview Questions
Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About
More informationDay 3. COMP 1006/1406A Summer M. Jason Hinek Carleton University
Day 3 COMP 1006/1406A Summer 2016 M. Jason Hinek Carleton University today s agenda assignments 1 was due before class 2 is posted (be sure to read early!) a quick look back testing test cases for arrays
More informationHello! I AM ZARAH. I am an Android developer for Domain.com.au
TOOLS OF THE TRADE Hello! I AM ZARAH I am an Android developer for Domain.com.au THE KEY Know available tools THE KEY Know available tools There is no correct setup CODE FRAGMENTS FRAGMENT LIFECYCLE FragmentManager.enableDebugLogging(true);
More informationConfigJSR and Friends. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien
ConfigJSR and Friends Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien About me Mark Struberg 25++ years in the industry Apache Software Foundation member struberg [at] apache.org RISE
More informationLecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University
Lecture 3 COMP1006/1406 (the Java course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments 1 (graded) & 2 3 (available now) & 4 (tomorrow) a quick look back primitive data types
More informationCS 1331 Exam 1. Fall Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score.
CS 1331 Exam 1 Fall 2016 Name (print clearly): GT account (gpburdell1, msmith3, etc): Section (e.g., B1): Signature: Failure to properly fill in the information on this page will result in a deduction
More informationNoSQL & Firebase. SWE 432, Fall Web Application Development
NoSQL & Firebase SWE 432, Fall 2018 Web Application Development Review: Nouns vs. Verbs URIs should hierarchically identify nouns describing resources that exist Verbs describing actions that can be taken
More informationChris Guzman. Developer chris-guzman.com
WebSocket to me! Chris Guzman Developer Advocate @ Nexmo @speaktochris chris-guzman.com Before... Before... (A few years ago) HTTP Polling TCP/IP Sockets WebSockets /webˈsäkəts/ bi-directional realtime
More informationKotlin for Android Developers
Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published
More informationKotlin for Android Developers
Kotlin for Android Developers Learn Kotlin the easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published
More informationdb4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators
Object-Oriented Oi t ddatabases db4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators Summary: db4o Part 1 Managing
More informationSpring MVC 4.x Spring 5 Web Reactive
Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping
More informationUSAS-R. Status, Current Design & Implications Technical. Fall OEDSA Dave Smith; SSDT
USAS-R Status, Current Design & Implications Technical Fall OEDSA 2010 Dave Smith; SSDT Disclaimer Still early in Development Cycle Not fully committed to some choices: Database Platforms, likely: Oracle
More informationUI-Testing, Reactive Programming and some Kotlin.
UI-Testing, Reactive Programming and some Kotlin anders.froberg@liu.se Load up your guns, and bring your friends This is the end, My only Friend, the end Äntligen stod prästen i predikstolen I ll be back
More informationAbout 1. Chapter 1: Getting started with dagger-2 2. Remarks 2. Versions 2. Examples 2. Description and Setup 2. Basic Example 3.
dagger-2 #dagger-2 Table of Contents About 1 Chapter 1: Getting started with dagger-2 2 Remarks 2 Versions 2 Examples 2 Description and Setup 2 Basic Example 3 Android example 4 Learn Dagger2 with simple
More informationBuilding Vaadin Applications With Pure Scala
Building Vaadin Applications With Pure Scala Henri Kerola Vaadin Expert at Vaadin Ltd ? Vaadin is a UI framework for rich web applications java html Internet Explorer Chrome Firefox Safari Opera
More informationMySQL 8.0: Atomic DDLs Implementation and Impact
MySQL 8.0: Atomic DDLs Implementation and Impact Ståle Deraas, Senior Development Manager Oracle, MySQL 26 Sept 2017 Copyright 2017, Oracle and/or its its affiliates. All All rights reserved. Safe Harbor
More informationNotes on Chapter Three
Notes on Chapter Three Methods 1. A Method is a named block of code that can be executed by using the method name. When the code in the method has completed it will return to the place it was called in
More informationCS371m - Mobile Computing. Persistence - Web Based Storage CHECK OUT g/sync-adapters/index.
CS371m - Mobile Computing Persistence - Web Based Storage CHECK OUT https://developer.android.com/trainin g/sync-adapters/index.html The Cloud. 2 Backend No clear definition of backend front end - user
More informationSQLite. 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 6: Working with Databases. What is a Database Server. Advantages of SQLite
SQLite 5COSC005W MOBILE APPLICATION DEVELOPMENT Lecture 6: Working with Databases Dr Dimitris C. Dracopoulos SQLite is a tiny yet powerful database engine. Besides Android, it can be found in: Apple iphone
More information2 years without Java or reload Android development with Kotlin.
2 years without Java or reload Android development with Kotlin KirillRozov@EPAM Who am I? Team Lead in EPAM More than 6 years in Android development Kotlin Evangelist Co-organizer GDG Minsk, Android Academy
More informationObject-Relational Mapping
Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises
More informationLecture 07: Object Encapsulation & References AITI Nigeria Summer 2012 University of Lagos.
Accelerating Information Technology Innovation http://aiti.mit.edu Lecture 07: Object Encapsulation & References AITI Nigeria Summer 2012 University of Lagos. Data Field Encapsulation Sometimes we want
More informationMessage Passing & APIs
CS 160 User Interface Design Message Passing & APIs Section 05 // September 25th, 2015 Tricia Fu // OH Monday 9:30-10:30am // triciasfu@berkeley.edu Agenda 1 Administrivia 2 Brainstorm Discussion 3 Message
More informationDistributed Systems Recitation 1. Tamim Jabban
15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Sunday, Tuesday: 9:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming A programming
More informationCS 1331 Exam 1 ANSWER KEY
CS 1331 Exam 1 Fall 2016 ANSWER KEY Failure to properly fill in the information on this page will result in a deduction of up to 5 points from your exam score. Signing signifies you are aware of and in
More information2/26/2017. DataFrame. The input data can be queried by using
Spark SQL is the Spark component for structured data processing It provides a programming abstraction called s and can act as distributed SQL query engine The input data can be queried by using Ad-hoc
More informationTHE MYSTERY OF THE 20GB LOG FILE. Instructor: Prasun Dewan (FB 150,
THE MYSTERY OF THE 20GB LOG FILE Instructor: Prasun Dewan (FB 150, dewan@unc.edu) PROBLEM? The server the grader is running on ran out of disk space so I'm currently compressing the 20GB of debug log files
More informationWhat is an algorithm?
Announcements CS 142 Objects/Classes in C++ Program 7 has been assigned - due Sunday, April 19 th by 11:55pm 4/16/2015 CS 142: Object-Oriented Programming 2 Definitions A class is a struct plus some associated
More informationWhat is an algorithm?
Announcements CS 142 Objects/Classes in C++ Program 7 has been assigned - due Sunday, Nov. 23 rd by 11:55pm 2 Definitions A class is a struct plus some associated functions that act upon variables of that
More informationCIT Special final examination
CIT 590-2016 Special final examination Name (please write your official name) PennID Number Note that your PennID number is the 8 digit bold number on your penn card. DO NOT START WRITING (aside from name
More informationGetter and Setter Methods
Example 1 namespace ConsoleApplication14 public class Student public int ID; public string Name; public int Passmark = 50; class Program static void Main(string[] args) Student c1 = new Student(); Console.WriteLine("please..enter
More informationIS-A is a way of saying: This object is a type of that object. Let us see how the extends keyword is used to achieve inheritance.
PART 17 17. Inheritance Inheritance can be defined as the process where one object acquires the properties of another. With the use of inheritance the information is made manageable in a hierarchical order.
More information1Z0-804 Q&As. Java SE 7 Programmer II Exam. Pass Oracle 1Z0-804 Exam with 100% Guarantee
1Z0-804 Q&As Java SE 7 Programmer II Exam Pass Oracle 1Z0-804 Exam with 100% Guarantee Free Download Real Questions & Answers PDF and VCE file from: 100% Passing Guarantee 100% Money Back Assurance Following
More informationObjectRiver. Metadata Compilers. WebSockets. JavaOne 2014 Steven Lemmo
ObjectRiver Metadata Compilers Programmatic WebSockets JavaOne 2014 Steven Lemmo 1 Sockets for the Web Finally! Before the Web ( Internal applications behind the firewall. Sockets RPC ( Sun ONC/RPC ) DCE
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 03: Creating Classes MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Creating Classes 2 Constructors and Object Initialization Static versus non-static fields/methods Encapsulation
More informationCMPSCI 187: Programming With Data Structures. Review for First Midterm 9 October 2011
CMPSCI 187: Programming With Data Structures Review for First Midterm 9 October 2011 Format Two hours, closed-book, no calculators, computers, etc. Question types as on practice exam: Java Concepts (10
More informationAndroid and Flux: It s a match! Attila Polacsek Senior Android Developer Supercharge
Android and Flux: It s a match! Attila Polacsek Senior Android Developer Supercharge INTRO INTRO WHAT IS FLUX? WHAT IS FLUX? What is FLUX? Application architecture Pattern, not a framework Created by Facebook
More informationRest Client for MicroProfile. John D. Ament
Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest
More informationSimple Component Writer's Guide
Simple Component Writer's Guide Note that most of the following also applies to writing ordinary libraries for Simple. The preferred language to write Simple components is Java, although it should be possible
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 03: Creating Classes MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Constructors and Object Initialization Static versus non-static fields/methods Encapsulation
More informationEnterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence. CocoBase Pure POJO
CocoBase Pure POJO Product Information V5 Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence CocoBase PURE POJO Uniquely Provides BEST IN INDUSTRY Support For The Full Range Of
More informationSoftware LEIC/LETI. Lecture 15
Software Engineering @ LEIC/LETI Lecture 15 Last Lecture Software Architecture Architectural Patterns Application Architectures Software Architecture in the Project Today Enterprise Application Architecture
More informationDistributed Systems Recitation 1. Tamim Jabban
15-440 Distributed Systems Recitation 1 Tamim Jabban Office Hours Office 1004 Tuesday: 9:30-11:59 AM Thursday: 10:30-11:59 AM Appointment: send an e-mail Open door policy Java: Object Oriented Programming
More informationCSE 344 Final Review. August 16 th
CSE 344 Final Review August 16 th Final In class on Friday One sheet of notes, front and back cost formulas also provided Practice exam on web site Good luck! Primary Topics Parallel DBs parallel join
More informationContent Provider. Introduction 01/03/2016. Session objectives. Content providers. Android programming course. Introduction. Built-in Content Provider
Android programming course Session objectives Introduction Built-in Custom By Võ Văn Hải Faculty of Information Technologies 2 Content providers Introduction Content providers manage access to a structured
More informationSpring Lecture 5 Lecturer: Omid Jafarinezhad
Mobile Programming Sharif University of Technology Spring 2016 - Lecture 5 Lecturer: Omid Jafarinezhad Storage Options Android provides several options for you to save persistent application data. The
More informationKotlin for Android developers
ROME - APRIL 13/14 2018 Kotlin for Android developers Victor Kropp, JetBrains @kropp Kotlin on JVM + Android JS In development: Kotlin/Native ios/macos/windows/linux Links Kotlin https://kotlinlang.org
More informationDistributed Systems Project 4 Assigned: Friday March 20 Due: Friday April 3, 11:59pm
95-702 Distributed Systems Project 4 Assigned: Friday March 20 Due: Friday April 3, 11:59pm Project Topics: Java RMI and a distributed, Mobile to Cloud application This project has 2 tasks. Task 1 is a
More informationARCHETYPE MODERN ANDROID ARCHITECTURE STEPAN GONCHAROV / DENIS NEKLIUDOV
ARCHETYPE MODERN ANDROID ARCHITECTURE STEPAN GONCHAROV / DENIS NEKLIUDOV 90seconds.tv 14000+ VIDEOS 1200+ BRANDS 92+ COUNTRIES data class RegisterViewModelStateImpl( override val email: ObservableString
More informationMobile Computing Practice # 2d Android Applications Local DB
Mobile Computing Practice # 2d Android Applications Local DB In this installment we will add persistent storage to the restaurants application. For that, we will create a database with a table for holding
More informationJava Concurrency in practice Chapter 9 GUI Applications
Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain
More informationCS100J Prelim I, 29 Sept. 2003
CS100J Prelim I, 29 Sept. 2003 CORNELL NETID NAME (PRINT LEGIBLY!) (last, first) Question 0 out of 02 This 90-minute exam has 6 questions worth a total of 100 points. Question 1 out of 20 We suggest that
More informationSemesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Remote Procedure Calls
Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Wintersemester 16/17 Remote Procedure Calls Patrick Schäfer patrick.schaefer@hu-berlin.de Marc Bux buxmarcn@informatik.hu-berlin.de
More informationTDDD49/725G66 C# and.net Programming. (Lecture 02)
TDDD49/725G66 C# and.net Programming (Lecture 02) http://www.camedin.com/live/b651b7af532c43b6abf458e083a9cc27 Class Creature public int LifeSpan; Class Human : Creature Public void walk(int meters)
More informationCross-compiling C++ to JavaScript. Challenges in porting the join.me common library to HTML5
Cross-compiling C++ to JavaScript Challenges in porting the join.me common library to HTML5 JUNE 24, 2015 LEVENTE HUNYADI join.me at a glance 2 join.me at a glance 3 join.me characteristics Application
More informationMySQL & NoSQL: The Best of Both Worlds
MySQL & NoSQL: The Best of Both Worlds Mario Beck Principal Sales Consultant MySQL mario.beck@oracle.com 1 Copyright 2012, Oracle and/or its affiliates. All rights Safe Harbour Statement The following
More informationAn Android Studio SQLite Database Tutorial
An Android Studio SQLite Database Tutorial Previous Table of Contents Next An Android Studio TableLayout and TableRow Tutorial Understanding Android Content Providers in Android Studio Purchase the fully
More informationYann
Scala Who am I? Yann Simon @simon_yann Why Scala? Fear to lose job? Java can be pain #1 public String createinvoicename( Date invoicedate, String invoiceid, String userid, String firmid, boolean directinvoice,
More informationEvent Handling Java 7
Event Handling Java 7 Waterford Institute of Technology September 25, 2014 John Fitzgerald Waterford Institute of Technology, Event Handling Java 7 1/24 Inheritance Inheritance v Interface Inheritance
More informationCS304 Object Oriented Programming Final Term
1. Which of the following is the way to extract common behaviour and attributes from the given classes and make a separate class of those common behaviours and attributes? Generalization (pg 29) Sub-typing
More informationA Performance Tale. The evolution of binding in JavaFX. Robert Field Brian Goetz Sun Microsystems, Inc.
A Performance Tale The evolution of binding in JavaFX Robert Field Brian Goetz Sun Microsystems, Inc. Overview This talk will chronicle our ongoing work on making JavaFX Script not only powerful and fun
More informationMobile Application Development
Mobile Application Development donation-web api { method: 'GET', path: '/api/candidates', config: CandidatesApi.find, { method: 'GET', path: '/api/candidates/{id', config: CandidatesApi.findOne, { method:
More informationAdvanced MEIC. (Lesson #18)
Advanced Programming @ MEIC (Lesson #18) Last class Data races Java Memory Model No out-of-thin-air values Data-race free programs behave as expected Today Finish with the Java Memory Model Introduction
More informationMonitoring and Managing Computer Resource Usage on OSGi Frameworks
Monitoring and Managing Computer Resource Usage on OSGi Frameworks Ikuo YAMASAKI Research Engineer NTT Cyber Solution Laboratories Background: Service Aggregation Platform Operation Center and Home Service
More informationWindows 8. Rainer Stropek. System Architecture. System Architecture re of Windows Store Apps. Saves the day. software architects gmbh
System Architecture re of Windows Store Apps Rainer Stropek software architects gmbh Windows 8 System Architecture Mail Web Twitter rainer@timecockpit.comcom http://www.timecockpit.com @rstropek Saves
More informationDROIDS ON FIRE. Adrián
DROIDS ON FIRE Adrián Catalán @ykro https://goo.gl/ ige2vk Developer experience matters Cross-platform Integrated Getting Started with Firebase http://github.com /ykro/wikitaco App.java @Override
More informationJava Classes, Inheritance, and Interfaces
Java Classes, Inheritance, and Interfaces Introduction Classes are a foundational element in Java. Everything in Java is contained in a class. Classes are used to create Objects which contain the functionality
More informationLambda Expressions and Java 8 Streams. Jan Trienes, adapted by Th. Dorssers, Pieter van den Hombergh. Contents of this talk.
Java 8 s and Java 8 van den Hombergh Fontys Hogeschool voor Techniek en Logistiek February 23, 2017 and /FHTenL s and Java 8 February 23, 2017 1/28 talk Expression and Internal/External Iteration Java
More informationCISC-124. Dog.java looks like this. I have added some explanatory comments in the code, and more explanation after the code listing.
CISC-124 20180115 20180116 20180118 We continued our introductory exploration of Java and object-oriented programming by looking at a program that uses two classes. We created a Java file Dog.java and
More informationProgramming Techniques Laboratory 1 OOP Principles
Programming Techniques Laboratory 1 OOP Principles Finance Application Purpose Develop an application that allows you to query different types of company considering the following filters: Name City Identification
More informationEF6 - Version: 1. Entity Framework 6
EF6 - Version: 1 Entity Framework 6 Entity Framework 6 EF6 - Version: 1 4 days Course Description: Entity Framework is the new ORM and data access technology introduced by Microsoft. Entity framework provides
More informationApache Tamaya Configuring your Containers...
Apache Tamaya Configuring your Containers... BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH About Me Anatole Tresch Principal Consultant,
More informationPro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol
Pro JPA 2 Mastering the Java Persistence API Mike Keith and Merrick Schnicariol Apress* Gootents at a Glance g V Contents... ; v Foreword _ ^ Afooyt the Author XXj About the Technical Reviewer.. *....
More informationWhat s new in Grails 2.0?
What s new in Grails 2.0? About me Jeff Brown Grails Core Developer SpringSource/VMware Engineer jbrown@vmware.com @jeffscottbrown 2 The Year in Grails 3 The Year in Grails Grails 1.3 Plugins in Dependency
More informationThe input data can be queried by using
1 Spark SQL is the Spark component for structured data processing It provides a programming abstraction called Dataset and can act as a distributed SQL query engine The input data can be queried by using
More informationDeveloping with the CityEngine SDK. Matthias Specht, Gert van Maren Esri R&D Center Zurich
Developing with the CityEngine SDK Matthias Specht, Gert van Maren Esri R&D Center Zurich Agenda Examples (5 min) Introduction SDK (5 min) SDK architecture, code samples (10 min) Creating Apps!!! (30 min)
More informationIntel Multi-OS Engine. Vitaly Adobe
Intel Multi-OS Engine Vitaly Tsaplin @ Adobe Introduction Technology Overview Agenda Development Workflow Deep Dive: Java To Native Bindings Takeaways QA Introduction The challenge of modern cross-platform
More informationJVM Survival Guide. Hadi Hariri
JVM Survival Guide Hadi Hariri This talk For What For Who 20 years of Java The Sun and The Oracle Java The Language Java The Virtual Machine Java The Ecosystem The Community Community Driven Not Vendor-Driven
More informationMake sure you have the latest Hive trunk by running svn up in your Hive directory. More detailed instructions on downloading and setting up
GenericUDAFCaseStudy Writing GenericUDAFs: A Tutorial User-Defined Aggregation Functions (UDAFs) are an excellent way to integrate advanced data-processing into Hive. Hive allows two varieties of UDAFs:
More informationCommunicating with a Server
Communicating with a Server Client and Server Most mobile applications are no longer stand-alone Many of them now have a Cloud backend The Cloud Client-server communication Server Backend Database HTTP
More informationLab 3. Accessing GSM Functions on an Android Smartphone
Lab 3 Accessing GSM Functions on an Android Smartphone 1 Lab Overview 1.1 Goals The objective of this practical exercise is to create an application for a smartphone with the Android mobile operating system,
More informationLearn more about our research, discover data science, and find other great resources at:
Learn more about our research, discover data science, and find other great resources at: http://www.dataminingapps.com Chapter 7 Delving Further into Object- Oriented Concepts Overview Annotations Overloading
More information