Mobile Apps 2010 iphone and Android

Similar documents
iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour

Linux Networking and Security

Xcode 6 and ios 8 What s New for Software Developers

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

Topics in Mobile Computing

Building Applications with ArcGIS Runtime SDK for ios - Part I. Divesh Goyal Mark Dostal

CS193p Spring 2010 Wednesday, March 31, 2010

Praktikum Entwicklung von Mediensystemen mit

Objectives. Submission. Register for an Apple account. Notes on Saving Projects. Xcode Shortcuts. CprE 388 Lab 1: Introduction to Xcode

Getting Started with the Smartphone and Tablet ArcGIS Runtime SDKs. David Martinez, Kris Bezdecny, Andy Gup, David Cardella

Bevezetés a mobil alkalmazáskészítés világába

Contents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need

Introduction To Android

Toyin Adedokun & Daniel Laughlin. Exploring the iphone SDK

Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc.

My First iphone App. 1. Tutorial Overview


2013 Honeywell Users Group Europe Middle East and Africa. Mobile App Guide

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Registering for the Apple Developer Program

Mastering Xcode for iphone OS Development Part 2. Marc Verstaen Sr. Manager, iphone Tools

CS193P: HelloPoly Walkthrough

Intro to Development for ios. Dave Koziol Arbormoon Software, Inc.

My First iphone App (for Xcode version 6.4)

Mastering Xcode for iphone OS Development Part 1. Todd Fernandez Sr. Manager, IDEs

Navigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter

Java And Android Application Development For Dummies Ebook Set

Developed and taught by well-known Contact author and developer. At public for details venues or onsite at your location.

ios Application Development Course Details

T Mobile Systems Programming (5 cr)

Introduction to Kony Fabric

Getting Started with the ArcGIS Mobile APIs. Kris Bezdecny, David Martinez Andy Gup, David Cardella

IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 By Neil Smyth

Lab 1: Getting Started With Android Programming

COMP4521 EMBEDDED SYSTEMS SOFTWARE

Android Software Development Kit (Part I)

Copyright

2014 Honeywell Users Group Europe Middle East and Africa. Mobile App Guide

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

INFOhio Symphony Handbook ebooks in ISearch. ISearch ebook Connector

MB2-712 Q&As Microsoft Dynamics CRM 2016 Customization and Configuration

Mobile development initiation

Secure Storage and Protecting Data at Rest

Copyright

Root User Guide Pdf Ipad 2011 >>>CLICK HERE<<<

Copyright

Mac Application Development By Example Beginner's Guide Pdf

Manual Update Java Mac Os X To 10.7

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC

CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L

Copyright

Connect to CCPL

Real-Time Embedded Systems

CSC 581: Mobile App Development Spring 2019

Mobile Computing Meets Research Data

Patron Assistance: Become an OverDrive Specialist.

A Review of Kids Tutor

Lab Android Development Environment

Google Apps Sync Setup Iphone Contact Groups

Browse, Check Out, Download. Learn how to browse, check out, and download OverDrive media from your library's Virtual Branch website.

Mac OS X and ios operating systems. Lab 1 Introduction to Mac OS X and ios app development. Gdańsk 2015 Tomasz Idzi

Embedded Systems Programming - PA8001

CS 235AM, Mobile Application Development: Android Spring 2016

Mac Os X The Missing Manual For Pc Emulator

Parallels Remote Application Server

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

Best Development Practices and Patterns Using ArcGIS Runtime SDK for Android. Xueming Wu Puneet Prakash

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

AVAudioPlayer. avtouch Application

Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.

Kony MobileFabric. Release Notes. On-Premises. Release 6.5. Document Relevance and Accuracy

Linkify Documentation

Hello! ios Development

17066 CBA. Developing Android and iphone Applications to Control Bluetooth Accessories

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Parallels Remote Application Server

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

Page 1. GUI Programming. Lecture 13: iphone Basics. iphone. iphone

Software Engineer Development of the Agent Support Tool (AST) for Instant Ink, applying TDD in Ruby on Rails.

Flex 3 Pre-release Tour

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

Android Workshop: Model View Controller ( MVC):

Competence. e-learning. Patrick Krekelberg, Allen Interactions.

Developing Applications for ios

Build a Mobile App in 60 Minutes with MAF

Paypal User Guide Pdf Ipad 3 Ios 6 >>>CLICK HERE<<<

Ios Sdk Documentation For Windows 7 32 Bit Full Version

Web 2.0 and iphone Application Development Workshop. Lab 2: iphone programming basics

MindManager Enterprise for Windows Release Notes

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Manual Java For Mac Os X Update 10

2/27

Manual Xcode Ios 5 Simulator Black Screen >>>CLICK HERE<<<

Connect to CCPL

Arise Documentation. Release 2.7. Arise.io

A massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH

Transcription:

Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1

Legal Info Android is a trademark of Google Inc. iphone is a trademark of Apple Inc. Servin is a trademark of Servin Corporation. 2

