Mobile Application Development Chapter 3 [Using Eclipse Android Studio for Android Development] IT448-Fall 2017 IT448- Fall2017.

Slides:



Advertisements
Similar presentations
Android User Interface
Advertisements

All About Android Introduction to Android 1. Creating a New App “These aren’t the droids we’re looking for.” Obi-wan Kenobi 1. Bring up Eclipse. 2. Click.
Hello world Follow steps under the sections “Create an AVD” and “Create a New Android Project” at
Filip Debelić What is it? Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google Android,
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Android Development (Basics)
Creating Android user interfaces using layouts 1Android user interfaces using layouts.
Chien-Chung Shen Manifest and Activity Chien-Chung Shen
Better reference the original webpage :
Mobile Programming Lecture 1 Getting Started. Today's Agenda About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities,
Introduction to Android Programming Content Basic environmental structure Building a simple app Debugging.
Introducing the Sudoku Example
Chapter 3 Navigating a Project Goals & Objectives 1.Get familiar with the navigation of the project. How is everything structured? What settings can you.
Android: versions Note that: Honeycomb (Android v3.0) A tablet-only release Jelly Bean (Android v4.1) Released on July 09, 2012.
 Understanding an activity  Starting an activity  Passing information between activities  Understanding intents  Understanding the activity lifecycle.
