SlideShare a Scribd company logo
Developing Interactive
Systems - IFI7154
LECTURE 1 - RAPID ANDROID DEVELOPMENT
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Why do it?
time money tangible
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Why use something like App Inventor?
1) Observe programming
structures (which can be
implemented in Java-
based environment)
2) Results in a workable
APK! (Can be revere-
engineered)
Two limitations:
- Android Only
- Limited size and
features(but has plenty!)
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Setting up your environment…
• STEP 1: If you do not have one, create a googlemail e-mail address.
This is required in order to use App Inventor.
• STEP 2: Go to ai2.appinventor.mit.edu (important note: this is the
second version of App Inventor. Make sure you are not using the
first version as a lot of features will be missing and coding will be
different)
• STEP 3: Connect your gmail address to the program. ‘Please select an
account that you would like to use’.
You’re all set!
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Layout
http://ai2.appinventor.mit.edu/reference/components/layout.html
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Fill Parent
NOTE:
If fill parent seems to not work, it is probably because you need to
unclick the ‘scrollable’ value from the screen properties. You cannot
fill parent if the screen height is ∞.
Avoid using table layout. It is buggy and difficult to control. You can
achieve everything you need using a combination of the ‘horizontal’
and ‘vertical’ arrangements.
Fernando Loizides 2014
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Hello World (it has to be done…)
You can load this on your phone and live changes are
made over the wireless network. This is easy if there
is a relatively open network but can be hard over
protected networks (like university networks can be)
You can install an emulator on your computer. This
simulates an android phone and shows you what
the app would do on the phone. Does not support
things like texting, accelerometer etc. for obvious
reasons.
You can connect your phone using a USB cable to
load application this way.
A QR Code appears and using a QR scanner
you can download and install the APK to
your phone. You can also send the QR code
to others. Keep in mind that the QR code is
valid only for 2 hours after compiling.
Downloads the installer APK file to your
computer. You can then email it to yourself
or others or post it online.
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Button
BackgroundColor
Returns the button's background color
Enabled
If set, user can tap check box to cause action.
FontBold
If set, button text is displayed in bold.
FontItalic
If set, button text is displayed in italics.
FontSize
Point size for button text.
FontTypeface (designer only)
Font family for button text.
Height
Button height (y-size).
Image
Image to display on button.
Shape (designer only)
Specifies the button's shape (default, rounded, rectangular, oval). The shape
will not be visible if an Image is being displayed.
ShowFeedback
Specifies if a visual feedback should be shown for a button that has an image as
background.
Text
Text to display on button.
TextAlignment (designer only)
Left, center, or right.
TextColor
Color for button text.
Visible
Specifies whether the component should be visible on the screen. Value is true if the
component is showing and false if hidden.
Width
Button width (x-size).
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Button (2)
Click()
User tapped and released the button.
Gotfocus()
Indicates the cursor moved over the button so it is now possible to click it.
Lostfocus()
Indicates the cursor moved away from the button so it is now no longer possible to click it.
Touchdown()
Indicates that the button was pressed down.
Touchup()
Indicates that a button has been released.
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Changing Screens
Selecting an
Existing Screen
Add a new
Screen
*You cannot (presently) change the name
of the initial screen. You can rename it’s
heading though.
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Simulating Multiple Screens In One
Fernando Loizides 2014
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
SMS
Fernando Loizides 2014
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Accelerometer
Fernando Loizides 2014
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Fernando Loizides - 2014
Using the Canvas - Drawing
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
Using the Canvas - Drawing
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
SOME PHYSICS
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun
NON-PERSISTENT
DATA
PERSISTENT DATA
http://ai2.appinventor.mit.edu/reference/components/
For a more comprehensive list of the use of
App Inventor components have a look at:
Developing Interactive Systems - IFI7154
Fernando Loizides & Ilja Šmorgun

More Related Content

Similar to Lecture 1 rapid android development

I have adream
I have adreamI have adream
I have adream
ANASZ123
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
Laura Arrigo
 