About Servin Corporation Servin On-Site Training Servin Web-Based Training Watch Code Written Before Your Eyes! Servin Books Get Your Development Team Up To Speed Fast! Books available on Amazon Kindle and Amazon Kindle Reader (iphone, PC, Blackberry) Servin Apps 25+ iphone Apps in various categories 3

Servin On-Site Training Get Your Development Team Up To Speed Fast! iphone Programming Courses Android Programming Courses Intro and Advanced Intro and Advanced Linux Programming Courses Embedded Linux Device Drivers Services/Daemons 4

Servin Web-Based Training Watch Code Written Before Your Eyes! Uses Cisco WebEx Player Cicso WebEx Player supported on Linux Mac Windows This demo/presentation is also available as WebBased Training http://servin.com 5

Servin Books Books available on Amazon Kindle and Amazon Kindle Reader (iphone, PC, Blackberry) iphone Objective-C 2.0 Programming Exercises iphone Database Programming Exercises: SQLite iphone Camera Programming Exercises iphone External Accessory Programming Exercises iphone Flashlight Programming Tutorial iphone 3 Programming Templates Explained Red Hat Enterprise Linux 5 Admin Skills SUSE Linux Enterprise Server 11 Admin Skills 6

Servin Apps 25+ iphone Apps Technology Professionals Health/Fitness Device Info Plus Device ID Info, Font Info, CPU Info, Network Info, and more! Accelerometer Fun Display, record, and export accelerometer info Process Log Display list of processes Weight Log Simple keep log of your weight Sleep Log Simple keep log of your sleep Games and Entertainment Touch Fast how fast can you touch the screen? Simon Says Face Up can you do as simon says? 7

UCSD Extension Courses These courses are taught by Norman McEntire and fill up quickly so register early iphone Programming: Touch, Sound, and More! Introduction to Objective-C Spring 2010 Session: April 7 June 2 Wednesdays, 6PM - 9PM Spring 2010 Session: April 8 June 3 Thursdays, 7pm 9:50pm iphone Programming: Advanced Summer 2010 Session: Watch Catalog for Dates/Times 8

Opening Remarks Welcome! Thank you! My Promise To You Show you Mobile App Development 2010! iphone OS SDK 3.2 Beta 3 (includes ipad) Android SDK 2.1 My style Show a few slides Do lots of live demos Questions at anytime are great! 9

PDF Slides and WebEx Recording Will Be Posted on http://servin.com My goal is to show you, faster than any method on planet earth, how to use both the iphone SDK and the Android SDK The tools. The Methods. The Source Code. This demo is fast paced but PDF slides and WebEx recording will be posted on http://servin.com The PDF Slides include the source code The WebEx Recording can be paused/replayed 10

Demo is very focused. Here are the Guideposts Guidepost #1 Use only the latest native SDKs downloaded March 2010 iphone OS SDK 3.2 Beta 3 (iphone, ipod Touch, ipad) Android SDK 2.1 Guidepost #2. Make zero changes or modifications to the native SDKs use the defaults as they come Guidepost #3. Use no 3rd party tools or add-ons just the SDKs 11

Briefly...because the question always comes up... Question: Are there alternatives to using the native SDKs? Answer: Yes. Many alternatives, but that is not the focus of this demo/presentation. Some alternatives to native SDKs great topics for other SDSIC speakers Rhomobile.com - HTML + Ruby Native Apps PhoneGap.com - HTML + JavaScript Native Apps MonoTouch.net - C# Native Apps 12

Introducing the SDKs 13

iphone SDK 3.2 Beta 3 Hardware Requirements Mac (running Mac OS 10.6 Snow Leopard) Membership Requirements To download SDK To run on device and submit to store Register as Apple Developer. Free registration. Join iphone Developer Program. Yearly fee. Software Requirements iphone SDK. Includes everything. 14

Android SDK 2.1 Hardware Requirements Any Hardware running Linux, Mac, or Windows Membership Requirements To download SDK: None To run on device: None To submit to store: Small One-Time Fee Software Requirements Java SDK + Java IDE for Eclipse + Android SDK + Android Plugin for Eclipse 15

Time for the Demos! 16

Demo 1 Building the Default App 17

Demo 1: iphone SDK Xcode: File > New Project 18

Demo 1: iphone SDK Xcode IDE 19

Demo 1: iphone SDK iphone Simulator ipad Mode 20

Demo 1: iphone SDK iphone Simulator iphone Mode User Interface Observations 1. Status bar at top 2. Single Home Button at bottom 21

Demo 1: Android SDK Eclipse: New Android Project 22

Demo 1: Android SDK Eclipse IDE 23

Demo 1: Android SDK Android Emulator User Interface Observations 1. Status bar at top 2. Title Bar 3. Multiple Buttons - Home - Menu - Return - Search - D-Pad (Directional Pad) - Others 4. Keyboard 24

Demo 2 Application Startup and Logging 25

