160 likes | 307 Views
Misc Advanced AppInventor Concepts. Using Multiple Screens in Apps. You can have more than one screen in your app and move back and forth Lets watch a very concise video to learn how to use this http://www.youtube.com/watch?v=9DaT_XTvpGY&feature= related Want to try it?
E N D
Using Multiple Screens in Apps • You can have more than one screen in your app and move back and forth • Lets watch a very concise video to learn how to use this • http://www.youtube.com/watch?v=9DaT_XTvpGY&feature=related • Want to try it? • Create an app for yourself as an instructor • Main page –name, place for picture, title, etc • Contact me – phone, mailing address, office number, email • About me – brief bio statement • You could add others like class schedule, interests etc.
Saving and Sharing • To share, backup or otherwise transfer source code you will download a .zip file • To share a runnable app you will download an .apk file • How do I do each of these??? • Let’s investigate • Can I use QR codes to distribute? • http://qrcode.kaywa.com/ • Get a scanner in the Marketplace
Want to distribute your app? • Local distribution • Download • Setup QR code • Email • Put on website • Preparing to Publish to marketplaces • Android Market / Google Play • AndroidPit • Amazon • http://www.howtogeek.com/?post_type=post&p=106175 • http://danatheteacher.hubpages.com/hub/Top-Android-Market-Alternative-App-Stores
Conversion • http://amerkashi.wordpress.com/2011/02/14/automating-conversion-of-app-inventor-apk-to-google-market/ • http://www.youtube.com/watch?v=udSvxbajS60 • http://www.crucialthought.com/2011/05/15/publishing-an-app-inventor-app-to-the-android-market/ • http://www.taiic.com/marketizer/
Building your own Web Databases and APIs • Hosting a web database • Creating AppInventor compliant APIs • Google App Engine • https://developers.google.com/appengine/ • http://appinventorapi.com/
Other Resources • Look at file on Wiki • Other examples on Wiki
Build your own app • By yourself or with a partner • Define an idea for an app • Set goals • Identify the steps needed • Identify the components needed to accomplish the steps • Design the GUI • Build the blocks • Test it • Define and try some extensions
Java and bridging • The is an official bridge to Java SDK and at least one “enhanced” third party one • The essential concept in both cases is • Provide AppInventor widgets as Java classes to reduce our coding workload • Make it easier to transition from the AppInventor environment to true and full-blown Java development • You will need to install and setup Eclipse, the Android SDK, Bridge SDK and some Android Version files in order to do any kind of development using Java • See setup instructions
Setup Instructions • For Windows • http://javasrilankansupport.blogspot.com/2012/04/how-to-setup-android-application.html • For Mac • http://learnaboutandroid.blogspot.com/2011/05/setting-up-your-androidjava-environment.html • Also install one of the Bridge SDKs previously discussed • Videos for setup • http://www.youtube.com/watch?v=GS3s4xWnnU8&feature=relmfu
AIBridge – the 3rd party • Start with this one first • Project home Page • http://code.google.com/p/apptomarket/ • An Intro • http://code.google.com/p/apptomarket/wiki/sdkBridgerIntro • SDK Docs • http://www.3nportal.com/BridgeAPI/ • An Example • http://code.google.com/p/apptomarket/downloads/detail?name=PaintPot.zip
Original Java Bridge • Series of Videos • http://www.youtube.com/watch?v=MnEG7_Et4UA&list=PL1E3735BD053C6F7F&index=2&feature=plpp_video • API Documentation • http://www.3nportal.com/AIBridgeAPI/
Some Examples • See the handout • Translations of some of the tutorial apps • http://code.google.com/p/appinventor-java-translation/downloads/list
package com.Android.hellopurr; import com.google.devtools.simple.runtime.components.HandlesEventDispatching; import com.google.devtools.simple.runtime.components.android.AccelerometerSensor; import com.google.devtools.simple.runtime.components.android.Button; import com.google.devtools.simple.runtime.components.android.Form; import com.google.devtools.simple.runtime.components.android.Sound; import com.google.devtools.simple.runtime.events.EventDispatcher; /** * HelloPurr example from David Wolber's book. * * @author Joshua Swank */ public class HelloPurr extends Form implements HandlesEventDispatching { public Button btnButton1; private Sound sndSound1; private AccelerometerSensor asnAccelerometerSensor1; void $define() { btnButton1 = new Button(this); btnButton1.Text(""); btnButton1.Image("kitty.png"); sndSound1 = new Sound(this); sndSound1.Source("meow.mp3"); asnAccelerometerSensor1 = new AccelerometerSensor( this ); EventDispatcher.registerEventForDelegation( this, "HelloPurr", "Click" ); EventDispatcher.registerEventForDelegation( this, "HelloPurr", "Shaking" ); }
public void dispatchEvent( Object component, String id, String eventName, Object[] args ) { if( component.equals( btnButton1 ) && eventName.equals( "Click" ) ) btnButton1_Click(); else if( component.equals( asnAccelerometerSensor1 ) && eventName.equals( "Shaking" ) ) asnAccelerometerSensor1_Shaking(); } private void btnButton1_Click() { sndSound1.Play(); sndSound1.Vibrate( 500 ); } private void asnAccelerometerSensor1_Shaking() { sndSound1.Play(); } }
Going RAW! • Doing it All in Java! • Tutorials here • http://developer.android.com/training/index.html • A video series including setup • http://www.youtube.com/watch?v=exFmZ8AkYfQ&feature=relmfu