Tuesday 13 August 2019

Android Development



Advantages of Android Development


  • Low barrier of entry
  • Large user base
  • Development OS not enforced
  • Java is more familiar than Objective C to most developers

Disadvantages of Android Development


  • Fragmentation of devices / OS
  • Monetization-wise iOS apps still rule the charts
  • Apple App Store’s more stringent acceptance policies lead to better quality of apps.
  • Platform Distributions
Data collected during a 7-day period ending on January 5, 2015.
Any versions with less than 0.1% distribution are not shown.







Project View     
Palette    
Toolbar

Properties Editor

Component Tree


Toolbar








Project View


Logcat
Log.v(“Title”,”Message”);         // verbose Log.d(“Title”,”Message”);         // debug Log.i(“Title”,”Message”); // information Log.w(“Title”,”Message”); // warning Log.e(“Title”,”Message”); // error



“But isn’t Android just Java?”



Model


Android MVC Architecture
View
Layout Files


Persistent Storage





Controller
Activities


Graphical Layout Tool



**While Android doesn’t enforce MVC, this could be considered a “best practice” for development.



View



Layout Types
Linear Layout
A layout that organizes i ts children into a single horizontal or vertical row. It creates a scrollbar if the length of the window exceeds t h e l e n gt h o f t h e screen.
Relative Layout
Enables you to specify the location of child objects relative to each other (child A to the left of child B) or to the parent (aligned to the top of the parent).Web View
Displays web pages.Layouts built with an Adapter


List View
Displays a   scrolling single column list.


Grid View

Displays a scrolling grid of columns and rows.


You can populate an AdapterView by binding the AdapterView instance to an Adapter, which retrieves data from an external source and creates a View that represents each data entry.

Two common adapters :
ArrayAdapter
SimpleCursorAdapter


View - Controller





  • Model Options
  • Shared Preferences
  • Store private primitive data in key-value pairs.
  • Internal Storage
  • Store private data on the device memory.
  • External Storage
  • Store public data on the shared external storage.
  • SQLite Databases
  • Store structured data in a private database.
  • Network Connection
  • Store data on the web with your own network server.
  • Data Backup Service
  • Let users store and recover application and system data.
  • Syncing to the Cloud
  • Different strategies for cloud enabled applications including backing up data



Model (SQLite)


The Todo List Demo Database




Find more Android SQLite Tutorials Here



Model - Controller






Android Manifest XML

This file contains a lot of fundamental settings of your Android app like the name, the target android version, filters, libraries or permissions/ rights.

All the elements that can appear in the manifest file are listed in alphabetical order. These are the only legal elements; you cannot add your own elements or attributes.


Android Manifest XML




Android Components
Activity
An activity represents the graphical user interface.
It consists of buttons or other UI objects.
The layout can be created in XML or dynamically in Java code

Services
Services don’t have a user interface
They are used for working on tasks in the background.
For instance, downloading some files, or playing music

Content Provider
This is used to exchange information between apps
For instance, the Address Book is a ContentProvider
Other    applications   may  request    information    from the    Address Book


Android Components

Broadcast Receiver
Used to receive system events and to react to them
There are two types : Static Broadcast Receivers (declared in the manifest file) and Dynamic Broadcast Receivers (created during runtime)
Example events received are booting up of applications, or a headset being plugged in.

Intents
Briefly describe what should be done
There are two types of intents : Explicit Intents (the receiver is known), and Implicit Intents (receiver unknown)
For Implicit Intents the system decides what action needs to be taken.
For instance, you could transfer viewing to another app to, say, open a PDF file.


Activity Lifecycle


 



2 comments:

Python Training in Vizag

Start learning Python today. Find the best Python programming course for your level and needs, from Python for web development to...