Demo 2: iphone SDK Logging: NSLog() - C Function // SDSICAppDelegate.m...code not shown... - (BOOL)application:(UIApplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions { // Log a startup message NSLog(@"Application Startup!"); NSLog(@"application: %@", [application description]); NSLog(@"launchOptions: %@", [launchoptions description]); [window addsubview:viewcontroller.view]; [window makekeyandvisible]; } return YES; 26

Demo 2: iphone SDK Xcode: Run > Console 27

Demo 2: Android SDK Logging: Log.v() - Java Class This code crashes if savedinstancestate is NULL. That is part of the demo... // Demo.java...code not shown... public class Demo extends Activity { private static final String TAG = "SDSIC"; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } } // Log a startup message Log.v(TAG,"Application Startup!"); Log.v(TAG, "savedinstancestate: " + savedinstancestate.tostring()); setcontentview(r.layout.main); 28

Demo 2: Android SDK Eclipse: Window > Show View > Other The LogCat view shows messages output from the Log class 29

Demo 2: Android SDK Eclipse: LogCat After Running 30

Demo 3 Debugging 31

Demo 3: iphone SDK Xcode: Debugger 32

Demo 3: Android SDK Eclipse: Debug Perspective 33

Demo 4 Create UITextView/TextView at Runtime iphone: UITextView Android: TextView 34

Demo 4: iphone SDK UITextView at Runtime - (BOOL)application:(UIApplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions {...code not shown... CGRect frame = viewcontroller.view.bounds; UITextView *mytextview = [[UITextView alloc] initwithframe:frame]; mytextview.text = @"SDSIC Demo\n" @"This is a test\nbe at your best"; mytextview.editable = NO; [viewcontroller.view addsubview:mytextview]; [window addsubview:viewcontroller.view]; [window makekeyandvisible]; } return YES; 35

Demo 4: iphone SDK UITextView at Runtime 36

Demo 4: Android SDK TextView at Runtime // Demo.java...code not shown... public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate);...code not shown TextView mytextview = new TextView(this); mytextview.settext("sdic Demo\n" + "This is a test\nbe at your best."); this.setcontentview(mytextview); } 37

Demo 4: Android SDK TextView at Runtime 38

Demo 5 Create UIButton/Button using Layout Tools 39

Demo 5: iphone SDK Interface Builder and UIButton 40

Demo 5: iphone SDK Running the App 41

Demo 5: Andriod SDK Eclipse: XML Layout 42

Demo 5: Android SDK Running the App 43

Demo 6 Change Value of UIButton/Button At Runtime 44

Demo 6: iphone SDK IBOutlet - SDSICViewController.h // SDSICViewController.h #import <UIKit/UIKit.h> @interface SDSICViewController : UIViewController { IBOutlet UIButton *mybutton; } 45

Demo 6: iphone SDK SDSICViewController.m // SDSICViewController.m #import "SDSICViewController.h" @implementation SDSICViewController - (void)viewdidload { [super viewdidload]; [mybutton settitle:@"0" forstate:uicontrolstatenormal]; } @end 46

Demo 6: iphone SDK Interface Builder - Control-Click-Drag To connect the IBOutlet: Control-Click-Drag FROM File's Owner TO the UIButton. 47

Demo 6: iphone SDK Running 48

Demo 6: Android SDK Button As Runtime package com.servin.android.mon2;...code not shown... public class Demo extends Activity { private Button mybutton; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } } mybutton = (Button) this.findviewbyid(r.id.button01); mybutton.settext("0"); 49

Demo 6: Android SDK Button As Runtime 50

Demo 7 Handle UIButton/Button Events 51

Demo 7: iphone SDK IBOutlet - SDSICViewController.h // SDSICViewController.h #import <UIKit/UIKit.h> @interface SDSICViewController : UIViewController { IBOutlet UIButton *mybutton; int counter; } -(IBAction) dobutton; @end 52

Demo 7: iphone SDK SDSICViewController.m // SDSICViewController.m...code not shown... -(IBAction) dobutton { counter++; NSString *s = [NSString stringwithformat:@"%d", counter]; [mybutton settitle:s forstate:uicontrolstatenormal]; } 53

Demo 7: iphone SDK Interface Builder - Control-Click-Drag To connect the IBAction: Control-Click-Drag FROM UIButton TO File's Owner. 54

Demo 7: iphone SDK Running 55

Demo 7: Android SDK Demo.java - 1 public class Demo extends Activity implements OnClickListener { private Button button; private int counter; @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); button = (Button) this.findviewbyid(r.id.button01); button.settext("0"); button.setonclicklistener(this); } 56

Demo 7: Android SDK Demo.java - 2 @Override public void onclick(view v) { Counter++; // Either method will work //mybutton.settext(string.format("%d", counter)); mybutton.settext("" + counter); } 57

Demo 7: Android SDK Button As Runtime 58

We Are Done! Thank You! 59