Anda di halaman 1dari 4

4 Types of App Components

Activities - An activity is the entry point for interacting with the user. It represents a
single screen with a user interface
Services - A service is a general-purpose entry point for keeping an app running in the
background for all kinds of reasons. It is a component that runs in the background to perform
long-running operations or to perform work for remote processes
Broadcast receivers - A broadcast receiver is a component that enables the system to
deliver events to the app outside of a regular user flow, allowing the app to respond to
system-wide broadcast announcements.
Content providers - A content provider manages a shared set of app data that you can
store in the file system, in a SQLite database, on the web, or on any other persistent storage
location that your app can access. Through the content provider, other apps can query or
modify the data if the content provider allows it.

What is a manifest file?


The manifest file provides essential information about your app to the Android system,
which the system must have before it can run any of the app's code.

What is an intent?
The core components of an application, such as its activities, services, and broadcast
receivers, are activated by intents. An intent is a bundle of information (an Intent object)
describing a desired action, including the data to be acted upon, the category of component that
should perform the action, and other pertinent instructions. The Android system locates an
appropriate component that can respond to the intent, launches a new instance of the component
if one is needed, and passes it the Intent object.

6 Android Development Tools


Android SDK - The Android software development kit (SDK) includes a comprehensive
set of development tools. These include a debugger, libraries, a handset emulator based
on QEMU, documentation, sample code, and tutorials. Currently supported development
platforms include computers running Linux (any modern desktop Linux distribution), Mac
OS X 10.5.8 or later, and Windows 7 or later. As of March 2015, the SDK is not available on
Android itself, but software development is possible by using specialized Android applications.
Android Debug Bridge - The Android Debug Bridge (ADB) is a toolkit included in the
Android SDK package. It consists of both client and server-side programs that communicate with
one another. The ADB is typically accessed through the command-line interface, although
numerous graphical user interfaces exist to control ADB.
Fastboot - is a diagnostic protocol included with the SDK package used primarily to
modify the flash filesystem via a USB connection from host computer. It requires that the device
be started in a boot loader or Secondary Program Loader mode, in which only the most basic
hardware initialization is performed. After enabling the protocol on the device itself, it will
accept a specific set of commands sent to it via USB using a command line. Some of the most
commonly used fastboot commands include:
Flash rewrites a partition with a binary image stored on the host computer
Erase erases a specific partition
Reboot reboots the device into either the main operating system, the system recovery partition
or back into its boot loader

Devices displays a list of all devices (with the serial number) connected to the host computer

