AppInventor Q&Ax

stuckwarmersMobile - Wireless

Dec 14, 2013 (3 years and 7 months ago)

212 views

AppInventor Questions

(and my humble attempts at answers!)




How can applications be viewed without the phone/device?

You can use the emulator....

http://appinventor.googlelabs.com/learn/reference/other/emulator.html

(NOTE


you will not use the
command “run
-
emulator” as this page states. Use “start_emulator” located in your appinventor
-
extras
folder.)

http://developer.android.com/guide/developing/tools/emulator.html





How many events can these phones run? Or is it limitless?

The functionality of the android platform is flexible enough to provide limitless events. Som
e limitations
may exist from hardware restrictions.




What type of Apps will we be expected to make based on difficulty level? Will we get
step
-
by
-
step general tutorials to help us make them as a group?

The group projects ought to be useful to society in s
ome way, but they do not need to be overly difficult.
Step
-
by
-
step tutorials cannot be provided, but assistance is available to you throughout the app
-
designing
process. If you are interested in using any element(s) that have not been covered, we will gi
ve you extra
tutorials and/or assistance as needed.




Is there any way to write custom code using AppInventor by possibly writing in code
yourself?

The source code is NOT Java SDK code...it can only be loaded into AppInventor.




In AppInventor, how can you

alter system settings such as making auto
-
text option,
etc.

By auto
-
text, do you mean auto
-
complete? I do not believe that AppInventor has that functionality built
in, but you could create a database of words and write an event that looks to the list of
words after each
letter is entered by the user, returning suggestions from the database.




How can we change the line size? Maybe variable sprite size and draw sprite?

Yes, you could do this using the ball sprite. The animation documentation below would

help you to do
this:

http://appinventor.googlelabs.com/learn/reference/components/animation.html





How can we space out the color buttons to make color selection e
asier?

By using a combination of the Horizontal Arrangement component and the “fill parent” width of the
Buttons components, you can make them evenly spaced across the screen. In order to have spaces
between the buttons, you would need to insert additiona
l unassigned/empty buttons between them.




How do you develop feedback on the buttons?

This seems to be one of the limits of the AppInventor

program...only “default colored” buttons provide
feedback when pressed. However, you can create an event to provide feedback when buttons are
clicked. Please review this video tutorial:

http://w
ww.youtube.com/watch?v=c3ckTcMW6NY




Do designers ever get confused with all of the clutter of the AppInventor?

In the Blocks Editor, you have the ability to zoom in and out to make it easier to navigate between
events. If you find that you are having diff
iculty arranging the elements in the Blocks Editor, try
grouping them by component or function. This should help you build your own comfortable work
space in AppInventor




Is there a way to work around AppInventor's limitation of one screen?

We will review

how to call other apps/programs/functions on Tuesday, October 26. However, I did
stumble across this very helpful tutorial to create multiple virtual screens within AppInventor.

http://www.youtube.com/watch?v=ng2QnFk0gGY




Can we create an alarm or push notification within AppInventor?

I am still looking into push notifications, but the clock component is flexible enough to create
alarms/timers.



Use a clock component to create a

timer that signals events at regular intervals. The clock
component also does various conversions and manipulations with time units.

One use of the clock component is a a
timer
: set the timer interval, and the timer will fire
repeatedly at the interval,
signalling a timer event.

A second use of the clock component is to manipulate time, and express time in various units.
The internal time format used by the clock is called an
instant
. The clock's
Now

method returns
the current time as an instant. The clo
ck provides methods to manipulate instants, for example,
return an instant that is several seconds, or months, or years from the given instant. It also
provides methods to show the second, minute, hour, day, …, corresponding to a given instant.

Source:
http://appinventor.googlelabs.com/learn/reference/components/basic.html#Clock




Can apps be linked? Where one app calls info from a block in another app?

Using

the Activity Starter (as we used in the Map Tour tutorial), you can all other apps directly (as Map
Tour did

with calling Google Maps). You cannot call individual blocks from another app.

Please review the documentation at:

http://appinventor.googlelabs.com/learn/reference/other/activitystarter.html




What is the difference between an event, an event
-
handler, and a call to a function?
Event arguments vs. function
call arguments?

Events are user
-
actions (such as clicking a mouse, touching a screen). Event handlers define what to do
in response to the user’s action. The use of function calls within event handers help to streamline
programming, but correct event handlers can be mad
e without function calls. In AppInventor, typically
event arguments are the arguments to a pre
-
defined function (built
-
in blocks); function call arguments
are the arguments to a user
-
defined function (my blocks).




Since AppInventor does not allow custom c
ode, can you create a totally custom
application another way? What if the current plugins are not available?

You can write SDK code. If you are interested in pursuing more advanced programming capabilities,
you can explore sites such as
http://developer.android.com/index.html
, but please stick to using
AppInventor for the class project. I do not know what plugins you are referring to.




If we make an application with the emulator, will it work on any

droid phone?

First, remember that we are not using the emulator to make the app…we are using it to d
o live testing of
our apps. But generally speaking, if an app works with the emulator, it will likely also work on any
Android device. (Limitations may e
xist depending on what apps/progra
ms your app calls.)




How can we c
reat
e a custom TinyWebDB service?

You can create your own database to store your persistent data by following the step
-
by
-
step instructions
on the below website. This is a bit more advanc
ed and requires you to use Google’s App Engine
http://code.google.com/appengine/
. (Note that anyone with an AppInventor account seems to also have
a Google App Engine account. Please let me know if you ha
ve any issues with signing in.)


o

The website:
http://appinventor.googlelabs.com/learn/reference/other/tinywebdb.html

o

The site as a downloadable pdf:
https://docs.google.com/fileview?id=0B1
-
ltOUgFpuONTYxMmQxOGQtOTFlZC00OTI5LWFkMGYtZDhjMDM4MjBiMmJk&hl
=en&authkey=CImI15QG




Can we encrypt the data in TinyWebDB?

This IS possible, but to program it cleanly, you would be better off using Google’s App Engine. It is not
necessary to do data encryption for your group apps, though you may want to include it as a suggestion
for fut
ure development.




Can apps created in App Inventor be downloaded on any Android?

While App Inventor apps are compatible with all Android devices, you need to have an App Inventor
account to download the QR code generated by the program. If you want to sha
re your apps with your
friends that do not have App Inventor accounts, you can create a custom
barcode for your app that
anyone can download.
http://www.appinventor.org/scr
eencast
-
barcodes
-
anyone
-
can
-
download




Can the Activity Starter component bring up programs such as Google Goggles?

It is possible to call any program/app from Activity Starter,

however I’m not sure how to get the
appropriate data back from Google Goggles in particular. If you’d like more information about starting
programs/apss, please review
http://www.openintents.org/
en/intentstable

o

See also info on Intents and Intent Filers
http://developer.android.com/guide/topics/intents/intents
-
filters.html