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