Smartphone Programming. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
|
|
- Clara Dennis
- 5 years ago
- Views:
Transcription
1 Smartphone Programming Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1
2 Objectives We will cover: Smartphone programming Android smartphone programming Resources Synchronous server interaction Asynchronous server interaction Cloud computing using Heroku 2
3 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 3
4 Why Smartphone Pgmming? Question: Why study smartphone programming? Answer: 4
5 Why Smartphone Pgmming? 5
6 SmartPhone Pgmming Options Question: For smartphone programming, what are my options? Answer:
7 Smartphone Pgmming Non-Option Ordinary Web App Smartphone Native OS Browser Web App HTTP Server 7
8 Smartphone Pgmming Non-Option Ordinary web app Runs in smartphone browser Installed on smartphone by setting browser bookmark Usually unacceptable Components too small Must zoom frequently 8
9 Smartphone Pgmming Option 1 Mobile Web App Smartphone Native OS Browser Mobile Web App HTTP Server 9
10 Smartphone Pgmming Option 1 Mobile web app Runs in smartphone browser Installed by setting browser bookmark 10
11 Smartphone Pgmming Option 1 Typically composed using HTML5 Some offline support (local storage) Canvas drawing Some video and audio streaming support GeoLocation API Drag and drop 11
12 Smartphone Pgmming Option 1 Typically composed using a Mobile web app library Handles differing device characteristics: Physical device characteristics (screen sizes, orientations) Browsers, versions of browsers Versions of JavaScript Example: jquery Mobile Not a mobile version of jquery! A UI layer on top of jquery 12
13 Smartphone Pgmming Option 2 Hybrid Mobile App Smartphone Native OS Hybrid Mobile App Embedded Browser Web App App Store 13
14 Smartphone Pgmming Option 2 Hybrid mobile app Native app (platform specific) Which runs an embedded browser Which runs your web app (platform independent) Installed via app store (Google Play, Apple App Store) 14
15 Smartphone Pgmming Option 2 Typically composed using HTML5 Some offline support (local storage) Canvas drawing Some video and audio streaming support GeoLocation API Drag and drop 15
16 Smartphone Pgmming Option 2 Typically composed using a Hybrid mobile app framework Typically handles differing device characteristics (screen sizes, orientations) Typically can access most native platform features Camera, notifications, accelerometer, complex gestures Examples: Ionic (used with AngularJS), Intel XDK, NativeScript, Xamarin, PhoneGap, Framework7 16
17 Smartphone Pgmming Option 3 Native Mobile App Smartphone Native OS Native Mobile App App Store 17
18 Smartphone Pgmming Option 3 Native mobile app Installed through app store (Google Play, Apple App Store) Specific to one platform Android or ios (or Windows Phone, Blackberry, ) Can use all device features GPS, accelerometer, compass, contacts, camera, gestures, notifications, Can work offline 18
19 Smartphone Pgmming Option 3 Composed using a Native mobile app framework For Android: Android SDK For ios: ios SDK Typically composed using a Native mobile app IDE For Android: Android Studio For ios: Xcode 19
20 Aside: React Native React Native Instead of rendering to the browser s DOM, React Native invokes Objective-C APIs to render to ios components, or Java APIs to render to Android components. This sets React Native apart from other cross-platform app development options, which often end up rendering web-based views. 20
21 SmartPhone Pgmming Options Factor Device features (GPS, camera, gestures, notifications) Mobile Web App Hybrid Mobile App Offline functionality Discoverability Speed Installation Maintenance (Multiple) Native Apps 21
22 SmartPhone Pgmming Options Factor Mobile Web App Hybrid Mobile App Platform independence Content restrictions, approval process, fees Development cost User interface (Multiple) Native Apps 22
23 Why Android Pgmming? Question: Why study Android programming? Answer 1: Android programming is in Java Which we know thoroughly So we need not cover another pgmming lang (Objective-C, Swift, ) 23
24 Why Android Pgmming? Answer 2: Worldwide Smartphone Sales to End Users by Operating System OS 1Q17 Units (Thousands) 1Q17 Market Share (%) 1Q16 Units (Thousands) 1Q16 Market Share (%) Android 327, , ios 51, , Other , TOTAL 379, ,
25 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 25
26 Android Virtual Devices To test an Android app Option 1: Use an Android phone Pro: Fast Option 2: Create an Android virtual device Run it using the Android emulator Pro: Convenient 26
27 Installing Android Studio Download and install Android Studio Browse to studio/index.html, and follow instructions Thereby install all required Java libraries 27
28 Creating a Virtual Device Create an Android virtual device Instructions from developer.android.com/training/basics/ firstapp/running-app.html 28
29 Creating a Virtual Device Instructions Launch Android Studio Launch the Android Virtual Device Manager by selecting Tools > Android > AVD Manager In the Your Virtual Devices screen, click Create Virtual Device In the Select Hardware screen, select a phone device and then click Next Suggestion: Choose Pixel 29
30 Creating a Virtual Device In the System Image screen, click Download for one of the recommended system images; agree to the terms to complete the download Suggestion: Choose Marshmallow After the download is complete, select the system image from the list and click Next. On the next screen, leave all the configuration settings as they are and click Finish Exit Android Studio 30
31 Running Android Emulator See AndroidSetupMac See AndroidSetupLinux See AndroidEmulate 31
32 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 32
33 HelloAndroid App HelloAndroid app Simplest possible Android app One screen Displays hello, world 33
34 Defining the App HelloAndroid/ AndroidManifest.xml res/ layout/ activity_main.xml values/ values.xml src/ edu/ princeton/ hello/ MainActivity.java 34
35 Defining the App Resources The Android resource system keeps track of all non-code assets associated with an application. 35
36 Defining the App Resources Using application resources makes it easy to update various characteristics of your application without modifying code, and by providing sets of alternative resources enables you to optimize your application for a variety of device configurations (such as for different languages and screen sizes). 36
37 Defining the App values.xml A resource file Factors strings out of Java code Facilitates internationalization 37
38 Defining the App activity_main.xml A resource file The layout for the MainActivity page is a vertical LinearLayout Class LinearLayout A layout that arranges other views either horizontally in a single column or vertically in a single row. The page contains a TextView object Class TextView A user interface element that displays text to the user. To provide user-editable text, see EditText. 38
39 Defining the App MainActivity.java Class Activity An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setcontentview(view). 39
40 Defining the App Class Bundle A mapping from String keys to various Parcelable values. Interface Parcelable Interface for classes whose instances can be written to and restored from a Parcel. 40
41 Defining the App Class Parcel Container for a message (data and object references) that can be sent through an IBinder. A Parcel can contain both flattened data that will be unflattened on the other side of the IPC (using the various methods here for writing specific types, or the general Parcelable interface), and references to live IBinder objects that will result in the other side receiving a proxy IBinder connected with the original IBinder in the Parcel. 41
42 Defining the App Class Binder Base class for a remotable object, the core part of a lightweight remote procedure call mechanism defined by IBinder. This class is an implementation of IBinder that provides standard local implementation of such an object.???!!! 42
43 Defining the App AndroidManifest.xml The app s name is Hello Note use of resource Name is displayed in the smartphone window The app has one Activity Its name is edu.princeton.hello.mainactivity 43
44 Building the App See convenience scripts AndroidSetupLinux AndroidSetupMac AndroidBuild 44
45 Building the App (1) Use aapt (Android Asset Packaging Tool) to package the resource declarations Creates R.java, R.class, R$attr.class, R$id.class, R$layout.class, R$string.class Java representations of resources 45
46 Building the App (2) Use javac to compile Creates MainActivity.class (3) Use Jill (Jack Intermediate Language Linker) to translate Java bytecode to intermediate bytecode Creates classes.jayce 46
47 Building the App (4) Use Jack (Java Android Compiler Kit) to translate intermediate bytecode to Dalvik bytecode Creates classes.dex Dalvik is the bytecode format that the ART (Android Runtime) understands 47
48 Building the App (5) Use aapt (Android Asset Packaging Tool) to make a partial APK file containing resources, including the manifest Enhances app.apkpart APK (Android Package Kit) is the package file format used for distribution and installation of Android apps 48
49 Building the App (6) Use ApkBuilder to make the complete APK file Creates app.apkunalign (7) Use zipalign to optimize the data alignment of the APK file Creates app.apk 49
50 Building the App Resulting directory structure: HelloAndroid/ AndroidManifest.xml app.apk app.apkpart app.apkunalign classes.dex classes.jayce res/ layout/ activity_main.xml values/ values.xml 8 directories 16 files ~64KB src/ edu/ princeton/ hello/ MainActivity.java MainActivity.class R.class R.java R$attr.class R$id.class R$layout.class R$string.class 50
51 Installing/Running the App Either run virtual device on emulator, or plug phone into USB port See convenience scripts AndroidInstall Use adb (Android Debug Bridge) to install the app on the phone or emulator and run the app 51
52 The Result 52
53 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 53
54 Why a Cloud Service? PennyAndroid apps must communicate with a server Where should the server run? Courselab? No; firewall CS Dept computer? OK for me, but most undergrad students don t have CS accts Local computer? No; unstable IP address Cloud? Yes! 54
55 Which Cloud Service Type? Cloud service types: Software as a Service (SaaS) The capability provided to the consumer is to use the provider s applications running on a cloud infrastructure. Example: Google Apps 55
56 Which Cloud Service Type? Platform as a Service (PaaS) The capability provided to the consumer is to deploy onto the cloud infrastructure consumercreated or acquired applications created using programming languages, libraries, services, and tools supported by the provider. Examples: Amazon Web Services, Microsoft Azure, Heroku 56
57 Which Cloud Service Type? Infrastructure as a Service (IaaS) The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. Examples: Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE) 57
58 Which Cloud Service Type? Which cloud service type for Penny? SaaS: impossible; too narrow IaaS: possible, but too broad PaaS: just right! 58
59 Which PaaS Cloud Service? Which PaaS cloud service for Penny? I chose Heroku Simple Free But beware of pricing model Popular In previous semesters for COS 333 projects In general 59
60 What Comm Protocol? Observations PennyAndroid apps could communicate with Penny server using any protocol For Android apps, common to use HTTP Using HTTP would allow server implementation via Python/Bottle Decisions Use HTTP Design Penny server as Python/Bottle web app 60
61 What Comm Protocol? Observations Penny server must read author name, write book list Book list could be expressed as XML, JSON, plain text, Decisions Keep it simple Express book list as plain text 61
62 Defining the App See PennyHeroku app book.py database.py penny.py Procfile runtime.txt requirements.txt 62
63 Defining the App penny.py Same as previous versions, except The only valid requests are / and /searchresults Delivers plain text, not HTML New paragraph at end 63
64 Defining the App If the APP_LOCATION env var is set to heroku then run the application on: Host , that is, on a heroku server Whatever port is specified by the value of the PORT env var, or port 5000 if there is no PORT env var Otherwise run the application on the local computer on port
65 Defining the App Procfile Tells Heroku the app s process type; it s a web app Tells Heroku the command to start the process runtime.txt Tells Heroku which version of Python it should use requirements.txt Tells Heroku what additional modules the app uses 65
66 Building the App Get a Heroku account Browse to Choose Python as primary dev lang Enter your addr Choose a password 66
67 Building the App Install the Heroku Command Line Interface (CLI) Browse to articles/heroku-cli Follow the instructions 67
68 Log into heroku: Building the App $ heroku login Create a Git repo on Heroku: $ heroku create Git responds with yourappname, which is also the name of your Git repo For me: fast-sands
69 Building the App Create a local Git repo, and specify your Heroku Git repo as its remote: $ cd PennyHeroku # if necessary $ heroku login # if necessary $ git init $ git add. $ git commit m "initial load" $ heroku git:remote a yourappname $ # For me: $ # heroku git:remote a fast-sands (Optional) Confirm that you set the remote repo: $ git remote -v 69
70 Building the App Deploy the app to Heroku: $ cd PennyHeroku # if necessary $ heroku login # if necessary $ git push heroku master Git uploads the app to Heroku repo Heroku builds the app 70
71 Running the App On Heroku set the value of the APP_LOCATION env var to heroku: $ heroku login # if necessary $ heroku config:set APP_LOCATION=heroku 71
72 Running the App Run the Heroku app Browse to: For me, browse to: 72
73 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 73
74 PennyAndroid1 App Android version of Penny Two pages Parallel to searchform and searchresults pages in Penny web apps Communicates with PennyHeroku [Demo] 74
75 Defining the App PennyAndroid1/ AndroidManifest.xml res/ layout/ activity_display_books.xml activity_main.xml values/ values.xml src/ edu/ princeton/ penny/ DisplayBooksActivity.java MainActivity.java 75
76 Defining the App values.xml Defines string resources 76
77 Defining the App activity_main.xml Defines layout of MainActivity page Vertical LinearLayout Contains an EditText object Class EditTex A user interface element for entering and modifying text. Contains a Button object Class Button A user interface element the user can tap or click to perform an action. Button tap causes call of sendmessage method 77
78 Defining the App activity_display_books.xml Defines layout of DisplayBooksActivity page Vertical LinearLayout Contains an TextView object 78
79 Defining the App MainActivity.java Defines sendmessage() Called when user taps Button Defines an Intent object Class Intent An intent is an abstract description of an operation to be performed Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed. Uses Intent object to start DisplayBooksActivity, passing it the author 79
80 Defining the App DisplayBooksActivity.java Android prohibits network access from main (UI) thread, so Main thread spawns a child thread, and waits/ join for completion Child thread uses Java URL class to contact PennyHeroku; passes book string to main thread Main thread updates TextView 80
81 Defining the App AndroidManifest.xml The app s name is Penny The app consists of two Activities The first Activity is named edu.princeton.penny.mainactivity The second Activity is named edu.princeton.penny.displaybooksactivity Its parent is MainActivity The app will use networking 81
82 Building the App Run AndroidBuild 82
83 Installing/Running the App Run AndroidEmulate Run AndroidInstall 83
84 Installing/Running the App 84
85 Installing/Running the App 85
86 Toward PennyAndroid2 Problem? User might prefer a one-screen app User might prefer app to respond to each keystroke (as with AJAX) Solution: PennyAndroid2 86
87 Agenda 1. Smartphone programming 2. Android virtual devices 3. HelloAndroid app 4. PennyHeroku app 5. PennyAndroid1 app 6. PennyAndroid2 app 87
88 PennyAndroid2 App PennyAndroid2 app One-screen app Responds to each keystroke [Demo] 88
89 Defining the App PennyAndroid2/ AndroidManifest.xml res/ layout/ activity_display_books.xml activity_main.xml values/ values.xml src/ edu/ princeton/ penny/ DisplayBooksActivity.java MainActivity.java 89
90 Defining the App values.xml Same, but Removed buttonhint resource Added textviewhint activity_main.xml The MainActivity page consists of a vertical LinearLayout containing a EditText object and a TextView object; no Button object 90
91 Defining the App MainActivity.java Defines inner class MyTextWatcher Creates MyTextWatcher object, and installs it as the listener for the EditText object MyTextWatcher object spawns child thread Child thread communicates with PennyHeroku 91
92 Defining the App MainActivity.java Problem using ordinary thread Android will not allow child thread to update TextView in UI Main thread must join child thread Main thread is unresponsive during the wait!!! Fast typing causes App is unresponsive warnings App is multi-threaded, but synchronous Solution: Use AsyncTask Make app asynchronous, as with AJAX 92
93 Defining the App Class AsyncTask AsyncTask enables proper and easy use of the UI thread. This class allows you to perform background operations and publish results on the UI thread without having to manipulate threads and/ or handlers. Internally uses ordinary Java thread AsyncTask object can update TextView in UI Main thread need not join child thread! UI remains responsive! 93
94 Defining the App AndroidManifest.xml Same, but only one Activity 94
95 Building the App Run AndroidBuild 95
96 Installing/Running the App Run AndroidEmulate Run AndroidInstall 96
97 Installing/Running the App 97
98 Summary We have covered: Smartphone programming Android smartphone programming Resources Synchronous server interaction Asynchronous server interaction Cloud computing using Heroku 98
Mobile development initiation
Mobile development initiation Outline Mobile development: o Why? o How? o New issues Android ios 2 Mobile growth ¼ Internet access Sales of smartphones and tablets increase o + 70% tab Community 3 Why
More informationIntroduction To Android
Introduction To Android Mobile Technologies Symbian OS ios BlackBerry OS Windows Android Introduction to Android Android is an operating system for mobile devices such as smart phones and tablet computers.
More informationCOS 333: Advanced Programming Techniques. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
COS 333: Advanced Programming Techniques Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly)
More informationCOLLEGE OF ENGINEERING, NASHIK-4
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily
More informationAndroid App Development
Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel
More informationAndroid Programming in Bluetooth Cochlea Group
Android Programming in Bluetooth Cochlea Group Zijian Zhao Abstract: My project is mainly android programming work in the Bluetooth Cochlea Group. In this report I will first introduce the background of
More informationConnect and Transform Your Digital Business with IBM
Connect and Transform Your Digital Business with IBM 1 MANAGEMENT ANALYTICS SECURITY MobileFirst Foundation will help deliver your mobile apps faster IDE & Tools Mobile App Builder Development Framework
More informationANDROID SYLLABUS. Advanced Android
Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.
More informationIntroduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.
Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 3 Applications: A Quick Glimpse
More informationAndroid App Development
Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount
More informationMobile Programming Lecture 1. Getting Started
Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in
More informationClassification and Selection of Cross-Platform Tools. Michiel Willocx 17/06/2015
Classification and Selection of Cross-Platform Tools Michiel Willocx 17/06/2015 Table of contents PART 1: Classification Cross-Platform Tools o Different technologies o Examples PART 2: Selection Criteria
More informationCOURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3
COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012
More informationWebSphere Puts Business In Motion. Put People In Motion With Mobile Apps
WebSphere Puts Business In Motion Put People In Motion With Mobile Apps Use Mobile Apps To Create New Revenue Opportunities A clothing store increases sales through personalized offers Customers can scan
More informationBuilding Secure and Scalable Mobile Apps on AWS
Building Secure and Scalable Mobile Apps on AWS Dennis Hills Mobile Developer Advocate, Amazon Web Services April 20, 2017 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda
More informationAndroid Application Development
Android Application Development Octav Chipara What is Android A free, open source mobile platform A Linux-based, multiprocess, multithreaded OS Android is not a device or a product It s not even limited
More informationPro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress
Pro Android 2 Sayed Y. Hashimi Satya Komatineni Dave Mac Lean Apress Contents Contents at a Glance Contents About the Authors About the Technical Reviewer Acknowledgments Foreword iv v xiii xiv xv xvi
More informationMobile Development June 2015, TEIATH, Greece
Mobile Development June 2015, TEIATH, Greece Presentation Overview 1. Introduction 2. Mobile Application Development 3. Cordova / Phonegap 4. Development Framework 5. Examples 1. INTRODUCTION Introduction
More informationCS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android. Emmanuel Agu
CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android Emmanuel Agu What is Android? Android is world s leading mobile operating system Open source (https://source.android.com/setup/)
More informationIntroduction to Mobile Application and Development
Introduction to Mobile Application and Development Mobile Phones A mobile phone (also called mobile, cellular telephone, cell phone, or hand phone is an electronic device used to make 1. Calls across a
More informationIntroduction to Android Development
Introduction to Android Development What is Android? Android is the customizable, easy to use operating system that powers more than a billion devices across the globe - from phones and tablets to watches,
More informationLecture 1 - Introduction to Android
Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationITG Software Engineering
Android Security Course ID: Page 1 Last Updated 12/15/2014 Android Security ITG Software Engineering Course Overview: This 5 day course covers the Android architecture, the stack, and primary building
More informationMobile OS. Symbian. BlackBerry. ios. Window mobile. Android
Ing. Elton Domnori December 7, 2011 Mobile OS Symbian BlackBerry Window mobile Android ios Mobile OS OS First release Last release Owner Android Android 1.0 September 2008 Android 4.0 May 2011 Open Handset
More informationMulti-platform Mobile App. Development with Apache Cordova
Multi-platform Mobile App. Development with Apache Cordova MTAT.03.262 2017 Fall Jakob Mass jakob.mass@ut.ee 27.10.2017 MTAT.03.262 Introduction Fragmented market Developers have limited resources Platform
More informationDeveloper s overview of the Android platform
Developer s overview of the Android platform Erlend Stav SINTEF November 10, 2009 mailto:erlend.stav@sintef.no 1 Overview Vendors and licensing Application distribution Platform architecture Application
More information1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism
ANDROID TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION Android What it is? History of Android Importance of Java language for Android Apps Other mobile OS-es Android Versions & different development
More informationCopyright
1 Angry Birds Sudoku Trivia Crack Candy Crash Saga 2 The NYT app Buzzfeed Flipboard Reddit 3 Finance apps Calendars Translators Grocery list makers 4 Music apps Travel Apps Food & Drink apps Dating apps
More informationRequired Core Java for Android application development
Required Core Java for Android application development Introduction to Java Datatypes primitive data types non-primitive data types Variable declaration Operators Control flow statements Arrays and Enhanced
More informationMobile Application Development
Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.
More informationAndroid Development Tools = Eclipse + ADT + SDK
Lesson 2 Android Development Tools = Eclipse + ADT + SDK Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Google and used according to terms
More informationAndroid. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1
Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is
More informationANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012
ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012 AGENDA Android v. ios Design Paradigms Setup Application Framework Demo Libraries Distribution ANDROID V. IOS Android $25 one-time
More informationIndex LICENSED PRODUCT NOT FOR RESALE
Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using
More informationCOS 333: Advanced Programming Techniques
COS 333: Advanced Programming Techniques Robert M. Dondero, Ph.D. Princeton University Please pick up handouts at the back of the room 1 COS 333: Course Overview Copyright 2018 by Robert M. Dondero, Ph.D.
More informationIGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students
Duration:40hours IGEEKS TECHNOLOGIES Software Training Division Academic Live Projects For BE,ME,MCA,BCA and PHD Students IGeekS Technologies (Make Final Year Project) No: 19, MN Complex, 2nd Cross, Sampige
More informationAndroid App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore
Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life
More informationDeveloping Applications for ios
Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual
More informationCS260 Intro to Java & Android 04.Android Intro
CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture
Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 1 Course Introduction Lecturer: Albert C. M. Au
More information2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development
2015 NALIT Professional Development Seminar September 30, 2015 Tools for Mobile App Development Kyle Forster, IT Manager North Dakota Legislative Council Mobile App ND Legis Daily Daily legislative agenda
More informationMobile Application Development
Mobile Application Development The principal goal of education is to create men and women who are capable of doing new things, not simply repeating what other generations have done. -Jean Piaget Mobile
More informationOWASP German Chapter Stammtisch Initiative/Ruhrpott. Android App Pentest Workshop 101
OWASP German Chapter Stammtisch Initiative/Ruhrpott Android App Pentest Workshop 101 About What we will try to cover in the first session: Setup of a Mobile Application Pentest Environment Basics of Mobile
More informationMobile and Wireless Systems Programming
to Android Android is a software stack for mobile devices that includes : an operating system middleware key applications Open source project based on Linux kernel 2.6 Open Handset Alliance (Google, HTC,
More informationIndex. Alessandro Del Sole 2017 A. Del Sole, Beginning Visual Studio for Mac,
Index A Android applications, Xamarin activity and intent, 116 APIs in C# Activity classes, 123 Android manifest, 129 App.cs, 123 app properties, setting, 128 CreateDirectoryForPictures methods, 124 device
More informationCS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming. Emmanuel Agu
CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Programming Emmanuel Agu Android Apps: Big Picture UI Design using XML UI design code (XML) separate from the program (Java) Why?
More informationCS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming. Emmanuel Agu
CS 528 Mobile and Ubiquitous Computing Lecture 2a: Introduction to Android Programming Emmanuel Agu Editting in Android Studio Recall: Editting Android Can edit apps in: Text View: edit XML directly Design
More informationDeveloping Android applications in Windows
Developing Android applications in Windows Below you will find information about the components needed for developing Android applications and other (optional) software needed to connect to the institution
More informationMinds-on: Android. Session 1
Minds-on: Android Session 1 Paulo Baltarejo Sousa Instituto Superior de Engenharia do Porto 2016 Outline Mobile devices Android OS Android architecture Android Studio Practice 1 / 33 2 / 33 Mobile devices
More informationORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)
Android Syllabus Pre-requisite: C, C++, Java Programming SQL & PL SQL Chapter 1: Introduction to Android Introduction to android operating system History of android operating system Features of Android
More informationGetting Started with Android Development Zebra Android Link-OS SDK Android Studio
Getting Started with Android Development Zebra Android Link-OS SDK Android Studio Overview This Application Note describes the end-to-end process of designing, packaging, deploying and running an Android
More informationNative Mobile Apps in JavaScript
Native Mobile Apps in JavaScript Using Exponent and React Native Charlie Cheever CS50 Seminar October 28, 2016 About Me Harvard Amazon Facebook Quora Exponent A Brief History of Mobile Development Mobile
More informationSyllabus- Java + Android. Java Fundamentals
Introducing the Java Technology Syllabus- Java + Android Java Fundamentals Key features of the technology and the advantages of using Java Using an Integrated Development Environment (IDE) Introducing
More informationAndroid Programming (5 Days)
www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android
More informationAndroid for Java Developers Dr. Markus Schmall, Jochen Hiller
Android for Java Developers Dr. Markus Schmall Jochen Hiller 1 Who we are Dr. Markus Schmall m.schmall@telekom.de Deutsche Telekom AG Jochen Hiller j.hiller@telekom.de Deutsche Telekom AG 2 Agenda Introduction
More informationAndroid for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011
Android for Ubiquitous Computing Researchers Andrew Rice University of Cambridge 17-Sep-2011 Getting started Website for the tutorial: http://www.cl.cam.ac.uk/~acr31/ubicomp/ Contains links to downloads
More informationCopyright 2014, Oracle and/or its affiliates. All rights reserved.
1 Introduction to the Oracle Mobile Development Platform Dana Singleterry Product Management Oracle Development Tools Global Installed Base: PCs vs Mobile Devices 3 Mobile Enterprise Challenges In Pursuit
More informationECOM 5341 Mobile Computing(Android) Eng.Ruba A. Salamah
ECOM 5341 Mobile Computing(Android) 1 Eng.Ruba A. Salamah Lecture # 2 Android Tools Objectives Understand Android Tools Setup Android Development Environment Create HelloWorld Application Understand HelloWorld
More informationCourse Learning Outcomes (CLO): Student Outcomes (SO):
Course Coverage Course Learning Outcomes (CLO): 1. Understand the technical limitations and challenges posed by current mobile devices and wireless communications; be able to evaluate and select appropriate
More informationCS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android. Emmanuel Agu
CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android Emmanuel Agu What is Android? Android is world s leading mobile operating system Open source Google: Owns Android, maintains it,
More informationGUJARAT TECHNOLOGICAL UNIVERSITY
1. Learning Objectives: To be able to understand the process of developing software for the mobile To be able to create mobile applications on the Android Platform To be able to create mobile applications
More informationWeb Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline
Web Development 20480: Programming in HTML5 with JavaScript and CSS3 Learn how to code fully functional web sites from the ground up using best practices and web standards with or without an IDE! This
More informationAWS Lambda. 1.1 What is AWS Lambda?
Objectives Key objectives of this chapter Lambda Functions Use cases The programming model Lambda blueprints AWS Lambda 1.1 What is AWS Lambda? AWS Lambda lets you run your code written in a number of
More informationThe World of Android Development
The World of Android Development Java Concepts The Big Difference WEB APPS & MOBILE APPS Advantages of Web apps o Universal access Browsers are everywhere Any device on the network can access content PCs,
More informationUpon completion of the second part of the lab the students will have:
ETSN05, Fall 2017, Version 2.0 Software Development of Large Systems Lab 2 1. INTRODUCTION The goal of lab 2 is to introduce students to the basics of Android development and help them to create a starting
More informationMobile Technologies. Types of Apps
Mobile Technologies Types of Apps What is mobile? Devices and their capabilities It s about people Fundamentally, mobile refers to the user, and not the device or the application. Barbara Ballard, Designing
More informationIntroduction to Android development
Introduction to Android development Manifesto Digital We re an award winning London based digital agency that loves ideas design and technology We aim to make people s lives better, easier, fairer, more
More informationCourse 20480: Programming in HTML5 with JavaScript and CSS3
Course 20480: Programming in HTML5 with JavaScript and CSS3 Overview About this course This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript
More informationCS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu
CS 403X Mobile and Ubiquitous Computing Lecture 3: Introduction to Android Programming Emmanuel Agu Android UI Tour Home Screen First screen, includes favorites tray (e.g phone, mail, messaging, web, etc)
More informationCOURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3
ABOUT THIS COURSE This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript programming skills. This course is an entry point into
More informationSHWETANK KUMAR GUPTA Only For Education Purpose
Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It
More informationJava Training Center - Android Application Development
Java Training Center - Android Application Development Android Syllabus and Course Content (3 months, 2 hour Daily) Introduction to Android Android and it's feature Android releases and Versions Introduction
More informationChapter 2 Setting Up for Development
Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 2 Setting Up for Development Chapter 2 Overview Learn how to set up our Android development environment Look at
More informationLecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.
CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.
More informationAndroid Development Tutorial. Yi Huang
Android Development Tutorial Yi Huang Contents What s Android Android architecture Android software development Hello World on Android More 2 3 What s Android Android Phones Sony X10 HTC G1 Samsung i7500
More informationProgramming in HTML5 with JavaScript and CSS3
Programming in HTML5 with JavaScript and CSS3 20480B; 5 days, Instructor-led Course Description This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic
More informationCS260 Intro to Java & Android 05.Android UI(Part I)
CS260 Intro to Java & Android 05.Android UI(Part I) Winter 2018 Winter 2018 CS250 - Intro to Java & Android 1 User Interface UIs in Android are built using View and ViewGroup objects A View is the base
More informationWHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction
WHITE PAPER RedHat OpenShift Container Platform Abstract Benefits: Applications are designed around smaller independent components called microservices. Elastic resources: Scale up or down quickly and
More informationGetting started with Tabris.js Tutorial Ebook
Getting started with Tabris.js 2.3.0 Tutorial Ebook Table of contents Introduction...3 1 Get started...4 2 Tabris.js in action...5 2.1 Try the examples...5 2.2 Play with the examples...7 2.3 Write your
More informationIos Sdk Documentation For Windows 7 32 Bit Full Version
Ios Sdk Documentation For Windows 7 32 Bit Full Version Download Latest ios SDK & Sample Project Got the SDK? v5.3.0 (May 7, 2015) Native ios SDK now sends the version of the Unity wrapper SDK along with
More informationSD Module- Android Programming
Assignment No. 1 SD Module- Android Programming R (2) C (4) V (2) T (2) Total (10) Dated Sign Title: Download Install and Configure Android Studio on Linux /windows platform. Problem Definition: Install
More informationCopyright
Copyright NataliaS@portnov.com 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide
More informationPreface...3 Acknowledgments...4. Contents...5. List of Figures...17
Contents - 5 Contents Preface...3 Acknowledgments...4 Contents...5 List of Figures...17 Introduction...23 History of Delphi...24 Delphi for mobile platforms...27 About this book...27 About the author...29
More informationAndroid. (XKE Mars 2009) Erwan Alliaume.
Android (XKE Mars 2009) Erwan Alliaume ealliaume(*at*)xebia(*dot*)fr http://www.xebia.fr http://blog.xebia.fr History August 2005 Google acquires Android November 2007 Open Handset Alliance announcement
More informationReal-Time Embedded Systems
Real-Time Embedded Systems DT8025, Fall 2016 http://goo.gl/azfc9l Lecture 8 Masoumeh Taromirad m.taromirad@hh.se Center for Research on Embedded Systems School of Information Technology 1 / 51 Smart phones
More informationOracle Mobile Application Framework
Oracle Mobile Application Framework Oracle Mobile Application Framework (Oracle MAF) is a hybrid-mobile development framework that enables development teams to rapidly develop single-source applications
More informationHow to Convert a Simple Web Site into a Mobile App. Using PhoneGap Build, PhoneGap Desktop, PhoneGap CLI. Use Android Studio
How to Convert a Simple Web Site into a Mobile App Using PhoneGap Build, PhoneGap Desktop, PhoneGap CLI or Android Studio Instead of learning how to program in a native mobile app language (e.g., Java/Kotlin
More informationCopyright
Copyright NataliaS@portnov.com 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide
More informationDESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT
DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree
More informationAndroid App Development. Ahmad Tayeb
Android App Development Ahmad Tayeb Ahmad Tayeb Lecturer @ Department of Information Technology, Faculty of Computing and Information Technology, KAU Master degree from Information Sciences and Technologies,
More informationWirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher. Seminar paper presentation Dennis Robert Stöhr
Android Programming Wirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher Seminar paper presentation Dennis Robert Stöhr 0453244 11.01.2011 Agenda Introduction Basics of Android Development
More informationCS260 Intro to Java & Android 05.Android UI(Part I)
CS260 Intro to Java & Android 05.Android UI(Part I) Winter 2015 Winter 2015 CS250 - Intro to Java & Android 1 User Interface UIs in Android are built using View and ViewGroup objects A View is the base
More informationCOS 333: Advanced Programming Techniques. Robert M. Dondero, Ph.D. Princeton University
COS 333: Advanced Programming Techniques Robert M. Dondero, Ph.D. Princeton University 1 Agenda Introductions General Information Topics Assignments Project (briefly) Schedule Policies The Programming
More informationSoftware Architecture Documentation for the JRC MYGEOSS app for Invasive Species project
Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project 2015.3724 Table of Contents 1 Architecture View... 2 2 Application... 3 2.1 Technologies Used... 3 2.1.1 Apache
More informationThe Now Platform Reference Guide
The Now Platform Reference Guide A tour of key features and functionality START Introducing the Now Platform Digitize your business with intelligent apps The Now Platform is an application Platform-as-a-Service
More informationVS005 - Cordova vs NativeScript
presenta VS005 - Cordova vs NativeScript Fabio Franzini Microsoft MVP www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 1 Apache Cordova Telerik NativeScript Cordova VS NativeScript Agenda www.wpc2015.it
More informationOpen Source Library Developer & IT Pro
Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4
More informationXML Tutorial. NOTE: This course is for basic concepts of XML in line with our existing Android Studio project.
XML Tutorial XML stands for extensible Markup Language. XML is a markup language much like HTML used to describe data. XML tags are not predefined in XML. We should define our own Tags. Xml is well readable
More informationAndroid Online Training
Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one
More informationWhy attend a Lianja training course? Course overview. Course Details
These courses will be arranged periodically in different geographic regions or can be arranged on-site at customer premises by customer request. They can also be customized for individual customers needs
More information