Android App Final
Name 5 examples of widgets:
- Button - EditText - TextView - Spinner - Checkbox - Radio Button
Name three things that the manifest does?
- It names the Java package for the app - It describes the components of the app - the activities, services, broadcast receivers, and content providers - Identify any user permissions, such as Internet access or read-access to the user's contacts, etc... - Declare hardware/ software features used or required by the app, such as a camera, Bluetooth services,
Identify and describe at least three differences between mobile applications and typical desktop applications.*
- Mobile must be resource efficient (memory, storage, power) - Mobile applications must perform faster - Portable & use wireless (slow data transfer) - Mobile only supports viewing one screen at a time - Mobile apps have smaller screens, varying in size
Identify and describe at least three user's needs and expectations of mobile applications. *
- Speed (<60 secs) - Reliability (data whenever required) - User Friendly - Only relevant info
What are the 7 types of layouts?
1. Linear Layout 2. Relative Layout 3. Table Layout 4. Grid Layout 5. Web View 6. Frame Layout 7. Tab Layout
What can cause your activity state to be lost?
1. When you rotate the devices' orientation from portrait to landscape 2. When you launch another application and then come back 3. When you go from one Activity to another and back, within same app
Popular mobile device OS: ____% of U.S. smartphone market
52
Google claims _____________ Android device activations
900,000
"The whole code of the app will be pre-compiled during install (once), thus removing the lag that we see when we open an app on our device" describes
ART
________ replaces _________, which is the process virtual machine originally used by Android, and performs transformation of the application's bytecode into native instructions that are later executed by the device's runtime environment.
ART, Dalvik
What are the 4 activity states?
Active, Paused, Stopped, Inactive
_________ can Be faceless Be in a floating window Return a value
Activities
An activity is implemented as a subclass of __________ class.
Activity
To create an activity, you must create a subclass of ____________
Activity
What is the fundamental unit of the GUI?
Activity
a single screen of UI that appears in your app is
Activity
actions that occurs when a user interacts with widgets
Event
________ _______ are needed when an Android application may be launched to process an element of data or respond to an event, such as the receipt of a text message.
Broadcast Receivers
What is used to manage access to persisted data, such as a SQLite database?
Content providers
________ _________ play the role of database servers.
Content providers
How do you make sure that when orientation is changed, layout remains unchanged
Create Landscape Layout
Radio button needs a listener so that the app knows when it is interacted with. This is done through the ____________________________ interface
"OnCheckedChangeListener"
To set which of the Radio buttons is selected when you first open at the app use .
"android:checked="true"
True or False: Activities cannot start each other
False
True or False: You can't have a different layouts for each ViewGroup
False.
True or False: In a linear layout, the default orientation is vertical.
False. It's horizontal
True or False: Content providers are required in every application
False: No need for content provider in simple applications.
Which layout is designed to block out an area on the screen to display a single item?
FrameLayout
Which layout places its children in a rectangular grid
GridView Layout
When are content providers necessary?
In large applications that make data available to multiple activities or applications
Where do you add the method for an onClick event?
In the activity class
Android Studio is an IDE based on _________ that uses _________ build system.
IntelliJ IDEA, gradle
"each time you run an app, the part of the code required for its execution is going to be translated (compiled) to machine code at that moment" describes
JIT
Dalvik is based on________ compilation
JIT (just in time)
According to the android stats, what is currently the most used version of Android?
KitKat
invisible container that manages positions/sizes of widgets is the
Layout
Which layout arranges its children in a single column or a single row.
Linear
What is the newest version of Android?
Marshmallow
A grid with N columns has _______ grid indices
N + 1
- stays for now, but lost on shutdown / reboot describes
Non-persistence
Which method is called automatically when activity being destroyed: this method should save any non-persistence state of app;
OnSaveInstanceState()
Android operating system was developed by
Open Handset Alliance led by Google
In android _________ is used to provide access to resources defined in XML files. To access the resource we need to invoke ___________ method passing in the id of the resource to be fetched
R.java, findViewById()
ART, on the other hand, compiles the intermediate language, Dalvik bytecode, into a _________ ________ _________
System dependent binary
_________ layouts can be used for displaying tabular data or neatly aligning screen contents in a way similar to a table.
Table
True or False: Each log method can accept an additional exception argument
True
True or False: WebView does not include any features of a fully developed web browser, such as navigation controls or an address bar.
True
The ________ class serves as the base for all "widgets "
View
items that appear on screen in an Activity is
View
A ________ ________ is a data structure whose properties store the layout parameters and content for a specific rectangular area of the screen
View Object
In an Android app, GUI is built using _______ and _________ objects
View, ViewGroup
All layouts extend from ___________ class
ViewGroup
The ________ class serves as the base for subclasses called "layouts," which offer different kinds of layout architecture, like linear, tabular and relative.
ViewGroup
What two things do you need to change to make your EditText multiline?
android: singleLine="false" android: line="4"
What is the main build config file ?
build.gradle
In GridView, The grid is composed of a set of infinitely thin lines that separate the viewing area into _______. Throughout the API, grid lines are referenced by grid ______
cells, indices
A spinner is a ________ _______
dropdown list
describe the principle of least privilege
each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.
What property specifies the alignment of all the child elements?
gravity
The current state of an activity is referred to as its _______ ________
instance state
What term defines a passive data structure holding an abstract description of an action to be performed?
intent
An intent's most significant use is in the________ of activities, where it can be thought of as the _____ between activities.
launching, glue
A _________ defines the visual structure for a user interface, such as the UI for an activity or app widget
layout
By default, every application runs in its own ______ ______. Android starts the process when any of the application's components need to be executed, then shuts down the ________ when it's no longer needed or when the system must recover memory for other applications.
linux process. process
System assigns each application a unique _____ _____ _____
linux user id
What are the 6 log methods for Android?
log.i (info) log.d (debug) log.e (error) log.v (verbose) log.w (warning) log.wtf (exception)
The ______ ______ presents essential information about your app to the Android system, information the system must have before it can run any of the app's code.
manifest file
Android is a _______ _________ system, in which each ________
multi-process, process
Which method is called when an activity first starts or resumes?
onCreate()
. Both _______________ and _____________ methods receive the same Bundle that contains the instance state information.
onCreate(), onRestoreInstanceState()
What method is called when the activity is done?
onDestroy()
What method is called when the activity is in the background?
onPause()
What method is called on start, restart, or after pause
onResume()
Most security between applications and the system is enforced at the _________ level
process
When the device is in landscape orientation, Android will find and use resources in the _________________directory
res/layout-land
Android applications run in a __________ an isolated area of the operating system that does not have access to the rest of the system's resources, unless access permissions are granted by the user when the application is installed.
sandbox
a __________ should be used for any application that needs to persist for a long time
service
In a linear layout, What method do you use to set the direction of a row?
setOrientation()
Activities are maintained in a _________
stack
where are strings stored?
strings.xml
Each process has its own _______ ________, so an application's code runs in isolation from other applications.
virtual machine
What value needs to be adjusted to expand the widgets to fit the size of the parent layout?
weight
What are the 4 application building blocks?
1. Activity 2. Service 3. Content Provider 4. Intent Receiver
What are some advantages to declaring your layout in XML?
- better separate the presentation of your application from the code that controls its behavior. - modify or adapt UI descriptions without having to modify your source code -XML makes it easier to visualize the structure of your UI
All the code in a single ______ file is considered to be one application and is the file that Android-powered devices use to install the application.
.apk
What is the file extension for an Android package?
.apk
Which grid index is fixed to the leading edge of the container?
0
How many activities per tab in a Tab layout?
1
How many child views should FrameLayout hold?
1
what are the two ways you can declare a layout?
1) Declare UI elements in XML 2) Instantiate layout elements are runtime
What are the three event processing approaches?
1) Uses event-handling method specified in the layout file 2) Using anonymous inner class; 3) Using named inner class;
an ___________ typically corresponds to a single screen with a UI.
An acitivity
______ is an source Linux-based operating system intended for mobile computing platforms
Android
What subclass of Activity is the base class for activities that use the support library action bar features?
AppCompatActivity
What is faster, declaring UI in XML or at runtime?
At run-time
Which layout where the positions of the children can be described in relation to each other or to the parent?
Relative
How does the application know the initial activity to call?
Stored in the the app manifest AndroidManifest.xml
___________ layout is used to display the web page inside your Activity.
WebView
GUI control such a button or text field is a
Widget