Format formats a specific partition; the file system of the partition must be recognized by the
device
Android NDK - Libraries written in C/C++ can be compiled to ARM, MIPS or x86 native
code (or their 64-bit variants) and installed using the Android Native Development Kit (NDK).
These native libraries can be called from Java code running under the Dalvik VM using
the System.loadLibrary call, which is part of the standard Android Java classes.
Android Open Accessory Development Kit - The Android 3.1 platform (also backported to
Android 2.3.4) introduces Android Open Accessory support, which allows external USB
hardware (an Android USB accessory) to interact with an Android-powered device in a special
"accessory" mode. When an Android-powered device is in accessory mode, the connected
accessory acts as the USB host (powers the bus and enumerates devices) and the Android-
powered device acts as the USB device. Android USB accessories are specifically designed to
attach to Android-powered devices and adhere to a simple protocol (Android accessory protocol)
that allows them to detect Android-powered devices that support accessory mode.
Native Go support - Since version 1.4 of the Go programming language, writing
applications for Android is supported without requiring any Java code, although with a restricted
set of Android APIs.
What is an AVD?
An Android Virtual Device (AVD) is an emulator configuration that allows developers to
test the application by simulating the real device capabilities. We can configure the AVD by
specifying the hardware and software options. AVD manager enables an easy way of creating
and managing the AVD with its graphical interface. We can create as many AVDs as we need,
based on the types of device we want to test for
AVD is Consist of :
Hardware Profile - he hardware profile defines the characteristics of a device as shipped
from the factory. The AVD Manager comes preloaded with certain hardware profiles,
such as Pixel devices, and you can define or customize the hardware profiles as needed.
System Image - We recommend that you create an AVD for each system image that your
app could potentially support based on the <uses-sdk> setting in your manifest.
Storage area - The AVD has a dedicated storage area on your development machine. It
stores the device user data, such as installed apps and settings, as well as an emulated SD
card. If needed, you can use the AVD Manager to wipe user data, so the device has the
same data as if it were new.
Skin - An emulator skin specifies the appearance of a device. The AVD Manager
provides some predefined skins. You can also define your own, or use skins provided by
third parties.
AVD and app features - Be sure your AVD definition includes the device features your
app depends on. See Hardware Profile Properties and AVD Properties for lists of features
you can define in your AVDs.
4 Phases of the Application Workflow
Inception - The primary goal of the Inception phase is to establish the case for the viability
of the proposed system.
Elaboration - The primary goal of the Elaboration phase is to establish the ability to build the
new system given the financial constraints, schedule constraints, and other kinds of constraints
that the development project faces.
Construction - The primary goal of the Construction phase is to build a system capable of
operating successfully in beta customer environments.
Transition - The primary goal of the Transition phase is to roll out the fully functional system
to customers. During Transition, the project team focuses on correcting defects and modifying
the system to correct previously unidentified problems.
3 Ways to set up Virtual Device
Step 1 - Download the Android SDK
Step 2 - Install Android Platforms
Step 3 - Create a Virtual Device and run the emulator
What is an Android Inject?
Dependency injection is a technique whereby one object supplies the dependencies of
another object. A dependency is an object that can be used (a service). An injection is the passing
of a dependency to a dependent object (a client) that would use it. The service is made part of the
client's state.[1] Passing the service to the client, rather than allowing a client to build or find the
service, is the fundamental requirement of the pattern.This fundamental requirement means that
using values (services) produced within the class from new or static methods is prohibited. The
class should accept values passed in from outside. This allows the class to make acquiring
dependencies someone else's problem. The intent behind dependency injection is
to decouple objects to the extent that no client code has to be changed simply because an object it
depends on needs to be changed to a different one.

What are Modules?


A module is a separate unit of software or hardware. Typical characteristics of modular
components include portability, which allows them to be used in a variety of systems, and
interoperability, which allows them to function with the components of other systems. The term
was first used in architecture.
1) In computer programming, especially in older languages such as PL/1, the output of the
language compiler was known as an object module to distinguish it from the set of
sourcelanguage statements, sometimes known as the source module. In mainframe systems such
as IBM's OS/360, the object module was then linked together with other object modules to form
a load module. The load module was the executable code that you ran in the computer. Modular
programming is the concept that similar functions should be contained within the same unit of
programming code and that separate functions should be developed as separate units of code so
that the code can easily be maintained and reused by different programs. Object-oriented
programming is a newer idea that inherently encompasses modular programming.
2) In computer hardware and electronics, a module is a relatively compact unit in a larger device
or arrangement that is designed to be separately installed, replaced, or serviced. For example, a
single in-line memory module is a unit of random access memory (RAM) that you can add to a
personal computer.
Types of Modules
Android app module - Provides a container for your app's source code, resource files, and app
level settings such as the module-level build file and Android Manifest file. When you create a
new project, the default module name is "app".
Library module - Provides a container for your reusable code, which you can use as a
dependency in other app modules or import into other projects. Structurally, a library module is
the same as an app module, but when built, it creates a code archive file instead of an APK, so it
can't be installed on a device.
Google Cloud module - Provides a container for your Google Cloud backend code. This
module has the required code and dependencies for a Java App Engine backend that uses simple
HTTP, Cloud Endpoints, and Cloud Messaging to connect to your app. You can develop your
backend to provide cloud services your app needs.
Android Project Files
By default, Android Studio displays your project files in the Android view. This view does not
reflect the actual file hierarchy on disk, but is organized by modules and file types to simplify
navigation between key source files of your project, hiding certain files or directories that are not
commonly used. Some of the structural changes compared to the structure on disk include the
following:
Shows all the project's build-related configuration files in a top-level Gradle Script group.
Shows all manifest files for each module in a module-level group (when you have different
manifest files for different product flavors and build types).
Shows all alternative resource files in a single group, instead of in separate folders per
resource qualifier. For example, all density versions of your launcher icon are visible side-by-
side.
If you were to build your own Mobile App what whould it features be?
If I build my own mobile app I want it to be easy to use and and compatible for all devices. I
want it to look simple but significant and also make it for good intention.

Anda mungkin juga menyukai