CHAPTER 4 No Texting While Driving
|
|
|
- Conrad Farmer
- 10 years ago
- Views:
Transcription
1 CHAPTER 4 No Texting While Driving This chapter walks you through the creation of No Texting While Driving, a text answering machine app that auto-responds to text messages you receive while you re driving (or in the office, etc.), speaks text messages aloud, and even sends location information as part of the automated text reply. The app demonstrates how you can control some of the great features of an Android phone, including SMS texting, text-to-speech, persistent data, and GPS location sensing. In January 2010, the United States National Safety Council (NSC) announced the results of a study that found that at least 28 percent of all traffic accidents close to 1.6 million crashes every year are caused by drivers using cell phones, and at least 200,000 of those accidents occurred while drivers were texting. 1 As a result, many states have banned drivers from using cell phones altogether. Daniel Finnegan, a student at the University of San Francisco taking an App Inventor programming class, came up with an app idea to help with the driving and texting epidemic. The app he created, which is shown in Figure 4-1, responds automatically (and hands-free) to any text with a message such as I m driving right now, I ll contact you shortly. The app was later extended so that it would speak the incoming texts aloud and add the driver s GPS location to the auto-response text, and it was turned into a tutorial for the App Inventor site. Figure 4-1. The No Texting While Driving app Some weeks after the app was posted on the App Inventor site, State Farm Insurance created an Android app called On the Move, which had similar functionality to No Texting While Driving. 1
2 52 Chapter 4: No Texting While Driving We don t know if Daniel s app or the tutorial on the App Inventor site influenced On the Move, but it s interesting to consider the possibility that an app created in a beginning programming course (by a creative writing student, no less!) might have inspired this mass-produced piece of software, or at least contributed to the ecosystem that brought it about. It certainly demonstrated how App Inventor has lowered the barrier of entry so that anyone with a good idea can quickly and inexpensively turn his idea into a tangible, interactive app. Clive Thompson of Wired magazine picked up on the novelty and wrote this: Software, after all, affects almost everything we do. Pick any major problem global warming, health care, or, in Finnegan s case, highway safety and clever software is part of the solution. Yet only a tiny chunk of people ever consider learning to write code, which means we re not tapping the creativity of a big chunk of society. 2 App Inventor is about tapping the creativity Thompson mentions, about opening up the world of software creation to everyone. What You ll Learn This is a more complex app than those in the previous chapters, so you ll build it one piece of functionality at a time, starting with the auto-response message. You ll learn about: The Texting component for sending texts and processing received texts. An input form for submitting the custom response message. The TinyDB database component for saving the customized message even after the app is closed. The Screen.Initialize event for loading the custom response when the app launches. The TextToSpeech component for speaking texts aloud. The LocationSensor component for reporting the driver s current location. Getting Started Open your brower to the App Inventor website and start a new project. Name it NoTextingWhileDriving (remember, project names can t have spaces) and set the screen s title to No Texting While Driving. Then, click Connect and set up live testing on your device or the emulator. 2 Clive Thompson, Clive Thompson on Coding for the Masses,
3 Designing the Components Designing the Components 53 The user interface for the app is relatively simple: it has a label instructing the user how the app works, a label that displays the text that is to be automatically sent in response to incoming texts, a text box for changing the response, and a button for submitting the change. You ll also need to drag in a Texting component, a TinyDB component, a TextToSpeech component, and a LocationSensor component, all of which will appear in the Non-visible components area. You can see how this should look in the snapshot of the Component Designer in Figure 4-2. Figure 4-2. The No Texting While Driving app in the Component Designer You can build the user interface shown in Figure 4-2 by dragging out the components listed in Table 4-1. Table 4-1. All of the components for the No Texting app Component type Palette group What you ll name it Purpose Label User Interface PromptLabel Let the user know how the app works. Label User Interface ResponseLabel The response that will be sent back to the sender. TextBox User Interface newresponsetextbox The user will enter the custom response here. Button User Interface SubmitResponseButton The user clicks this to submit response. Texting Social Texting1 Process the texts.
4 54 Chapter 4: No Texting While Driving Component type Palette group What you ll name it Purpose TinyDB Storage TinyDB1 Store the response in the database. TextToSpeech Media TextToSpeech1 Speak the text aloud. LocationSensor Sensors LocationSensor1 Sense where the device is. Set the properties of the components in the following way: Set the Text of PromptLabel to The text below will be sent in response to all SMS texts received while this app is running. Set the Text of ResponseLabel to I m driving right now, I ll contact you shortly. Check its boldness property. Set the Text of NewResponseTextbox to. (This leaves the text box blank for the user s input.) Set the Hint of NewResponseTextbox to Enter new response text. Set the Text of SubmitResponseButton to Modify Response. Adding Behaviors to the Components You ll start by programming the autoresponse behavior in which a text reply is sent to any incoming text. You ll then add blocks so that the user can specify a custom response and save that response persistently. Finally, you ll add blocks that read the incoming texts aloud and add location information to the auto-response texts. Auto-Responding to a Text For the auto-response behavior, you ll use App Inventor s Texting component. You can think of this component as a little person inside your phone who knows how to read and write texts. For reading texts, the component provides a Texting.MessageRe ceived event block. You can drag this block out and place blocks inside it to show what should happen when a text is received. In the case of this app, we want to automatically send back a text in response. You can send a text with three blocks. First, you set the phone number to which the text should be sent, which is a property of the Texting1 component. Next, you set the message to be sent, also a property of Texting1. Finally, you actually send the text with the Texting1.SendMessage block. Table 4-2 lists all the blocks you ll need for this auto-response behavior, and Figure 4-3 shows how they should look in the Blocks Editor.
5 Adding Behaviors to the Components 55 Table 4-2. The blocks for sending an auto-response Block type Drawer Purpose Texting1.MessageReceived Texting The event handler that is triggered when the phone receives a text. set Texting1.PhoneNum ber to Texting Set the PhoneNumber property before sending. value number Drag from when block The phone number of the person who sent the text. set Texting1.Message to Texting Set the Message property before sending. ResponseLabel.Text ResponseLabel The message the user has entered. Texting1.SendMessage Texting Send the message. Figure 4-3. Responding to an incoming text How the blocks work When the phone receives a text message, the Texting1.MessageReceived event is triggered. The phone number of the sender is in the argument number, and the message received is in the argument messagetext. As the auto-response text should be sent back to the sender, Texting. PhoneNumber is set to number. Texting.Message is set to ResponseLabel.Text, which is what you typed while in the Designer: I m driving right now, I ll contact you shortly. When these are set, the app calls Texting.SendMessage to actually send the response.
6 56 Chapter 4: No Texting While Driving Test your app You ll need two phones to test this behavior, one to run the app and one to send the initial text. If you don t have a second phone handy, you can use Google Voice or a similar service on your computer and send texts from that service to the phone running the app. After you set things up, send a text to the phone running the app. Does the first phone receive the response text? Entering a Custom Response Next, let s add blocks so the user can enter her own custom response. In the Component Designer, you added a TextBox component named NewResponseTextbox; this is where the user will type the custom response. When the user clicks on the SubmitRes ponsebutton, you need to copy the entry (NewResponseTextbox) into the ResponseLa bel, which is used to respond to texts. Table 4-3 lists the blocks you ll need for transferring a newly entered response into the ResponseLabel. Table 4-3. Blocks for displaying the custom response Block type Drawer Purpose SubmitResponseBut ton.click SubmitResponseButton The user clicks this button to submit a new response message. set ResponseLabel.Text to ResponseLabel Move (set) the newly input value to this label. NewResponseTextbox.Text NewResponseTextbox The user has entered the new response here. set NewResponseText box.text to NewResponseTextbox Blank out the text box after transferring information text ( ) Text The empty text. How the blocks work Think of how you interact with a typical input form: you first type something in a text box and then click a submit button to signal the system to process it. The input form for this app is no different. Figure 4-4 shows how the blocks are programmed so that when the user clicks the SubmitResponseButton, the SubmitResponseButton.Click event is triggered.
7 Adding Behaviors to the Components 57 Figure 4-4. Setting the response to the user s entry The event handler in this case copies (or, in programming terms, sets) what the user has entered in NewResponseTextbox into the ResponseLabel. Recall that ResponseLa bel holds the message that will be sent out in the auto-response, so you want to be sure to place the newly entered custom message there. Test your app Enter a custom response and submit it, and then use the second phone to send another text to the phone running the app. Was the custom response sent? Storing the Custom Response Persistently Your user can now customize the auto-response, but there is one catch: if the user enters a custom response and then closes the app and relaunches it, the custom response will not appear (instead, the default response will). This behavior is not what your users will expect; they ll want to see the custom response they entered when they restart the app. To make this happen, you need to store that custom response persistently. Placing data in the ResponseLabel.Text property is technically storing it, but the issue is that data stored in component properties is transient data. Transient data is like your short-term memory; the phone forgets it as soon as an app closes. If you want your app to remember something persistently, you have to transfer it from short-term memory (a component property or variable) to long-term memory (a database or file). To store data persistently in App Inventor, you use the TinyDB component, which stores data in a file on the Android device. TinyDB provides two functions: StoreValue and GetValue. With the former, the app can store information in the device s database, whereas with the latter, the app can retrieve information that has already been stored. For many apps, you ll use the following scheme: 1. Store data to the database each time the user submits a new value.
8 58 Chapter 4: No Texting While Driving 2. When the app launches, load the data from the database into a variable or property. You ll start by modifying the SubmitResponseButton.Click event handler so that it stores the data persistently, using the blocks listed in Table 4-4. Table 4-4. Blocks for storing the custom response with TinyDB Block type Drawer Purpose TinyDB1.StoreValue TinyDB1 Store the custom message in the phone s database. text ( responsemessage ) Text Use this as the tag for the data. ResponseLabel.Text ResponseLabel The response message is now here. How the blocks work This app uses TinyDB to take the text it just put in ResponseLabel and store it in the database. As shown in Figure 4-5, when you store something in the database, you provide a tag with it; in this case, the tag is responsemessage. Think of the tag as the name for the data in the database; it uniquely identifies the data you are storing. As you ll see in the next section, you ll use the same tag ( responsemessage ) when you load the data back in from the database. Figure 4-5. Storing the custom response persistently Retrieving the Custom Response When the App Opens The reason for storing the custom response in the database is so that it can be loaded back into the app the next time the user opens it. App Inventor provides a special event block that is triggered when the app opens: Screen1.Initialize (if you completed MoleMash in Chapter 3, you ve seen this before). If you drag this event block out and place blocks in it, those blocks will be executed immediately when the app launches.
9 For this app, your Screen1.Initialize event handler will load the custom response from the database by using the TinyDB.GetValue function. The blocks you ll need for this are shown in Table 4-5. Table 4-5. Blocks for loading the data back in when the app is opened Block type Drawer Purpose Adding Behaviors to the Components 59 Screen1.Initialize Screen1 This is triggered when the app begins. TinyDB1.GetValue TinyDB1 Get the stored response text from the database. text ( responsemessage ) Text Plug this into the tag socket of TinyDB.GetValue, making sure the text is the same as that used in TinyDB.StoreValue earlier. text ( I m driving right now, I ll contact you shortly ) Text Plug this into the valueiftagnotthere slot of TinyDB.GetValue. This is the default message that should be used if the user has not yet stored a custom response. set ResponseLabel.Text to ResponseLabel Place the retrieved value in ResponseLabel. How the blocks work Figure 4-6 shows the blocks. To understand them, you must envision a user opening the app for the first time, entering a custom response, and opening the app subsequent times. The first time the user opens the app, there won t be any custom response in the database to load, so you want to leave the default response in the ResponseLabel. On successive launches, you want to load the previously stored custom response from the database and place it in the ResponseLabel. Figure 4-6. Loading the custom response from the database upon app initialization When the app begins, the Screen1.Initialize event is triggered. The app calls the TinyDB1.GetValue with a tag of responsemessage, the same tag you used when you stored the user s custom response entry earlier. If there is data in the TinyDB with a tag of responsemessage, it is returned and placed in the ResponseLabel.
10 60 Chapter 4: No Texting While Driving However, there won t be data the first time the app is launched; this will be the case until the user types a custom response. To handle such cases, TinyDB1.GetValue has a second parameter, valueiftagnotthere. If no data is found, the value in valueiftag NotThere is used instead. In this case, I m driving right now, I ll contact you shortly, the default value, is placed into ResponseLabel. Test your app To test this behavior, you need to restart your app to see if the data is truly stored persistently and retrieved correctly. In live testing, you can restart the app by changing some component property in the designer, such as the font size of a Label. This will cause the app to reload and Screen.Initialize to be triggered. Of course, you can also test the app by actually building it and installing the.apk file on your phone. Once the app is on your phone, launch it, type a message for the custom response, close the app, and then reopen it. If the message you entered is still there, things are working correctly. Speaking the Incoming Texts Aloud In this section, you ll modify the app so that when you receive a text, the sender s phone number, along with the message, is spoken aloud. The idea here is that when you re driving and hear a text come in, you might be tempted to check the text even if you know the app is sending an auto-response. With text-to-speech, you can hear the incoming texts and keep your hands on the wheel. Android devices provide text-to-speech capabilities, and App Inventor provides a component, TextToSpeech, that will speak any text you give it. Note that the Text in TextToSpeech refers to a sequence of letters, digits, and punctuation, not an SMS text. The TextToSpeech component is very simple to use. You just call its Speak function and plug in the text that you want spoken into its message slot. For instance, the blocks shown in Figure 4-7 would speak the words, Hello World. Figure 4-7. Blocks for speaking Hello World aloud For the No Texting While Driving app, you ll need to provide a more complicated message to be spoken, one that includes both the text received and the phone number of the person who sent it. Instead of plugging in a static text object such as the Hello World text block, you ll plug in a join block. A commonly used function, join, makes it possible for you to combine separate pieces of text (or numbers and other characters) into a single text object.
11 Adding Behaviors to the Components 61 You ll need to make the call to TextToSpeech.Speak within the Texting.MessageRe ceived event handler you programmed earlier. The blocks you programmed previously handle this event by setting the PhoneNumber and Message properties of the Text ing component appropriately and then sending the response text. You ll extend that event handler by adding the blocks listed in Table 4-6. Table 4-6. Blocks for speaking the incoming text aloud Block type Drawer Purpose TextToSpeech1.Speak TextToSpeech1 Speak the message received aloud. join Text Concatenate (join together) the words that will be spoken. text ( SMS text received from ) Text The first words spoken. get number Drag in from when block The number from which the original text was received. text (.The message is ) Text Put a period in after the phone number and then say, The message is. get messagetext Drag in from when block The original message received. How the blocks work After the response is sent, the TextToSpeech1.Speak function is called, as shown at the bottom of Figure 4-8. You can plug any text into the message socket of the TextTo Speech1.Speak function. In this case, join is used to build the words to be spoken it concatenates (or joins) together the text SMS text received from and the phone number from which the message was received (get number), plus the text.the message is, and finally the message received (get messagetext). So, if the text hello was sent from the number , the phone would say, SMS text received from The message is hello. Figure 4-8. Speaking the incoming text aloud
12 62 Chapter 4: No Texting While Driving Test your app You ll need a second phone to test your app. From the second phone, send a text to the phone running the app. Does the phone running the app speak the text aloud? Does it still send an automated response? Adding Location Information to the Response Check-In apps help people track one another s location. There are major privacy concerns with such apps, one reason being that location tracking kindles people s fear of a Big Brother apparatus that a totalitarian government might set up to track its citizens whereabouts. But apps that use location information can be quite useful. Think of a lost child, or hikers who ve gone off the trail in the woods. In the No Texting While Driving app, you can use location tracking to convey a bit more information in the auto-response to incoming texts. Instead of just I m driving, the response message can be something like, I m driving and I m currently at 3413 Cherry Avenue. For someone awaiting the arrival of a friend or family member, this extra information can be helpful. App Inventor provides the LocationSensor component for interfacing with the phone s GPS (or Global Positioning System). Besides latitude and longitude information, the LocationSensor can also tap into Google Maps to provide the driver s current street address. It s important to note that LocationSensor doesn t always have a reading. For this reason, you need to take care to use the component properly. Specifically, your app should respond to the LocationSensor.LocationChanged event handler. A Location Changed event occurs when the phone s location sensor first gets a reading, and when the phone is moved to generate a new reading. Using the blocks listed in Table 4-7, our scheme, shown in Figure 4-9, will respond to the LocationChanged event by placing the current address in a variable we ll name lastknownlocation. Later, we ll change the response message to incorporate the address we get from this variable. Table 4-7. Blocks to set up the location sensor Block type Drawer Purpose initialize global variable ( lastknownlocation ) Variables Create a variable to hold the last read address. text ( unknown ) Text Set the default value in case the phone s sensor is not working. LocationSensor1.Location Changed LocationSensor1 This is triggered on the first location reading and every location change.
13 Adding Behaviors to the Components 63 Block type Drawer Purpose set global lastknownloca tion to LocationSensor1.CurrentAd dress Drag from initialize global block. LocationSensor1 Set this variable to be used later. This is a street address such as 2222 Willard Street, Atlanta, Georgia. Figure 4-9. Recording the phone s location in a variable each time the GPS location is sensed How the blocks work The LocationSensor1.LocationChanged event is triggered the first time the sensor gets a location reading and then each time the device is moved so that a new reading is generated. The LocationSensor1.CurrentAddress function is called to get the current street address of the device and store it in the lastknownlocation variable. Note that with these blocks, you ve finished only half of the job. The app still needs to incorporate the location information into the auto-response text that will be sent back to the sender. You ll do that next. Sending the Location as Part of the Response Using the variable lastknownlocation, you can modify the Texting1.MessageRe ceived event handler to add location information to the response. Table 4-8 lists the blocks you ll need for this. Table 4-8. Blocks to display location information in the auto-response Block type Drawer Purpose join Text concatenate some text together ResponseLabel.Text MessageTextBox This is the (custom) message in the text box. text ( My last known location is: ) get global lastknownlo cation Text LocationSensor This will be spoken after the custom message (note the leading space). This is an address such as 1600 Pennsylvania Ave NW, Washington, DC
14 64 Chapter 4: No Texting While Driving How the blocks work This behavior works in concert with the LocationSensor1.LocationChanged event and the variable lastknownlocation. As you can see in Figure 4-10, instead of directly sending a message containing the text in ResponseLabel.Text, the app first builds a message by using join. It combines the response text in ResponseLabel.Text with the text My last known location is: followed by the variable lastknownlocation. Figure Including location information in the response text The default value of lastknownlocation is unknown, so if the location sensor hasn t yet generated a reading, the second part of the response message will contain the text, My last known location is: unknown. If there has been a reading, the second part of the response will be something like, My last known location is: 1600 Pennsylvania Ave NW, Washington, DC Test your app From the second phone, send a text to the phone running the app. Does the second phone receive the response text with the location information? If it doesn t, make sure you ve turned GPS on in the Location settings of the phone running the app. The Complete App: No Texting While Driving Figure 4-11 shows the final block configuration for No Texting While Driving.
15 Variations 65 Figure The complete No Texting While Driving app Variations Once you get the app working, you might want to explore some variations, such as the following: Write a version that lets the user define custom responses for particular incoming phone numbers. You ll need to add conditional (if) blocks that check for those numbers. For more information on conditional blocks, see Chapter 18. Write a version that sends custom responses based on whether the user is within certain latitude/longitude boundaries. So, if the app determines that you re in room 222, it will send back Bob is in room 222 and can t text right now. For more information on the LocationSensor and determining boundaries, see Chapter 23. Write a version that sounds an alarm when a text is received from a number in a notify list. For help working with lists, see Chapter 19.
16 66 Chapter 4: No Texting While Driving Summary Here are some of the concepts we covered in this tutorial: You can use the Texting component to both send text messages and process the ones that are received. Before calling Texting.SendMessage, you should set the PhoneNumber and Message properties of the Texting component. To respond to an incoming text, program the Texting.MessageReceived handler. The TinyDB component is used to store information persistently in the phone s database so that the data can be reloaded each time the app is opened. For more information on TinyDB, see Chapter 22. The TextToSpeech component takes any text object and speaks it aloud. You can use join to piece together (or concatenate) separate text items into a single text object. The LocationSensor component can report the phone s latitude, longitude, and current street address. To ensure that it has a reading, you should access its data within the LocationSensor.LocationChanged event handler, which is triggered the first time a reading is made and upon every change thereafter. For more information on the LocationSensor, see Chapter 23. If you re interested in exploring SMS-processing apps further, check out the Broadcast Hub app in Chapter 11.
ACS-1805 Introduction to Programming (with App Inventor)
ACS-1805 Introduction to Programming (with App Inventor) Chapter 13 No Texting While Driving 11/17/2015 1 What We Will Learn In this chapter we will learn The Texting component for sending texts and processing
CHAPTER 11 Broadcast Hub
CHAPTER 11 Broadcast Hub Figure 11-1. FrontlineSMS is a software tool used in developing countries to monitor elections, broadcast weather changes, and connect people who don t have access to the Web but
CHAPTER 11 Broadcast Hub
Chapter 11 Broadcast Hub FrontlineSMS (http://www.frontlinesms.com) is a software tool used in developing countries to monitor elections, broadcast weather changes, and connect people who don t have access
Android, Where s My Car?
Chapter 7 Android, Where s My Car? You parked as close to the stadium as you possibly could, but when the concert ends, you don t have a clue where your car is. Your friends are equally clueless. Fortunately,
Working with Databases
Chapter 22 Working with Databases Facebook has a database of every member s account information, friends list, and posts. Amazon has a database of just about everything you can buy. Google has a database
CHAPTER 14 Understanding an App s Architecture
CHAPTER 14 Understanding an App s Architecture Figure 14-1. This chapter examines the structure of an app from a programmer s perspective. It begins with the traditional analogy that an app is like a recipe
CHAPTER 18 Programming Your App to Make Decisions: Conditional Blocks
CHAPTER 18 Programming Your App to Make Decisions: Conditional Blocks Figure 18-1. Computers, even small ones like the phone in your pocket, are good at performing millions of operations in a single second.
Programming Your App to Make Decisions: Conditional Blocks
Chapter 18 Programming Your App to Make Decisions: Conditional Blocks Computers, even small ones like the phone in your pocket, are good at performing thousands of operations in just a few seconds. Even
Hello Purr. What You ll Learn
Chapter 1 Hello Purr 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
CHAPTER 1 HelloPurr. The chapter covers the following topics:
CHAPTER 1 HelloPurr 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
Presidents Quiz. What You ll Learn
Chapter 8 Presidents Quiz The Presidents Quiz is a trivia game about former leaders of the United States. Though this quiz is about presidents, you can use it as a template to build quizzes on any topic.
Programming Lists of Data
Chapter 19 Programming Lists of Data As you ve already seen, apps handle events and make decisions; such processing is fundamental to computing. But the other fundamental part of an app is its data the
Reading and Responding to Sensors
Chapter 23 Reading and Responding to Sensors Point your phone at the sky, and Google Sky Map tells you which stars you re looking at. Tilt your phone, and you can control the game you re playing. Take
CHAPTER 19 Programming Lists of Data
CHAPTER 19 Programming Lists of Data As you ve already seen, apps handle events and make decisions; such processing is fundamental to computing. But, the other fundamental part of an app is its data the
SchoolMessenger for Android
The SchoolMessenger app lets you quickly and easily send messages from anywhere using your Android device. Setting up and using the application is simple. This guide will show you how! [Important: Before
Named Memory Slots. Properties. CHAPTER 16 Programming Your App s Memory
CHAPTER 16 Programming Your App s Memory Figure 16-1. Just as people need to remember things, so do apps. This chapter examines how you can program an app to remember information. When someone tells you
This chapter introduces the following App Inventor components and concepts:
CHAPTER 6 Paris Map Tour Figure 6-1. In this chapter, you ll build a tour guide app for a trip to Paris. Creating a fully functioning map app might seem really complicated, but App Inventor provides two
2342-4. Scientific m-learning. 4-7 June 2012. Mobile Application Development using App Inventor for Android Devices
2342-4 Scientific m-learning 4-7 June 2012 Mobile Application Development using App Inventor for Android Devices TRIVEDI Kirankumar Rajnikant Shantilal Shah Engineering College New Sidsar Campu, PO Vartej
SchoolMessenger for iphone
The SchoolMessenger app lets you quickly and easily send messages from anywhere using your iphone. Setting up and using the application is simple. This guide will show you how! [Important: Before you can
CHAPTER 8 Presidents Quiz
CHAPTER 8 Presidents Quiz Figure 8-1. The Presidents Quiz is a trivia game about former leaders of the United States. Though this quiz is about presidents, you can use it as a template to build quizzes
App Inventor Beginner Tutorials
App Inventor Beginner Tutorials 1 Four Simple Tutorials for Getting Started with App Inventor 1.1 TalkToMe: Your first App Inventor app 4 1.2 TalkToMe Part 2: Shaking and User Input 23 1.3 BallBounce:
TalkToMe Part 2: Shaking and User Input
TalkToMe Part 2: Shaking and User Input This tutorial shows you how to extend the basic TalkToMe app so that it responds to shaking, and so that the user can make the phone say any phrase s/he types in.
Mobile Apps with App Inventor
Mobile Apps with App Inventor written for 91.113 Michael Penta Table of Contents Mobile Apps... 4 Designing Apps in App Inventor... 4 Getting Started... 5 App Inventor Layout... 5 Your First App... 7 Making
American Sign Language Alphabet App (Project #2) (Version 2 of App Inventor) Description:
American Sign Language Alphabet App (Project #2) (Version 2 of App Inventor) Description: This App will take text input and then translate each letter of the text to the corresponding American Sign Language
Amy wants to use her email to view some photos her friend Sandy sent, from her vacation to Washington DC.
E-mail Attachments Hi, I m Sarah. I m going to show you how to download files people send to you in emails, and how to send your own files to other people using your email. We ll follow along with Amy,
Xylophone. What You ll Build
Chapter 9 Xylophone It s hard to believe that using technology to record and play back music only dates back to 1878, when Edison patented the phonograph. We ve come so far since then with music synthesizers,
MIT App Inventor Getting Started Guide
MIT App Inventor Getting Started Guide What is App Inventor? App Inventor lets you develop applications for Android phones using a web browser and either a connected phone or an on-screen phone emulator.
Advanced Training Reliance Communications, Inc.
Reliance Communications, Inc. 603 Mission Street Santa Cruz, CA 95060 888-527-5225 www.schoolmessenger.com Contents Contents... 2 Before you Begin... 4 Advanced Lists... 4 List Builder... 4 Create a List...
PaintPot. Figure 2-1. The PaintPot app
Chapter 2 PaintPot This tutorial introduces the Canvas component for creating simple, two-dimensional (2D) graphics. You ll build PaintPot, an app that lets the user draw on the screen in different colors,
INTRODUCTION TO EMAIL: & BASICS
University of North Carolina at Chapel Hill Libraries Chapel Hill Public Library Carrboro Branch Library Carrboro Cybrary Durham Public Library INTRODUCTION TO EMAIL: & BASICS Getting Started Page 02 Prerequisites
Or working offline with the local server: Once you have the App Inventor running type into your browser http://localhost:8888
App Inventor Tutorial 10 Calculator This tutorial will help you develop a calculator using If statements and a ListPicker. You will be asked to enter 2 numbers, Number1 and Number2. When you have entered
Welcome to Cogeco Business Digital Phone Service
Welcome Welcome to Cogeco Business Digital Phone Service Congratulations on choosing Cogeco Business Digital Phone Service. 1 Your decision to subscribe to our digital quality phone service is a smart
Creating Animated Apps
Chapter 17 Creating Animated Apps This chapter discusses methods for creating apps with simple animations objects that move. You ll learn the basics of creating two-dimensional games with App Inventor
How to register and use our Chat System
How to register and use our Chat System Why this document? We have a very good chat system and easy to use when you are set up, but getting registered and into the system can be a bit complicated. If you
Email Basics. For more information on the Library and programs, visit www.bcpls.org BCPLS 08/10/2010 PEMA
Email Basics Email, short for Electronic Mail, consists of messages which are sent and received using the Internet. There are many different email services available that allow you to create an email account
GadgetTrak Mobile Security Android & BlackBerry Installation & Operation Manual
GadgetTrak Mobile Security Android & BlackBerry Installation & Operation Manual Overview GadgetTrak Mobile Security is an advanced software application designed to assist in the recovery of your mobile
SJRWMD Cloud-Based Email Quick-Start Guide
SJRWMD Cloud-Based Email Quick-Start Guide Your email account is now in the Microsoft cloud, also known as Office 365. This change from onpremise email provisioning to the cloud allows the agency to provide
Digital Phone @ Home Tutorial
Digital Phone @ Home Tutorial 2 Table of Contents Quick Start Guide... 4 Making Phone Calls... 5 Voicemail Setup... 6 Setup instructions:... 6 To Check Messages:... 6 Quick Key Reference:... 6 Customer
What You ll Build. CHAPTER 3 MoleMash
CHAPTER 3 MoleMash This chapter shows you how to create MoleMash, a game inspired by the arcade classic Whac-A-Mole, in which mechanical critters pop out of holes, and players score points when they successfully
TalkToMe: A beginner App Inventor app
TalkToMe: A beginner App Inventor app This step-by-step picture tutorial will guide you through making a talking app. To get started, sign up for a free Google Account: http://accounts.google.com/signup
Using 2Can. There are three basic steps involved in migrating all of your data from your BlackBerry to your Android phone:
Using 2Can There are three basic steps involved in migrating all of your data from your BlackBerry to your Android phone: 1. Backup your BlackBerry 2. Transfer the backup file to your new Android phone
RingCentral Office@Hand from AT&T Desktop App for Windows & Mac. User Guide
RingCentral Office@Hand from AT&T Desktop App for Windows & Mac User Guide RingCentral Office@Hand from AT&T User Guide Table of Contents 2 Table of Contents 3 Welcome 4 Download and install the app 5
I Have a Dream, a Two-Part Introductory Tutorial
I Have a Dream, a Two-Part Introductory Tutorial Most people have never even dreamed of building an app; software is this mysterious world of 0s and 1s and computer nerds. The goal of this lesson is to
Online Banking & Bill Pay. Quick Start G uide. Step-by-step, how-to instructions plus easy-to-read screen shots and help information
Online Banking & Bill Pay Quick Start G uide Step-by-step, how-to instructions plus easy-to-read screen shots and help information Welcome -- Online System Security Welcome to Online Banking and Bill Pay!
Introduction... 2. Configuration & Spam Detection... 2. WinWare Webmail... 3. Email Accounts... 3. Email Account Notes... 4. Definitions...
Page 1 Table of Contents Introduction... 2 Configuration & Spam Detection... 2 WinWare Webmail... 3 Email Accounts... 3 Email Account Notes... 4 Definitions... 5 Sender Policy Framework (SPF)... 5 Email
How to Create a Campaign in AdWords Editor
How to Create a Campaign in AdWords Editor Using AdWords Editor instead of the online interface for Google Adwords will speed up everything in your online business. AdWords Editor gives you the upper hand
Tutorial: Creating a form that emails the results to you.
Tutorial: Creating a form that emails the results to you. 1. Create a new page in your web site Using the Wizard Interface. a) Choose I want to add a form that emails the results to me in the wizard. b)
Web App Development Session 1 - Getting Started. Presented by Charles Armour and Ryan Knee for Coder Dojo Pensacola
Web App Development Session 1 - Getting Started Presented by Charles Armour and Ryan Knee for Coder Dojo Pensacola Tools We Use Application Framework - Compiles and Runs Web App Meteor (install from https://www.meteor.com/)
App Inventor Tutorial 11 QR Code Reader
App Inventor Tutorial 11 QR Code Reader This is an app which will demonstrate the use of the phone s built in camera as an input device for a QR Code scanner. Note this app will not work on the emulator
SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started.
EN SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started. QHADS453080414E Swann 2014 1 1 Introduction Congratulations on your purchase of this SwannEye HD Plug & Play
IT user guide. Campus WiFi eduroam. September 2015. www.kent.ac.uk/itservices Information Services
IT user guide Campus WiFi eduroam September 2015 www.kent.ac.uk/itservices Information Services Before you get online Hello eduroam! You can pick up the University WiFi service eduroam in all indoor spaces
Creating an Email with Constant Contact. A step-by-step guide
Creating an Email with Constant Contact A step-by-step guide About this Manual Once your Constant Contact account is established, use this manual as a guide to help you create your email campaign Here
To Install EdiView IP camera utility on Android device, follow the following instructions:
To Install EdiView IP camera utility on Android device, follow the following instructions: To install Ediview application, launch Market. (In your Android device s All apps menu). Click magnifier icon
Fruit Machine. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code
Introduction: This is a game that has three sprites that change costume. You have to stop them when they re showing the same picture (like a fruit machine!). Activity Checklist Follow these INSTRUCTIONS
App Inventor Drum Machine Instructions (Project #1) (Version 2 of App Inventor) Description:
App Inventor Drum Machine Instructions (Project #1) (Version 2 of App Inventor) Description: App Inventor is a web based tool that allows the user to create apps for Android devices. The user interface
How to get started with fleeping in Fleep?
How to get started with fleeping in Fleep? Fleep is a messaging app that works with email. First and foremost, it s meant for people to whom the speed and effectiveness of communication is as important
Getting started 7. Designing interfaces 27
Contents Contents 1 2 3 Getting started 7 Introducing Android 8 Installing Java 10 Installing App Inventor 12 Beginning your first app 14 Adding components 16 Adding behavior 18 Preparing devices 20 Running
A quick Guide to your Super Hub 2ac
A quick Guide to your Super Hub 2ac HELLO. W el c o m e t o t h i s h a n d y g u i d e t o y o u r n ew v i r g i n m e d i a b u s i n e s s b r o a d b a n d. What s inside Getting to know your Super
Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012
Setting Up Your Android Development Environment For Mac OS X (10.6.8) v1.0 By GoNorthWest 3 April 2012 Setting up the Android development environment can be a bit well challenging if you don t have all
Verizon Business National Unified Messaging Service Enhanced Service Guide
USER GUIDE Voice Verizon Business National Unified Messaging Service Enhanced Service Guide What Is Unified Messaging? Verizon Business National Unified Messaging Service is an interactive voicemail system
New Mexico Health Alert Network (HAN) NM HAN USER GUIDE NEW MEXICO DEPARTMENT OF HEALTH
New Mexico Health Alert Network (HAN) NM HAN USER GUIDE NEW MEXICO DEPARTMENT OF HEALTH April 2015 (This page intentionally left blank.) Purpose The New Mexico Department of Health s Health Alert Network
Girls Make Apps Workshop FAQ
Girls Make Apps Workshop FAQ The Technovation Girls Make Apps Workshop is a coding party where students, mentors and teachers come together to learn App Inventor 2 the programming language they will use
Google Apps Migration
Academic Technology Services Google Apps Migration Getting Started 1 Table of Contents How to Use This Guide... 4 How to Get Help... 4 Login to Google Apps:... 5 Import Data from Microsoft Outlook:...
WINDOWS LIVE MAIL FEATURES
WINDOWS LIVE MAIL Windows Live Mail brings a free, full-featured email program to Windows XP, Windows Vista and Windows 7 users. It combines in one package the best that both Outlook Express and Windows
Precise innovation presents: USer manual
Precise innovation presents: USer manual Let the FUn Begin! The goal of Caref is simple to give parents greater peace of mind and children a greater sense of freedom when they should be focusing as much
Online Registrations for Summer Programming Josh Muse ([email protected]) & Hannah Peacock ([email protected])
Online Registrations for Summer Programming Josh Muse ([email protected]) & Hannah Peacock ([email protected]) Summer Reading Registration In this tutorial, we will walk you through the process
What is Skype? Skype is a free program that uses the latest technology to bring affordable and high-quality voice communications to people.
What is Skype? Part 1 Skype lets you make free calls over the internet to anyone else who also has the service. It's free and easy to download and use, and it works with most computers. Skype is a free
A Parents Guide to. 2014 ConnectSafely.org
A Parents Guide to 2014 ConnectSafely.org Parenting in the age of social media can be tricky. Australians are amongst the highest users of social media in the world, averaging 22 hours per week per person.
How to Use New Relic Custom Dashboards & Why You d Want To
TUTORIAL How to Use New Relic Custom Dashboards & Why You d Want To by Alan Skorkin Contents Introduction 3 Why Use Custom Dashboards at All? 4 Creating an Overview Dashboard from Existing Charts 4 Creating
1.5 MONITOR FOR FMS 6 USER GUIDE
1.5 MONITOR FOR FMS 6 USER GUIDE 38 Introduction Monitor for FMS6 V1.2 is an upgrade to the previous version of Monitor. The new software is written for 32-bit operating systems only and can therefore
So you want to create an Email a Friend action
So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;
Quick Start Guide. Vonage VWR Device
Quick Start Guide Vonage VWR Device Before you begin 1. If you purchased your Vonage Device from a retail store, you must first activate your Vonage phone service. (You will need to provide the MAC ID
Opt into Blackboard Connect at NWTC
Visual Version Once you have the correct cell phone number appear in Blackboard Learn 9.1, then you can opt in to the Blackboard Connect notification system. NWTC now allows users to opt in to receive
truecall Ltd 2012 Call Recorder and Message Centre guide
truecall Ltd 2012 Call Recorder and Message Centre guide 2 Contents Overview 3 Plugging in the memory card 4 Using Call Recorder 5 Playing back recordings 6 Message Centre Installing truecall Message Centre
Set up your first free website
How to Set up your first free website There are many websites available across the web that allow you to create a whole website for free, without any knowledge of scripts or coding. Think that sounds too
Google Docs, Sheets, and Slides: Share and collaborate
Google Docs, Sheets, and Slides: Share and collaborate Once you've created your document, you can share it with others. Collaborators can then edit the same document at the same time you'll always have
Coyote SP - Installation Notes
Step 1 - Setup E-mail Support: Coyote SP - Installation Notes Coyote SP Installation Steps 1) Insert the Coyote SP installation CD. 2) Follow Setup Instructions. 2) If Setup won t appear, click Windows
Custom Calling Features
Anonymous Call Rejection Anonymous Call Rejection rejects calls from callers who block their Caller ID information, so the calls don t even ring through on your line. To Activate Call Rejection: Pick up
How to Use Windows Firewall With User Account Control (UAC)
Keeping Windows 8.1 safe and secure 14 IN THIS CHAPTER, YOU WILL LEARN HOW TO Work with the User Account Control. Use Windows Firewall. Use Windows Defender. Enhance the security of your passwords. Security
RIDICULOUSLY EASY GUIDE TO SOCIAL MEDIA TWITTER
RIDICULOUSLY EASY GUIDE TO SOCIAL MEDIA Alberta s a big place and while you could run round the province telling everyone you see about Change Day AB, it s probably not the best use of your time and could
WELCOME TO CORNERSTONE ONDEMAND LMS FUNCTIONALITY TRAINING
Slide 1 WELCOME TO CORNERSTONE ONDEMAND LMS FUNCTIONALITY TRAINING Curriculum Management / Mandatory Training Slide 2 Objectives: At the end of this session, you should be able to: Create a curriculum
Micro-Comm SCADAview CSX. SCADAdial CSX Setup Manual
Micro-Comm SCADAview CSX SCADAdial CSX Setup Manual Updated: December 16, 2015 Copyright 2011-2015 Micro-Comm, Inc. SCADAdial CSX is an optional add-on component that gives SCADAview CSX voice dialing
Using Excel As A Database
Using Excel As A Database Access is a great database application, but let s face it sometimes it s just a bit complicated! There are a lot of times when it would be nice to have some of the capabilities
First Time On-Campus Remote Desktop Connection ipad Edition
First Time On-Campus Remote Desktop Connection ipad Edition General: This guide is a step-by-step guide for configuring and using an ipad to remotely connect to a work computer from on campus. This guide
Life after Microsoft Outlook Google Apps
Welcome Welcome to Gmail! Now that you ve switched from Microsoft Outlook to, here are some tips on beginning to use Gmail. Google Apps What s Different? Here are some of the differences you ll notice
Call Answer/Message Manager with Aliant Voicemail Online
Call Answer/Message Manager with Aliant Voicemail Online Call Answer/Message Manager automatically takes a message when you re away, on the telephone or on Dial up Internet. You ll enjoy the convenience
AT&T MERLIN COMMUNICATIONS SYSTEM USER S GUIDE MODELS 206, 410 AND 820 WITH FEATURE PACKAGE 2
AT&T MERLIN COMMUNICATIONS SYSTEM USER S GUIDE MODELS 206, 410 AND 820 WITH FEATURE PACKAGE 2 Table of Contents Page Page Available Features Key to Symbols Placing and Answering Calls Line Buttons and
Mobile Programming (MIT App Inventor 2)
Mobile Programming (MIT App Inventor 2) http://www.plk83.edu.hk/cy/ai2 Contents 1. Understanding the working environment (Page 1) 2. First Android Program (HelloPurr) (Page 4) 3. Completing HelloPurr (Page
To access your mailbox by computer. For assistance, call:
User Guide 2002 Active Voice, LLC. All rights reserved. First edition 2002. Repartee and TeLANophy are trademarks of Active Voice LLC. To access your mailbox by computer 1. Launch Mailbox Manager. 2. When
U.S. Bank Secure Mail
U.S. Bank Secure Mail @ Table of Contents Getting Started 3 Logging into Secure Mail 5 Opening Your Messages 7 Replying to a Message 8 Composing a New Message 8 1750-All Introduction: The use of email
A Parents Guide to. 2015 ConnectSafely.org saferinternet.org.uk
A Parents Guide to 2015 ConnectSafely.org saferinternet.org.uk At the UK Safer Internet Centre, one of our key objectives is to develop new educational and awareness-raising resources for parents in the
