This video is a is a brief look at the smartphone platform from a developer's perspective. It discusses the layers of the stack in general terms.
- [Instructor] In general, every smartphone platform consists of a hardware layer, an operating system layer, a core libraries layer, and an applications layer. The hardware layer is the physical device, including the screen, buttons, switches, and so on. It is the thing that the user holds in their hands to interact with apps, send text messages, and even occasionally make phone calls. The operating system layer is responsible for translating programming instructions into machine language the device understands. It is also responsible for converting user and system generated events into actionable items such as sending a text or receiving a call.
The core libraries layer provides device functionality that developers use to create apps. Core libraries provide the hooks for your programs to access system resources in an object-oriented fashion. This allows developers to make use of functionality rather than having to create it from scratch. The extent to which core library functions are made available, depends on the platform. But for the most part, apps have access to all the device's functionality including things like the graphics engine, location services, notifications, and more.
The application layer, where apps run, sits on top of the platform stack, and is the layer users interact with. For the most part, system apps can provide data and services for your apps. The classic example is a social media app like Facebook or Twitter, asking for access to the context stored on the device. The result is a stack of resources that apps can access. Although Android and iOS are nearly identical conceptually, there are some subtle, and not so subtle, differences discussed in the lessons ahead.
Understanding the similarities and differences will help you create great apps for both platforms.
- Android platform architecture
- Generic smartphone app life cycle
- Android activity life cycle
- Working with Java
- Encapsulation and polymorphism in Java
- SDK Manager and AVD Manager in Android Studio
- Android Studio vs. Xcode
- Creating a simple Android app