Android Application Development Engineer detailed learning route

Source: Internet
Author: User
Tags sqlite database custom graphics

What are the necessary skills for an excellent Android development engineer? I think there are several aspects to be mastered:

    1. Language Foundation;

The language base should master C language development and Java language development, some people will ask to learn Android development also to learn C language? That is true. Android Bottom is the C language and C + + to implement and run the Linux platform, the upper application is the Java language implementation, we often use Java JNI way to call C and C + +, if not C will not know how to use JNI, how to invoke the underlying C and C + + implementation

2. Android basic components and programming ideas;

While Android apps are written in Java, Android programs have their own programming components and programming ideas that are not found in Java. Android programs are configuration-based programming, including dependencies between components, which is why you rarely see the new keyword in Android, and these programming styles and ideas are throughout the entire Android development process, so you have to master it.

3. Android UI;

Any app, no matter how powerful the function, if the appearance of ugly, the user will immediately throw away, to find other, so, UI selection, design and implementation and the performance of the UI optimization is necessary to master.

4. Android Advanced Module;

Android applications are very wide, website clients, GPS positioning, games, tools and software, to achieve a certain application should grasp a module knowledge, such as: the development of the client on the application of how to achieve network communication, how to use multi-threading, how to parse the data. To achieve a GPS positioning should master the knowledge of GPS positioning. To achieve a music player, you should master the knowledge of multimedia, so the advanced modules must be mastered.

5. Android Project;

This is our ultimate goal, I use Android development, eventually to learn to do projects, good projects, it is like building a house, you build the first house may not be satisfied, when you build a third to fourth house is handy, so through a number of project exercises to master the ability to develop a complete project.

Here I have organized some of the several stages of Android learning tasks, intentionally become a siege Lion group you can refer to:

Here I am divided into five stages;

First stage (Android Development Basics)

This stage is the foundation stage, with the goal of understanding the Android project structure, using the emulator to run Android programs, understanding the Android program's debugging methods, understanding the industry background, understanding the Android framework, building an Android development environment, Developing the first program in the Android development environment

Fundamentals of Android Programming

--java Language Basics

Data types, variables, constants, and arrays;

Operators and expressions, branching, looping;

Using Android base controls for input and output

Algorithms and common data structures

Software Programming Specification

Take the initiative to master the basic Java grammar, in-depth understanding of variables, expressions, operators, Process Control, algorithm preliminary, software programming specifications and other related content.

--oop programming

Object-oriented Programming (OOP), classes and objects;

Inheritance and combination, this and Super keywords, properties;

Method overloading and encapsulation

Use of access modifiers, static, and final keywords

Method overrides and polymorphism

Inner class and Static class

Common design Patterns

Mastering the advanced features of the Java language, understanding the object-oriented programming idea, mastering encapsulation, inheritance, polymorphism of the three major characteristics.

--java Core API

Regular expressions

Reflection

Collection Frame

IO operation

MVC pattern

Multithreading

Socket Network Programming

Learn more about the relevant APIs in Java

Android UI Basics

5 Big layouts in Android

Common Controls in Android

Event Handling in Android

Use of system menus and context menus

Use of dialog boxes

Activity's Jump

Master common layout and controls in Android, use of dialogs, jump and life cycle of activity

Phase II (Service-side technology)

Database, JDBC, and XML

SQL statement Base and improve

SQL statement Tuning

Fundamentals of Database Design

JDBC Core API (Connection, Statement, ResultSet)

XML BASIC Syntax

XML parsing

Mastering MySQL database technology, using JDBC technology to connect database, mastering XML syntax and parsing

Html/css

HTML basic Document Structure

The various elements in HTML

Use of forms in HTML

CSS Specification

CSS Selector

Common Properties of CSS

Using CSS to implement page layouts

Master the HTM l page design, writing, skilled use of CSS style words html

Servlets and JSPs

How the Web server works, tomcat installation and startup

Configuring virtual directories and publishing Web apps in Tomcat

The life cycle of the servlet

Servlet Core API

session and use of cookies

Basic syntax for JSP

JSP Tag Library

