Mobile Software Engineering I - Unit 3 Flashcards
(24 cards)
Before installing Android Studio, what points need to be considered?
- hardware requirements
- operating system requirements
What hardware requirements exist for Android Studio?
- > = 4GB RAM
- > = 2 GB storage
- 1280x800 minimum
- CPU not older than 2 years
What tool can be used to speed up the experience of Android emulation on Windows? How does it acheive that?
The Hardware Accelerated Execution Manager (HAXM) uses Intel virtualization technology.
What tool can be used to speed up the experience of Android emulation on Linux?
Kernal-Based Virtual Machine (KVM)
What are the main configuration options that need to be specified during the creation of an android project in Android Studio?
- application and package name
- language
- minimum SDK
What is every display in an android application made up of? What languages are these written in?
A source file in Java/Kotlin and a layout file in XML.
What main components exist in the design mode of android layout XML files?
- palette: components that can be dragged and dropped into the design surface
- design/blueprint surfaces: preview of the view/blueprint information of the layout
- attributes: used to change properties of graphical components
What main groups of files comprise an Android project?
- manifests
- Java files
- resource files
- Gradle scripts
What folder are resources in an Android project stored in? What subfolders exist, and what are their purposes?
-
res
—drawable
: images, diagrams, svgs, etc.
—layout
: XML layout files
—MipMap
: icon files
—values
: strings, integers, styles, etc.
—XML
: XML files that can be accessed at runtime
What are the main files in the Gradle scripts folder in an Android project? Which of these contains the parameter versionCode
?
-
build.gradle
containsversionCode
gradle.properties
setting.gradle
local.properties
What is the purpose of the following attributes on a TextView
in Android:
android:text
android:textAlignment
android:textSize
android:textStyle
-
android:text
: the text -
android:textAlignment
: the alignment -
android:textSize
: the font size -
android:textStyle
: the font style (bold, italics, etc.)
What are the most common errors a developer will face in regard to debugging?
- syntax
- runtime
- logical
What testing folders are created when a new Android project is initiated?
- one for unit testing
- one for instrumental testing
What testing framework is integrated in Android Studio?
JUnit
In JUnit, how is a method denoted to be a unit test?
With the @Test
decorator.
What method can be used in JUnit to assert that two double
values are equal (or within a threshold)?
assertEquals(expected, actual, delta)
What framework can be used in Android Studio to conduct instrumented testing?
Espresso
How does unit testing and intstrumented testing differ?
Unit testing tests individual methods whereas instrumented testing extends unit tests to better test interaction with the Android API.
What is a ViewMatcher
in regard to the Espresso testing framework?
A visual representation of the application which can be asserted against.
What other Matcher
classes exist besides ViewMatcher
in the Espresso testing framework?
LayoutMatcher
CursorMatcher
PreferenceMatcher
What must be considered before releasing an app?
- icon
- package name
- security measures
- application permissions
- generate APK
- create a key store path
- provide integrity checks
- remove sensitive information
How is debugging disabled in Android apps?
android:debuggable="false"
How is the source code obfuscated in Android apps?
minifyEnabled
Which library can be used to encrypt local data storage in Android?
SQLCipher