Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
69 Cards in this Set
- Front
- Back
what were 3 types of early mobile information platforms? |
- piece of stone/clay with markings on it - papyrus scroll and ink pen - 1800s: printed book |
|
what was "The Brick" and when did it come out? |
1983 Motorola DynaTAC 8000X - first commercially available cell phone 2.5lbs 30 mins battery power expensive, around 4000 dollars |
|
what was the first Personal Digital Assistant (PDA)? when did it come out? |
Apple Newton, 1987 set vision leading to today's mobile platform, not very commercially successful |
|
what vision did Apple Newton set? which concept persisted and which faded? |
- tablet concept with a stylus for handwriting - pen faded away - tablet persisted |
|
what were the Marco and Envoy? when was it created? |
Motorola wireless device, 1995 |
|
why were the early PDA devices not very successful? |
FORM FACTOR!! - they were large devices |
|
what OS did Palm Pilot use? |
- Palm OS acquired by US **continue |
|
what 2 concepts did the Nokia Communicator (1996) bring together? |
- PDAs - digital cellular telephony |
|
what 3 features did the Nokia Communicator have? when did it come to an end? |
- combined PDA features with networked applications (telnet, phone, fax) - clamshell design - qwerty keyboard came to an end in 2007 |
|
what were 4 initial innovations of early mobile computing devices? |
- low-power mobile processors - higher quality displays - low-powered meter accuracy GPS technology - embedded sensors (e.g. proximity and acceleration sensors, digital compass) |
|
what 3 native platforms do we have today? |
- apple iOS - google android - microsoft windows |
|
what is android? |
mobile operating system + app framework |
|
what 3 things does google do for android? |
– Develops and extends the Android OS – Distributes the Android OS and developer tools – Runs Google Play (Android app market) |
|
what are the 2 things that android architecture is composed of? |
operating system - based on linux - designed to run on mobile devices complete application framework - allows us to create and deploy our own custom apps |
|
what are the 4 application components? |
- activities - services - broadcast receivers - content providers |
|
what is the activities application component? |
screens made up of views multiple views arranged into layouts |
|
what does the services application component do? |
perform a background job usually dont have visual component e.g. if you continuously need to fetch current weather info from a web service |
|
what does the broadcast receivers application component do? |
react to system messages react to messages from other apps e.g. you're using hardware in your app, and in your app you want to be notified if battery goes low -> it can get system messages and you can adjust your code |
|
what does the content providers application component do? |
managed access to data apps exchange data with each other e.g. database and you want to share the database with other apps in android device |
|
what are two things you have with an activity? |
- behaviour (coded in Java) - layout (appearance) (coded in XML) |
|
what is the bottom of the android architecture? |
linux kernel -> relationship of software to hardware only need to know if you're manufacturing android |
|
what's second layer of android architecture? |
library -> power that android comes from - database android runtime |
|
what's second to top layer of android architecture? this is the one we'll be working with the most |
application framework -> all the managers e.g. activity managers, takes care of all the activities (takes care of life cycle) |
|
what's the top layer of android architecture? |
applications that we write, install, or are already on it e.g. home, contacts, phone, browser |
|
each app has ___ main activity where is it specified? |
one in the manifest |
|
what is the activity stack? what's it arranged by? what's most recent activity? |
stack of activities arranged by most recent activity - the one user is interacting with |
|
what happens if you press "back" or destroy the first activity on the activity stack? |
it goes to activity 2 |
|
what happens if the activities on the activity stack use too many resources? |
the oldest activity will be destroyed if the above activities use too many resources (battery, memory) |
|
what special methods help us know if our activity is visible or paused or stopped? |
lifecycle methods |
|
what is explicit intent? what is implicit intent? |
implicit - start activities that are external to the app explicit - start activities that are within the app |
|
what are activity lifecycle methods? how are they triggered? |
methods that are triggered by the system as a result of other things happen WE DONT CALL IT OURSELVES |
|
how can the activity lifecycle help us? 4 ways |
fine-tune behaviour of our activity - don't lose user's progress - don't lose user's data - don't use heavy processing/network operations when user is away from app - app shouldn't crash when another app is started |
|
in what type of storage do lifecycle methods save data temporarily? |
non-persistent storage |
|
what are some activity lifecycle methods? what happens when user launches app for first time? |
onCreate() onStart() onResume() e.g. when user launches an app for the FIRST time (it's new) and it calls the above methods in quick succession |
|
what happens when user moves from activity to another activity? what methods are called? |
current activity goes into the back stack onPause() onStop() called in quick succession |
|
when you work with hardware, what are the 2 rules? |
acquire late release early to SAVE resources e.g. if you're using sensor, we want to acquire it at onResume() and release it on onPause() |
|
what happens if the app is on the backstack and the system decide it has to kill the activity, what happens? |
onDestroy() |
|
what's 2 other situations when onDestroy() gets called |
- finish() the activity through code - on activity, presses back button, destroys current activity -> onPause, onStop, onDestroy |
|
what's one case in the activity lifecycle when onStop doesn't directly follow onPause? |
if the current activity isn't fully covered e.g. dialog when dialog closed and old activity shown, onResume() will be called right away |
|
what does logging use? 2 things |
memory and CPU resources |
|
what happens in the lifecycle if you rotate the device? |
full cycle -> pause, stop, destroy and start fresh create, start, resume |
|
what is an example of the activity state? |
if you have a text entry input, when your device orientation changes, you want to save the user's text input |
|
when is onSaveInstanceState() called? are they part of lifecycle? is it a callback method? |
called each time the activity is paused, so after onPause not part of life cycle but always called in lifecycle it's a callback method |
|
after what, is onRestoreInstanceState() called? |
after onStart |
|
what is an EXCEPTION to onSave and onRestore being called? |
back button destroys the activity, so you can't restore the information |
|
what is the bundle parameter of onSave and onRestore? |
the bundle where you're going to save your info it's a map: key -> value |
|
what is the context class? |
interface to global information about an application environment |
|
what are some example of resources? what can you find in the res folder? |
- Strings, colors, and dimensions – Drawable graphics files – Layout files – Raw files of all types |
|
what do you store in preferences? |
persistent storage, you can store values |
|
what's the diff between app resources and system resources? |
app resources - defined by developer within android project files and are specific to app system resources - common resources defined by android platform and accessible to all applications through android SDK (e.g. list view) |
|
what is R.java? what can you access in it? |
it's a classfile where you can access application resources programmatically |
|
what are 3 different examples of android hardware? |
smartwatches, TV programming, in-car systems |
|
what is android's operating system based on, and what is it specifically designed to run on? |
based on linux designed to run on mobile devices |
|
what does android's complete application framework allow us to do? |
create and deploy our own custom apps |
|
what is the linux kernel? what are drivers? |
it's linux itself and a set of drivers each driver interfaces with some aspect of the Android device e.g. audio, camera, display, keyboard, wi-fi |
|
what is the libraries + android runtime layer? |
libraries - set of core libraries - e.g. graphics, database runtime - a sort of virtual machine |
|
what is the application framework? what are some examples of modules? |
modules for controlling the different components of an app - activity manager - location manager - notification manager - content providers (manage data, move data between apps) |
|
what is one pro and two cons of using the android studio emulator? |
pro - test apps on various hardware and screen sizes cons - missing sensors - missing GPS, camera, recording |
|
in regards to lifecycle methods, what methods get called if the back button is pressed and the new activity loads? |
onRestart() onStart() onResume() IF app is already existent |
|
which 3 lifecycle methods have a bundle parameter? |
onCreate() onSaveInstanceState() onRestoreInstanceState() |
|
in onSaveInstanceState(), what is the line to save a variable? |
bundle.putInt("key", value); |
|
in onRestoreInstanceState(), what is the line to retrieve a variable? |
bundle.getInt("key"); |
|
what 4 things can the application context do? |
- Work with app permissions - Access app preferences - Retrieve app resources: strings, graphics, XML files - Manage private app files and directories |
|
what methods to call when accessing... context preferences resources |
getApplicationContext() getSharedPreferences() getResources() |
|
what two things can you save in preferences? |
- configuration settings - persistent application state information |
|
what is a resource identifier? what does it do? |
unique number associated with the resource, generated with the R.java class retrieves a resource |
|
what class is the fundamental building block of android apps, and the central location for all top-level app functionality? |
context class |
|
what is the android device monitor? |
tool that shows all application debugging and analysis tools |
|
why do we need to know about the activity lifecycle? |
fine tunes behaviour of our activity/app |