MC 4,5 Flashcards
User Interaction and controls
Active and passive controls. Writing callback methods for active controls
SQLite
provides relational data to list views and other controls. Providing data to controls
Fragment
represents a behavior or portion of UI in an activity
Android
Open source, based on linux kernel. Allows devs to modify and customize OS. Large app ecosystem. Can publish apps to platform. Heavily integrated with google services ex. maps. Customizable UI.
Each Process has its own
unique ID that interacts between apps. Apps are called through a single entry point. Entities are called one after the other.
Android Studio Features
- Version Control
- Debugging Tools
- Code Completion
- Logcat
AVD
Android Virtual Device, basically an emulator to test apps real-time
Real Device Testing
Enable dev options on device to test app directly
Gradle
Powerful build system used in Android Studio. Serves as the foundation for managing the build process of android apps. Automates several aspects of building apps. Offers flexible and configurable approach to accommodate needs of app development projects.
Gradle Properties
- Open Source build automation system
- Automate testing, building, publishing etc.
- Powered by guild programming language. Concise yet expressiveS
Specific Reasons to choose Gradle
- Domain Specific Language (DSL) to describe and manipulate build logic
- Build files are groovy based and allow mixing of declarative elements through DSL
- Built in dependency management through maven/ivy
- Flexible. Allows best practices but doesn’t force you
- Plugins can expose their own DSL and API for build files to use
- Good tooling API allowing IDE integration
Building process of android app
- Compilers convert code to dex files which include bytecode that runs on android devices and everything else into compiled resources
- The APK packager combines DEX and compiled resources into a single APK
- APK packager signs your APK using debug or release keystore
- Uses zipalign tool to optimize app to take less memory before generating final APK
App Bar
Dedicated space to give your app identity. Access important actions such as search support for switching tabs
UI success criteria
- Easy and fast access to main functionality
- Clear and non intimidating landing page
- User gets clear understanding what app does
- Option to include current info about application or app domain
- Data loading is intrusive
- No non-necessary data is loaded
Dashboard (Description)
Landing page of an application containing large and clear symbols of main functionality and optionally an area for relevant new info.
Dashboard (Problem)
Very clear and easily accessible navigation to main functionality is very important
Dashboard (Solution)
Landing page should be visually clear and provide easy access to main tasks.
Dynamic List (Description)
Many apps use lists to display large amounts of data. This data is often loaded over a network connection. Dynamic lists improve performance.
Dynamic List (Problem)
Loading lots of data can be slow especially if over internet, as it has to load it all at once
Dynamic List (Solution)
Instead of waiting for all the data to load it is better to load only the most relevant data and populate it to a list immediately, then automatically load more when user reaches the end.
Manifest attributes
XMLNS: name of loaded namespace and where DTD for xml parser is loaded
Package: Name of java package for this application
Android:version : Version code for this version of the app
Android:versionName : version name for publishing
<activity> attributes
</activity>
android:name - the name of the activity which will be used as the name of the Java file
android:label - a string that we can programmatically retrieve at run time