Android App

An app is installed using an APK. Compiling project produces an APK. Is it a Java code? No it is Java code compiled into something. That runs in a virtual machine or on soemthing else. Components of an app include activity which is something shown in the screen, service which runs in the background, service provider which is something called by some other process to get data or broadcast receicer. All are process. Run as part of the app. Each app is its own user. So other processes can’t mess with this ones files or processsss. They connect with the OS in a lot of ways. Rendering activity on screen is also communication with os. Starting service is the work of OS. BroadcastReceivers are also called by the OS. One app can have any number of these running. These components are registered with the OS. OS keeps records of all these. (I must read an OS book). Android provides many services. There is a common filesystem. There is also filesystem local to the app. Here we can also put sqllites. How does a CPP app work. Should be simple like it does the same things and comminicarss with OS calls. Accessing camera and things are also done bu the OS. Intents are a cool way to communicate with the OS. There is a static method call. There must be some handler in the OS that resolves and handles the callback. Permissions restrict access to service providers from the apps. Most work is calling some service providers. These are system calls. UI is also an app. The launcher is an app. That call other apps. It had acceee to OS data like what apps are installed abd things. And access to service providers.