Android Features MIT App Inventor

30 Android Runtime consists of the Dalvik virtual machine and the Java core libraries. The Dalvik virtual machine is an interpreter for byte code that has been transformed from Java byte code to Dalvik byte code. Dalvik itself is compiled to native code whereas the core libraries are written in Java, thus interpreted by Dalvik. Frameworks in the Application Framework layer are written in Java and provide abstractions of the underlying native libraries and Dalvik capabilities to applications. Android applications run in their own sandboxed Dalvik VM and can consist of multiple components: Activities, services, broadcast receivers and content providers. Components can interact with other components of the same or a different application via intents.

b. Android Features

There are many features provided in the android operating system. All of the features can support the information and technology. Lee 2012 states that Android is open source and freely available to manufacturers for customization, there are no fixed hardware or software configurations. Android supports some important features such as storage, connectivity, messaging, web browser, media support, hardware support, multi-touch, multi-tasking, flash support and tethering. Storage uses Uses SQLite, a lightweight relational database, for data storage. Connectivity supports GSMEDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth includes A2DP and AVRCP, Wi-Fi, LTE, and WiMAX. Messaging supports both SMS and MMS. Web browser is based on the open source WebKit, together with Chrome‟s V8 JavaScript engine. Media support includes support for the following media: H.263, H.264 in 3GP or MP4 container, MPEG-4 SP, AMR, 31 AMR-WB in 3GP container, AAC, HE-AAC in MP4 or 3GP container, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. Hardware support is accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, and GPS. Multi-touch supports multi-touch screens. Multi-tasking supports multi-tasking applications. Flash support such Android 2.3 supports Flash 10.1. In addition, tethering supports sharing of Internet connections as a wiredwireless hotspot.

c. MIT App Inventor

App Inventor is widely used by Android developer to create Android application because it is a simple mobile applications builder . “App Inventor is a visual, drag-and- drop tool for building mobile apps on the Android platform” Wolber et all, 2011. In the App Inventor, the visual appearance of Android application is designed by using a web-based graphical interface builder. The application ‟s behavior is set by using the puzzle bocks which contain programming tools provided by the App Inventor. There are many activities provided by App Inventor. First, People can play using the App Inventor because App Inventor promotes exploration and discovery. Users can simply open App Inventor, connect the phone and start putting together blocks. By doing this, users can immediately see and interact with the app that is built on the phone. Second, users can build a quick prototype; incomplete and unrefined working models of idea. “Expressing an idea in text is like writing to a friend or loved one with prose; think of an App Inventor prototype as poetry to a venture capitalist. In this way, App Inventor can serve as an electronic napkin for mobile app development ” PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 Wolber et all, 2011. Third, users can build apps with personal utility. App Inventor can be used to build an app exactly how users want it. Fourth, users can develop complete applications. Since App Inventor is not just a prototyping system or an interface designer, users can build complete, general-purpose applications. It is simple for the users to build complete applications because App Inventor the fundamental programming language provided in App Inventor in block form. At last, users can teach and learn using App Inventor. App Inventor is a great teaching and learning tool for students for any kinds of subjects such as computer science, math, physics, and entrepreneurship. The learning experience provided in App Inventor is creating and building applications or multimedia quizzes. There are many different types of applications that users can build by using App Inventor. First, users can build games. Users can start building simple games and learn to build the more complex ones. Second, users can build educational software. App Inventor can be used to build quiz applications that can help students to study. Third, users can build location-aware applications. Since App Inventor provides access to a GPS-location sensor; users can build applications to know where the users‟ the location is. App Inventor can also be used to help users remember where they parked their car, an app that shows the location of friends or colleagues at a concert or conference, or user‟s own custom tour app of user‟s school, workplace, or a museum. Fourth, App Inventor can be used to build high-tech apps such as applications that scan bar codes, talk, listen recognize words, play music, make music, play video, detect the phone‟s PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33 orientation and acceleration, take pictures, and make phones calls. Fifth, users can build SMS applications. Sixth, users can build applications that control robots such as using the phone as a remote control, or programming it to be a “brain” of a robot . The robot and phone communicate via Bluetooth, and App Inventor‟s Bluetooth components let you create similar apps that control other Bluetooth devices. Seventh, App Inventor enables users to build complex applications App Inventor dramatically lowers the entrance barrier to programming and lets you build flashy, high-tech apps within hours. But the language also provides loops, conditionals, and other programming and logic constructs necessary to build apps with complex logic. At last, App Inventor provides users with Web-enabled apps; a way for the user‟s applications to communicate with the Web. Another definition of App Inventor is proposed by The university of Queensland Australia. It defines that MIT App Inventor is an application that is built in Java and run in a web browser which lets users to create Android mobile applications without writing a single line of code or hacking a single esoteric configuration file. After designing the application and adding behavior to the application, it can be tested in the Android Emulator. However, when it is going to be tested on a mobile phone, users must create an .APK application file that can be simply drag ged to the Android phone‟s app directory. There are three main components in App Inventor. First, the designer; it is the place where users create the user interface of the application, by dragging and dropping components like buttons, labels, media, or even sensors like accelerometers or GPS units onto the interface. The De signer has simple tools for configuring the components‟ contents PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34 and their basic look and feel, as well as layout tools for arranging them horizontally or vertically in the interface. Figure 2.2 The Designer Interface Second, the Blocks Editor; it is a simplified way of visualizing program behavior. Traditionally, the program behavior is represented by code. By using the Blocks Editor, users only need to drag out and clip together puzzle- piece shaped „blocks‟ of behavior. There are blocks representing common Android-app behavior and many of the basic computer-science logical elements. Each block has hints for what sort of blocks may be attached to it to build behavior sequences. 35 Figure 2.3 The Blocks Editor Third, The Android Device Emulator; it is a virtual version of an Android smartphone including touch-screen, hardware keys, and typical functions. The Android Device Emulator is a way to build to build and test the application built. It can also be used to make a change the design or blocks, switch to the emulator and test the results immediately. Figure 2.4 The Emulator 36

d. The Advantages of Applying Android in Education