JSP programming tips and classic design patterns

Mastering servlet and JSP technology, can complete the application development of B/s structure independently

Phase III (Android core technology)

Data storage

Get internal and external data storage directories in Android via the context

Read-Write and preference-setting framework for preference files

Create and access a SQLite database

Using Sqlitedatabase objects to implement database operations

Using the cursor to traverse query results

Initializing the database and upgrading the database using Sqliteopenhelper

Defining ContentProvider Shared Data

Access ContentProvider using Contentresolver

HTTP protocol Detailed

Using HttpURLConnection to access the HTTP service side

Using HttpClient to access the HTTP service side

Parsing XML using the Sax method

Parsing XML using Pull method

Mastering Storage Technologies in Android: IO, Preferences, Database (SQLite), ContentProvider, and networked storage

Thread Communication

Learn about ANR

Solving ANR problems with multithreading technology

Understanding the principles of thread communication technology

Handler and message

Using multithreading to implement asynchronous loading of pictures

Encapsulates the threading communication model in Android, Asynctask

Creating message queues, Handlerthread in worker threads

Understand the principle of ANR generation and single-threaded model, master the Threading communication technology and Andorid programming skills in Andorid

Android components

Process priority in Android

Life cycle of service components

Using Intentservice to perform asynchronous tasks

Filtering of implicit intent (intent and Intentfilter)

Six Properties of Intent

Broadcast, orderly broadcast, and resident broadcast

Using Broadcastreceiver to accept broadcasts

Accessing media providers using Contentresolver

Master the life cycle of activity and service, master the six attributes of intent, and skillfully use explicit intent and implicit intent. Master the use of broadcast receivers. Use media providers to manage pictures and audio and video resources in Android

Telephone technology

Manage and query contacts using a contact provider

Use calls-related APIs for call log management

Use intent to make a phone call

Use a broadcast receiver to listen for phone calls

Use Telephoneymanager to listen for incoming calls

Hang up the phone using the Aidl interface Itelephony

Send a short message using Smsmanager

Listen for SMS acceptance using broadcast receivers

Use content providers for SMS Records management

Use content provider + Content Viewer implementation to send SMS listening

The use of telephone technology to make calls, send and receive text messages, master telephone and SMS monitoring mechanism. Use content providers to manage phone contacts, call logs, and SMS records.

GPS and location services, GoogleMap services, Baidumap services

Use Locationmanager to get the current position

Base station triangulation and GPS positioning

Automatically determine the best location service source

Elements of Google Maps

Use of Mapview

Control the map, zoom the map

Add an icon to a map

Master GPS positioning Technology, master the GoogleMap related APIs, use map and positioning function together

android4.x new Features

Fragment fragments

Viewpager

ActionBar

Master Android4.0 new technology and usage of common classes in Android Compatibility Pack

Stage four (Android advanced technology)

Advanced Graphics for Android

Picture and text effects

Dynamic Backgrounds

Custom animations

Music oscilloscope

Master Android Custom Graphics drawing, with the foundation for developing complex control effects

Android Advanced Controls

Drag of ListView, GridView

Two-way adjustable scroll bar

Quick function boxes that pop up as needed

ARC-arranged controls

Master the development of advanced custom controls for Android. Ability to develop custom controls as needed

Structure analysis and design of commercial application project

interface function organization and navigation in commercial projects

Mastering the right use of resources

How to use the Welcome screen and novice Navigation

Basic encapsulation of network operations

Master the business software in the early stages of development, how to build the basic structure of the project, how to communicate between the interface and background functions. And how to properly organize the various resources

Fifth stage (Android Project practice)

At this stage, it means that the real start of Android development life, then need to use a real project to practice practiced hand (of course, each of the previous stages can not be separated from the project practice). such as mobile phone defenders, audio-visual software and other projects. This kind of project online has a lot of source code to download, follow the source code slowly learn the effect will be more effective.

Doing these five stages can only indicate that you have stepped into the ranks of programmers, but technology is much more than that. The IT industry needs to constantly explore the spirit.

Well, finally, mutual encouragement!

Android Application Development Engineer detailed learning route

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.