Remote control adding
Remote control addingRemote control adding
Remote control adding
Lidiia Nesterenko
 
RCCreator Guidance. Remote control adding (copy codes from your original remo...
RCCreator Guidance. Remote control adding (copy codes from your original remo...RCCreator Guidance. Remote control adding (copy codes from your original remo...
RCCreator Guidance. Remote control adding (copy codes from your original remo...
Lidiia Nesterenko
 
I phone apps developments interview
I phone apps developments interviewI phone apps developments interview
I phone apps developments interview
Pragati Singh
 
Iphone ipad-application
Iphone ipad-applicationIphone ipad-application
Iphone ipad-applicationGuojun Li
 
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINESTUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
AIRCC Publishing Corporation
 
Personalised Product Design Using Virtual Interactive Techniques
Personalised Product Design Using Virtual Interactive Techniques  Personalised Product Design Using Virtual Interactive Techniques
Personalised Product Design Using Virtual Interactive Techniques
ijcga
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
CbhaSlide
 
Define & design apps for success en
Define & design apps for success enDefine & design apps for success en
Define & design apps for success enAcrmnet s.r.l.
 
Computer Art Applications.pptx
Computer Art Applications.pptxComputer Art Applications.pptx
Computer Art Applications.pptx
leovieortega2
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
IJERD Editor
 
Export option (copy codes from your original RC)
Export option (copy codes from your original RC)Export option (copy codes from your original RC)
Export option (copy codes from your original RC)
Lidiia Nesterenko
 
E-Wallet
E-WalletE-Wallet
E-Wallet
StudentRocks
 
Create your own sixth sense device
Create your own sixth sense deviceCreate your own sixth sense device
Create your own sixth sense device
Faheem Nazir
 
Climberreport
ClimberreportClimberreport
Climberreport
LuckyTolani1
 
Please use your own words, do not just copy and paste !!!For Selec.pdf
Please use your own words, do not just copy and paste !!!For Selec.pdfPlease use your own words, do not just copy and paste !!!For Selec.pdf
Please use your own words, do not just copy and paste !!!For Selec.pdf
eyevision3
 
IEM ECE Electrovision 2013
IEM ECE Electrovision 2013IEM ECE Electrovision 2013
IEM ECE Electrovision 2013agomoni16
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptxBhavani Testone
 

Similar to Lecture 1 rapid android development (20)

I have adream
I have adreamI have adream
I have adream
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 
Remote control adding
Remote control addingRemote control adding
Remote control adding
 
RCCreator Guidance. Remote control adding (copy codes from your original remo...
RCCreator Guidance. Remote control adding (copy codes from your original remo...RCCreator Guidance. Remote control adding (copy codes from your original remo...
RCCreator Guidance. Remote control adding (copy codes from your original remo...
 
I phone apps developments interview
I phone apps developments interviewI phone apps developments interview
I phone apps developments interview
 
Iphone ipad-application
Iphone ipad-applicationIphone ipad-application
Iphone ipad-application
 
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINESTUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
STUDY OF AN APPLICATION DEVELOPMENT ENVIRONMENT BASED ON UNITY GAME ENGINE
 
Personalised Product Design Using Virtual Interactive Techniques
Personalised Product Design Using Virtual Interactive Techniques  Personalised Product Design Using Virtual Interactive Techniques
Personalised Product Design Using Virtual Interactive Techniques
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
 
Define & design apps for success en
Define & design apps for success enDefine & design apps for success en
Define & design apps for success en
 
Computer Art Applications.pptx
Computer Art Applications.pptxComputer Art Applications.pptx
Computer Art Applications.pptx
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
 
Export option (copy codes from your original RC)
Export option (copy codes from your original RC)Export option (copy codes from your original RC)
Export option (copy codes from your original RC)
 
E-Wallet
E-WalletE-Wallet
E-Wallet
 
Create your own sixth sense device
Create your own sixth sense deviceCreate your own sixth sense device
Create your own sixth sense device
 
RakeshKushwaha
RakeshKushwahaRakeshKushwaha
RakeshKushwaha
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Please use your own words, do not just copy and paste !!!For Selec.pdf
Please use your own words, do not just copy and paste !!!For Selec.pdfPlease use your own words, do not just copy and paste !!!For Selec.pdf
Please use your own words, do not just copy and paste !!!For Selec.pdf
 
IEM ECE Electrovision 2013
IEM ECE Electrovision 2013IEM ECE Electrovision 2013
IEM ECE Electrovision 2013
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

Lecture 1 rapid android development

  • 1. Developing Interactive Systems - IFI7154 LECTURE 1 - RAPID ANDROID DEVELOPMENT Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 2. Why do it? time money tangible Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 3. Why use something like App Inventor? 1) Observe programming structures (which can be implemented in Java- based environment) 2) Results in a workable APK! (Can be revere- engineered) Two limitations: - Android Only - Limited size and features(but has plenty!) Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 4. Setting up your environment… • STEP 1: If you do not have one, create a googlemail e-mail address. This is required in order to use App Inventor. • STEP 2: Go to ai2.appinventor.mit.edu (important note: this is the second version of App Inventor. Make sure you are not using the first version as a lot of features will be missing and coding will be different) • STEP 3: Connect your gmail address to the program. ‘Please select an account that you would like to use’. You’re all set! Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 6. Fill Parent NOTE: If fill parent seems to not work, it is probably because you need to unclick the ‘scrollable’ value from the screen properties. You cannot fill parent if the screen height is ∞. Avoid using table layout. It is buggy and difficult to control. You can achieve everything you need using a combination of the ‘horizontal’ and ‘vertical’ arrangements. Fernando Loizides 2014 Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 7. Hello World (it has to be done…) You can load this on your phone and live changes are made over the wireless network. This is easy if there is a relatively open network but can be hard over protected networks (like university networks can be) You can install an emulator on your computer. This simulates an android phone and shows you what the app would do on the phone. Does not support things like texting, accelerometer etc. for obvious reasons. You can connect your phone using a USB cable to load application this way. A QR Code appears and using a QR scanner you can download and install the APK to your phone. You can also send the QR code to others. Keep in mind that the QR code is valid only for 2 hours after compiling. Downloads the installer APK file to your computer. You can then email it to yourself or others or post it online. Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 8. Button BackgroundColor Returns the button's background color Enabled If set, user can tap check box to cause action. FontBold If set, button text is displayed in bold. FontItalic If set, button text is displayed in italics. FontSize Point size for button text. FontTypeface (designer only) Font family for button text. Height Button height (y-size). Image Image to display on button. Shape (designer only) Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed. ShowFeedback Specifies if a visual feedback should be shown for a button that has an image as background. Text Text to display on button. TextAlignment (designer only) Left, center, or right. TextColor Color for button text. Visible Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden. Width Button width (x-size). Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 9. Button (2) Click() User tapped and released the button. Gotfocus() Indicates the cursor moved over the button so it is now possible to click it. Lostfocus() Indicates the cursor moved away from the button so it is now no longer possible to click it. Touchdown() Indicates that the button was pressed down. Touchup() Indicates that a button has been released. Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 10. Changing Screens Selecting an Existing Screen Add a new Screen *You cannot (presently) change the name of the initial screen. You can rename it’s heading though. Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 11. Simulating Multiple Screens In One Fernando Loizides 2014 Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 12. SMS Fernando Loizides 2014 Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 13. Accelerometer Fernando Loizides 2014 Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 14. Fernando Loizides - 2014 Using the Canvas - Drawing Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 15. Using the Canvas - Drawing Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 16. SOME PHYSICS Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun
  • 19. http://ai2.appinventor.mit.edu/reference/components/ For a more comprehensive list of the use of App Inventor components have a look at: Developing Interactive Systems - IFI7154 Fernando Loizides & Ilja Šmorgun