<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Mobile_App_Development_2022W_Lecture_16</id>
	<title>Mobile App Development 2022W Lecture 16 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Mobile_App_Development_2022W_Lecture_16"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Mobile_App_Development_2022W_Lecture_16&amp;action=history"/>
	<updated>2026-04-06T03:23:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Mobile_App_Development_2022W_Lecture_16&amp;diff=23917&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Video==  Video from the lecture given on March 16, 2022 is now available: * [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.cc.vtt auto-generated captions] Video is also available through Brightspace (Resources-&gt;Zoom Meetings (Recordings, etc.)-&gt;Cloud Recordings tab).  Note that here you&#039;ll also see chat messages.  ==Notes...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Mobile_App_Development_2022W_Lecture_16&amp;diff=23917&amp;oldid=prev"/>
		<updated>2022-03-16T17:55:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Video==  Video from the lecture given on March 16, 2022 is now available: * [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.cc.vtt auto-generated captions] Video is also available through Brightspace (Resources-&amp;gt;Zoom Meetings (Recordings, etc.)-&amp;gt;Cloud Recordings tab).  Note that here you&amp;#039;ll also see chat messages.  ==Notes...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Video==&lt;br /&gt;
&lt;br /&gt;
Video from the lecture given on March 16, 2022 is now available:&lt;br /&gt;
* [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.m4v video]&lt;br /&gt;
* [https://homeostasis.scs.carleton.ca/~soma/mad-2022w/lectures/comp1601-2022w-lec16-20220316.cc.vtt auto-generated captions]&lt;br /&gt;
Video is also available through Brightspace (Resources-&amp;gt;Zoom Meetings (Recordings, etc.)-&amp;gt;Cloud Recordings tab).  Note that here you&amp;#039;ll also see chat messages.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lecture 16&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
In SwiftUI, the location of a view is its center&lt;br /&gt;
&lt;br /&gt;
In Android, the location is its top left corner&lt;br /&gt;
&lt;br /&gt;
Android manifest&lt;br /&gt;
 - gives Android key metadata about the app&lt;br /&gt;
 - in particular, tells Android OS how to invoke the app&lt;br /&gt;
&lt;br /&gt;
Android intents is a mechanism for sending messages between Android apps&lt;br /&gt;
 - built on a special kernel-level inter-process communication mechanism,&lt;br /&gt;
   Binder&lt;br /&gt;
 - *very* efficient&lt;br /&gt;
&lt;br /&gt;
Every activity in an app specifies the intents it is willing to receive&lt;br /&gt;
with an &amp;quot;intent filter&amp;quot;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Another common thing is to have an app launch a web browser&lt;br /&gt;
 - here, the web browser listens to the &amp;quot;open a URL&amp;quot; intent&lt;br /&gt;
   and other apps can send this intent&lt;br /&gt;
&lt;br /&gt;
 - so when you change the default actions/apps in android,&lt;br /&gt;
   you&amp;#039;re configuring how intents are sent&lt;br /&gt;
    - an app requests &amp;quot;somebody, open this URL&amp;quot;&lt;br /&gt;
    - the defaults determine which app gets the open URL intent&lt;br /&gt;
&lt;br /&gt;
Intents are Android-specific, iOS has other mechanisms&lt;br /&gt;
 - much more ad-hoc, because iOS sandboxes apps much more&lt;br /&gt;
   - much less support for general communication between applications&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s why when you &amp;quot;jailbreak&amp;quot; an iOS device you can do things you can&amp;#039;t do otherwise&lt;br /&gt;
 - the &amp;quot;jails&amp;quot; are a mechanism to keep apps from talking to each other&lt;br /&gt;
 - no jails on Android, just elaborate permissions&lt;br /&gt;
&lt;br /&gt;
Between apps:&lt;br /&gt;
 iOS: communication for specific purposes&lt;br /&gt;
 Android: general communication, controlled through elaborate permissions&lt;br /&gt;
 Windows/MacOS: general communication, minimal permissions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>