CS5103 Software Engineering Lecture 08 Android Development II.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
Favorite Twitter® Searches App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
Hello world Follow steps under the sections “Create an AVD” and “Create a New Android Project” at
Chapter 2: Simplify! The Android User Interface
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Chapter 5 Creating User Interfaces GOALS and OBJECTIVES Begin our application by creating our user interface. More than one way to create a user interface.
Android Layouts. Layouts Define the user interface for an activity Layouts are defined in.xml files – within /res/layout folder – different layout can.
Understanding Hello Android 1 CS300. Activity  Similar to a form  Base class for the visual, interactive components of your application  Android API.
Basic Android Tutorial USF’s Association for Computing Machinery.
DUE Hello World on the Android Platform.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Using Android XML Resources.
Android for Java Developers Denver Java Users Group Jan 11, Mike
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
Chapter 2 The Android User Interface. Objectives  In this chapter, you learn to:  Develop a user interface using the TextView, ImageView, and Button.
INTRODUCTION TO ANDROID. Slide 2 Application Components An Android application is made of up one or more of the following components Activities We will.
Android Boot Camp for Developers Using Java, 3E
Application Development for mobile Devices
Configuring Android Development Environment Nilesh Singh.
Android Boot Camp for Developers Using Java, Comprehensive: A Guide to Creating Your First Android Apps Chapter 2: Simplify! The Android User Interface.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Introduction to Android (Part.
Android Hello World 1. Click on Start and type eclipse into the textbox 2.
Creating an Example Android App in Android Studio Activity lifecycle & UI Resources.
First Venture into the Android World Chapter 1 Part 2.
Copyright© Jeffrey Jongko, Ateneo de Manila University Deconstructing HelloWorld.
ANDROID APPLICATION DEVELOPMENT. ANDROID DEVELOPMENT DEVELOPER.ANDROID.COM/INDEX.HTML THE OFFICIAL SITE FOR ANDROID DEVELOPERS. PROVIDES THE ANDROID SDK.
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
ANDROID LAYOUTS AND WIDGETS. Slide 2 Introduction Parts of the Android screen Sizing widgets and fonts Layouts and their characteristics Buttons, checkboxes.
INTRODUCTION TO ANDROID. Slide 2 Introduction I take a top-down approach to describing an application’s anatomy.
CHAPTER 1 Part 2 Android Programming. Chapter objectives: Understand how to create a simple Android project Understand how to create a manifest file Understand.
CHAPTER 1 part 1 Introduction. Chapter objectives: Understand Android Learn the differences between Java and Android Java Examine the Android project.
Introduction to Android Programming
Introduction to Android Chapter 1 1. Objectives Understand what Android is Learn the differences between Java and Android Java Examine the Android project.
Chapter 2: Simplify! The Android User Interface
Lab7 – Appendix.
Introduction to android
Mobile Applications (Android Programming)
Open Handset Alliance.
Android Application Development 1 6 May 2018
Android Studio, Android System Basics and Git
MAD.
Activities and Intents
Creation of an Android App By Keith Lynn
Mobile Application Development Chapter 4 [Android Navigation and Interface Design] IT448-Fall 2017 IT448- Fall2017.
Sensors, maps and fragments:
Anatomy of an Android Application
Android SDK & App Development
Android Layout Basics Topics
CS323 Android Getting Started
CS5103 Software Engineering
Android Developer Fundamentals V2 Lesson 1
Android Application Development
Mobile Programming Dr. Mohsin Ali Memon.
Mobile Programmming Dr. Mohsin Ali Memon.
Presentation transcript:

Mobile Application Development Chapter 3 [Using Eclipse Android Studio for Android Development] IT448-Fall 2017 IT448- Fall2017

Contents Android Android Studio Starting a new project Components of the IDE Configuring the Emulator Coding The Interface Coding App Behavior

Android Android is a powerful mobile operating system by Google and designed for smartphones and tablets. It enables access to diverse hardware resources on a smartphone or tablet. It is continually updated, improved, and extended.

Android Studio Android Studio is the official IDE for Android It provides the fastest tools for building apps on every type of Android device. It provides code editing, debugging and performance tools as well as a flexible build system and an instant build/deploy system Instant Run IT448- Fall2017

Android Studio Instant Run Intelligent code editor see the effects of your code changes immediately without restarting the app or rebuilding the APK. Intelligent code editor advanced code completion, refactoring, and code analysis Robust and flexible build system offers build automation, dependency management, and customizable build configurations Designed for Teams Integrates with version control tools, such as GitHub and Subversion, so you can keep your team in sync with project and build changes Optimized for all Android devices provides a unified environment where you can build apps for Android phones, tablets, Android Wear, Android TV, and Android Auto

Starting a new Project

Starting a new Project

Starting a new Project

Starting a new Project

Starting a new Project

Components of the IDE Package Explorer Properties of selected control Java code XML code Properties of selected control Design mode of the HelloWorld Activity Package Explorer

Components of the IDE Package Explorer Manifest Folder configures the app and informs when the device is installed. Java Folder Contains all the Java code files for the app. Each file typically represents one class (activity). This is where the code to create the activity’s functionality is written. Res Folder drawable folder: holds all app images. Android uses Portable Network Graphics (PNG) files for its images layout folder holds all the layouts for the user interface of your app. Each activity has a layout file. A layout file is an XML file that contains the XML used to create the objects and controls that the user can interact with. mipmap folder holds the app/launcher only. Any other images are placed in the drawable folder values folder contains three xml files that hold configuration data for an Android app. Android uses this information to limit the hard-coding of potentially changeable data. dimens.xml—Values for the display size of items in a layout. color.xml—Values for the displayed color of item in a layout. strings.xml—Values for text. array.xml—Defines string arrays and the values in those arrays. ids.xml—IDs that cannot be reused by items in layouts.

Components of the IDE Package Explorer >> Manifest Folder Every application must have an AndroidManifest.xml file in its root directory. The manifest is used to configure the whole app and tell the device it is installed on, what it can and should be able to do.

Components of the IDE Package Explorer >> Manifest Folder Among others, the manifest file has the following elements: The <manifest> component is the root element. The attributes associated with this element define the application package, version code, and version name & others. The Version Code, which is an integer value, is used to indicate that there is a new version of the app available. Increasing value enables the Play Store to notify users of the app that a new version is available. It also controls the install of the upgrade so that no user data is lost during an upgrade. The Version Name is the displayed version of your app. The java package of the application. It serves as a unique identifier for the app. The <uses-sdk> element and its attributes define the minimum and target SDKs for the app. The <application> element has both attributes and child elements that configure how the app works. Application attributes in this manifest define the app icon, theme, and label(name). Each activity in an app must have an entry in the <application> element. In our app there is only one activity stated in the manifest

Components of the IDE Package Explorer >> Manifest Folder The <activity> element tells the operating system that an activity has permission to run in your application. All activities used in an app must be defined in the manifest. The Java source file for the activity and the activity’s title are identified. The <intent-filter> element , a child element of the <activity> element, defines what the Android OS should do with this activity. Not all activities will have an intent filter. Specifically, activities that you want users to launch when they are using the app do not need intent-filters. However, for this app you want this activity to be displayed when the user runs it. Therefore, the <action> tag identifies the activity as the main or first activity to run. The <category> tag tells the OS to use the app launcher to start this activity.

Configuring the Emulator (AVD) To run your application create a new Android Virtual Device (AVD) by selecting Tools >> Android>>AVD Manager

Configuring the Emulator (AVD)

Coding the Interface The interface for any Android app is created through the use of a layout file. A layout file is an XML file that contains the XML used to create the objects and controls that the user can interact with. The default layout is the RelativeLayout, which designs the UI components as relative to one another rather than designing them as a fixed position.

Coding the Interface

Coding the Interface The value "match_parent" indicates that the layout should be the height and width of the device screen. If a child element of RelativeLayout has this value for either layout_height or layout_width, it will fill up as much of the RelativeLayout as it can. The padding attributes tell Android that there should be blank space between the edge of the screen and the edge of the layout. The amount of space is dictated by referring to a value stored in the dimens.xml file in the values folder. Open the dimens.xml file to see all values. android:paddingBottom = "@dimen/activity_vertical_margin" . Valid dimensions for Android: px (pixels), in (inches), mm (millimeters), pt (points), dp / dip (density-independent pixels), and sp (scale-independent pixels). It is generally recommended to use dp for most dimensions and sp for specifying font sizes.

Coding the Interface The only child element of the RelativeLayout, and thus the only item on the screen, is a TextView. TextView is Android’s version of a label (displayed text). The two size attributes have the value "wrap_content" . This tells Android to size the TextView to the size of the text displayed in it. The android:text attribute tells Android what text to display. In this case it gets the text from the strings.xml file in the values folder. Open the dimens.xml file to see all values.

Coding the Interface Adding a Widget : TextView A TextView can be added by dragging it from the Palette panel on the left side of the editor. Notice the blue arrows pointing to the left side of the layout and to the Hello World! TextView. Since RelativeLayout is used in this activity, these arrows show what object the widget is relative to for positioning purposes.

Coding the Interface

Coding the Interface

Coding the Interface The Hello World! TextView now has an attribute android:id="@+id/textView2" . The new TextView also has a +id . However, it is different from the first one. The +id tells Android to create the ID for the widget. +ids may be reused in different layouts but cannot be reused within the same layout TextView2 is not a very useful ID. It does not describe what the TextView is used for, so it needs to be changed the ID to textViewDisplay . The layout attributes are the XML used to do the relative positioning. alignLeft tells Android to align this widget’s left edge with the referenced widget’s left edge. alignBelow tells Android to position the widget below the referenced widget.

Coding the Interface The margin attributes layout_marginLeft and layout_marginTop tell Android how much space to put between the widget and the referenced widget. The android:text attribute indicates what text should be displayed. textAppearance attribute references the Android attr.xml file and is used in place of the textSize attribute. The attr.xml file is a file supplied by the Android SDK

Coding the Interface Add EditText and Button

Coding App Behavior

Coding App Behavior The keyword “package” identifies that this class belongs to the package com.example.helloworld. All source Java files in the same app will have this entry as the first code in the file. The import lines of code are used to get the source code needed for your activity. The Activity class provides the functionality required for any class that uses or interacts with other Activities used in this class. The Menu class provides the functionality for the menu that is displayed when the user presses the device’s Menu button. A Bundle is an object for passing data between activities. In this way we can have an application that can perform some activity based on what another activity has done or the data it has used. The Bundle also passes data back to the activity itself. When the user rotates the device, the displayed activity is destroyed and re-created in the new orientation. So that the user doesn’t have to start over if this happens, the activity stores its current state just before it is destroyed in a bundle and passes that data to itself when it re-creates the activity in the new orientation.

Coding App Behavior The public class line of code begins the Activity class and declares that this class is referred to as HelloWorldActivity and that it is a subclass of the SDK-provided. The onCreate (..) method is the first method executed by the Activity when it is started. It takes ssavedInstanceState of type Bundle as a parameter.This is the object that contains information on the state of the Activity The super.onCreate calls the super class’s onCreate method. Because this method is overriding the Activity class’s inherited onCreate method, it must call that method explicitly to use that functionality to create the Activity. It is passed the savedInstanceState bundle. The setContentView(R.layout. activity_hello_world ) tells the activity to use the activity_hello_world.xml file as the layout to be displayed when the activity is running.

Coding App Behavior The onCreateOptionsMenu(Menu menu) method is called when the user clicks the device’s Menu button. It returns a Boolean (true or false) value indicating whether the menu was successfully created. The first line of code ( getMenuInflator() ) gets an object that can create a menu from the running activity. It then tells it to inflate (create) a visual representation of the menu based on the main.xml file in the menu resource folder and refer to it with the name “menu”.

Adding Code

Coding App Behavior The initDisplayButton () method is declared in the HelloWorldActivity class to code the functionality of the ‘Display’ button. The method is declared as private, hence useable by this class only. It does not return any value ( void ). The method name (signature) is up to the developer. The method findViewById is used to get a reference to a widget on a layout so it can be used by the code. The method can return any View object. So it must be casted to (Button) before it can be used. To set the button’s onClickListener , the code creates a new instance of the listener and then adds a method ( public void onClick(View arg0) ) to be executed when the button is clicked.

Coding App Behavior This is the code for handling the click event of the Display button. Once the button is clicked it gets references to the EditText (where the name was entered) and the TextView (where the message will be displayed). The name entered by the user is retrieved from the EditText and stored in a String variable named nameToDisplay . The text attribute of the TextView is then changed to the value of the String variable.

Coding App Behavior Finally, to call the initDisplayButton method and get the behavior associated with the button to execute, you have to call the method in the onCreate method after the setContentView line.

Extra Resources Build your first app in Android: https://developer.android.com/training/basics/firstapp/index.html

Thank You ! IT448-Autumn2017