Designer and Blocks Editor - Lab1
Designer and Blocks Editor - Lab1
Laboratory 1 (HelloPurr)
Introduction:
This chapter gets you started building apps. It presents the key elements of App
Inventor, the Component Designer and the Blocks Editor, and leads you through the
basic steps of creating your first app, HelloPurr. When you’re finished, you’ll be ready to
build apps on your own.
Contents:
The first window that opens is the Component Designer. The Blocks Editor is
available by clicking on the “Blocks” button in the upper-right corner of the window.
App Inventor is a cloud computing tool, meaning that your app is stored on an
online server as you work. So, if you close App Inventor, your app will be there when
you return; you don’t have to save anything on your computer as you would with, for
example, a Microsoft Word file.
• The Component Designer (Figure 1-1). You use it to select components for your
app and specify their properties.
• The Blocks Editor (Figure 1-2). You use it to specify how the components will
behave (e.g., what happens when a user clicks a button).
• An Android device with which you can actually run and test your app as you are
developing it. If you don’t have an Android device handy, you can test the apps
you build by using the Android emulator that comes with the system.
Figure 1-1. The Components Designer for specifying how the app will look
• Toward the center is a white area called the Viewer. This is where you place
components and arrange them to map out what you want your app to look like.
The Viewer shows only a rough indication of how the app will look, so for
example, a line of text might break at a different place on your device than on the
Viewer. To see how your app will really appear, you’ll need to test it on your
device or the emulator (we’ll show you how to do this shortly).
• To the left of the Viewer is the Palette, which is a list of components from which
you can select. The Palette is divided into sections; at this point, only the User
Interface components are visible, but you can see components in other sections
of the Palette by clicking the headers labeled Layout, Media, and so on.
• To the right of the Viewer is the Components list, which lists the components in
your project. Any component that you drag into the Viewer will also show up in
this list. Currently, the project has only one component listed: Screen1, which
represents the screen of the device itself.
• Under the Components list is an area that shows the Media (pictures and sound)
in the project.
• To the far right is a section that shows the Properties of components; when you
click a component in the Viewer, you’ll see its Properties listed here. Properties
are details about each component that you can change. (For example, when
clicking on a Label component, you might see properties related to color, text,
font, and so on.) Right now, it shows the properties of the screen (called
Screen1), which include a background color, a background image, and a title.
Figure 1-2. The Blocks Editor for specifying how the app will behave
Scenario
In this activity, students will be using the Designer Component to design their
very first Android Application. Blocks editor will be used to convert each design into an
interactive App by creating methods or functions.
Laboratory Outcome.
At the end of the laboratory, students must be able to:
Procedures
1. Making a Label
The first component to add is a Label:
a) Go to the Palette, open the User Interface drawer if it is not open, click Label
(which appears about six spots down in the list of components), and drag it to
the Viewer. You’ll see a rectangular shape appear on the Viewer, containing
the words “Text for Label1.”
b) Look at the Properties box on the right side of the Designer. It shows the
properties of the label. About halfway down, there’s a property called Text,
with a box for the label’s text. Change the text to “Pet the Kitty” and press
Return. You’ll see the text change in the Viewer.
c) Change the BackgroundColor of the label by clicking the box, which currently
reads None, to select a color from the list that appears. Select Blue. Also
change the TextColor of the label to Yellow. Finally, change the FontSize to
20.
Now you’ve got a button that you’ll use to trigger the sound effect when someone
taps it, but we really want it to look like the picture of the kitty, not a plain, old rectangle.
To make the button look like the kitty:
a) First, you need to download a picture of the kitty and save it on your computer
desktop. You can download it in our Class at www.isatumiagao.online . The
extension .png is a standard image format similar to .jpg and .gif; all of these file
types will work in App Inventor, as will most standard sound files such as .mpg or
.mp3. You can also download the sound file you’ll need to make the kitty meow
at www.isatumiagao.online.
b) The Properties box should display the properties of the button. If it doesn’t, click
the button in the Viewer to reveal the button’s properties on the right. In the
Properties box, click the area under Image (which currently reads “None...”).
c) Click “Upload File.” Then, click “Choose File” and browse to select the kitty.png
file you downloaded to your computer earlier, and then click OK.
Figure 1-4. The app with a label and a button with an image on it
In your app, you want the kitty to meow when you tap the button. For this, you’ll
need to add the meow sound and program the button behavior to play that sound when
the button is clicked:
Table 1-1 lists the components that you’ve gathered for your app so far.
You’ve just added Button, Label, and Sound components as the building blocks for
your first app. Now, let’s make the kitty meow when you tap the button. You do this with
the Blocks Editor. In the top right of the Component Designer, click “Blocks.” Look at the
Blocks Editor window. This is where you instruct the components what to do and when
to do it. You’re going to direct the kitty button to play a sound when the user taps it. If
components are ingredients in a recipe, you can think of blocks as the cooking
instructions.
At the top left of the window, beneath the Blocks header, you’ll see a column that
includes a Built-in drawer and a drawer for each component you created in the
Designer: Button1, Label1, Screen1, and Sound1. When you click a drawer, you get a
bunch of options (blocks) for that component. Click the drawer for Button1. The drawer
opens, showing a selection of blocks that you can use to build the button’s behavior,
starting with Button1.Click at the top, as shown in Figure 1-5.
Click the block labeled Button1.Click and drag it into the workspace. You’ll notice
that the word “when” is included on the Button1.Click block. Blocks including the word
“when” are called event handlers; they specify what components should do when some
particular event happens. In this case, the event we’re interested in happens when the
app user taps the image of the kitty (which is really a button), as in Figure 1-6. Next,
you’ll add some blocks to program what will happen in response to that event.
Figure 1-6. You’ll specify a response to the user clicking within the Button.Click
block
Figure 1-7. Now when someone clicks the button, the meow sound will play
Adding a Purr
Now we’re going to make the kitty purr and meow when you tap the button. We’ll
simulate the purr by making the device vibrate. That might sound hard, but in fact, it’s
easy to do because the Sound component we used to play the meow sound can make
the device vibrate, as well. App Inventor helps you tap into this kind of core device
functionality without having to deal with how the device actually vibrates. You don’t need
Figure 1-8. Playing the sound and vibrating on the Click event
c) You might have noticed that the call Sound1.Vibrate block includes the text
“millisecs” at the lower right, and alongside it is an open socket protruding
inward from the block’s edge. An open socket in a block means that you need to
plug something into it to specify more about how the behavior should work. In
this case, you must tell the Vibrate block how long it should vibrate. You need to
specify this time in thousandths of a second (milliseconds), which is pretty
common for many programming languages. So, to make the device vibrate for
half a second, you need to enter a value of 500 milliseconds. To do that, you
need to grab a number block. Click the Math drawer and you’ll see a list of blue
blocks appear, as shown in Figure 1-9.
d) At the top of the list, you should see a block with a “0” in it. You can drag
this block out and then change the 0 to any number you want. Go ahead
and drag out the number block, as shown in Figure 1-10.
f) Plug the 500 number block into the socket on the right side of call
Sound1.Vibrate, as shown in Figure 1-12.
Figure 1-12. Plugging the value 500 into the millisecs socket
Now, let’s add a final element that taps into another cool feature of Android:
making the kitty meow when you shake the device. To do this, you’ll use a component
called AccelerometerSensor that can sense when you shake or move the device
around.
a) In the Designer, in the Palette components list, expand the Sensors area
and drag out an AccelerometerSensor. Don’t worry about where you drag
it. As with any non-visible component, no matter where you place it in the
Viewer, it will move to the “Non-visible components” section at the bottom
of the Viewer.
b) You’ll want to treat someone shaking the device as a different, separate
event from the button click. This means that you need a new event
1. Adding of Button
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
3. Adding of Sound
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
4. Adding of Images
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
• Label
• Button
• Images
• Sound
Instructions: