Mobile App Development 2022W Lecture 16
Video
Video from the lecture given on March 16, 2022 is now available:
Video is also available through Brightspace (Resources->Zoom Meetings (Recordings, etc.)->Cloud Recordings tab). Note that here you'll also see chat messages.
Notes
Lecture 16
----------
In SwiftUI, the location of a view is its center
In Android, the location is its top left corner
Android manifest
- gives Android key metadata about the app
- in particular, tells Android OS how to invoke the app
Android intents is a mechanism for sending messages between Android apps
- built on a special kernel-level inter-process communication mechanism,
Binder
- *very* efficient
Every activity in an app specifies the intents it is willing to receive
with an "intent filter"
The standard intent filter on the main activity says that it will listen to launcher apps and allow them to tell it to run its main activity
Another common thing is to have an app launch a web browser
- here, the web browser listens to the "open a URL" intent
and other apps can send this intent
- so when you change the default actions/apps in android,
you're configuring how intents are sent
- an app requests "somebody, open this URL"
- the defaults determine which app gets the open URL intent
Intents are Android-specific, iOS has other mechanisms
- much more ad-hoc, because iOS sandboxes apps much more
- much less support for general communication between applications
That's why when you "jailbreak" an iOS device you can do things you can't do otherwise
- the "jails" are a mechanism to keep apps from talking to each other
- no jails on Android, just elaborate permissions
Between apps:
iOS: communication for specific purposes
Android: general communication, controlled through elaborate permissions
Windows/MacOS: general communication, minimal permissions