Programmer's Road: using Android Card

Source: Internet
Author: User
Tags ruby on rails

Avenue 3,000, why the road?

Recently there is a private message, email me to consult some career planning students, I am here as an experienced people to give you some advice.

Any industry, any position, regardless of high or low, regardless of size, can be divided into a broad, profound two directions.

Profound nature refers to the versed in a certain field, of course, will not be ignorant of other technologies, or become a single-legged people, how can we go far?
Broad nature refers to a wide range of knowledge, a variety of technologies are covered, of course, will not be a shallow touch, so-called full stack programmer naturally belong to this type, I am also this type.

Profound

First of all, as an Android programmer, you need to master the basics:
0. Java Core programming
The development language for Android is Java, so Java is a must-have for an Android programmer.
I recommend a few books here, Think in Java (Java programming Ideas), Core Java (Java Core technology), effective Java, read these three books, your Java technology is quite secure.

1. Android Basics
Android four components and life cycle
Layout style
How various controls are used
Transfer value between activity and fragment
Interface adaptation with different resolutions
Events and callback mechanisms
Local data storage
HTTP access Network
Use of Widgets
Adaptation for each Android version

2. Advanced
Use of the ADB command
Activity, Service, broadcaster call each other
Use of the Notification bar notification
Use of alarm
Use of SMS
Use of threads
Handler message mechanism
Asynctask asynchronous invocation mechanism
Use of Intent and Intent-filter
Beautify your interface with custom styles, theme, drawable, and more
Use of animation effects
Hardware calls, camera, audio, video, location
App version upgrade, local database version upgrade
Audio, video processing
Custom layouts, interfaces
Use of WebView and communication between WebView and local code
Use of various third-party class libraries
Use of various third-party platforms

3. Advanced
2D/3D Graphics applications
Use of sensors
Use of Bluetooth, NFC, etc.
Performance optimization
Use of the NDK
Framework Layer Modification
Custom ROM
Adapting Android to a different hardware device

Personally, I think
The basic stage can be used to create a functional simple app, which is a common developer must master;
Advanced stage can make a good and attractive app, this is a technical person must master;
The higher-order stage can make a system-level framework such as MIUI, and can enter the hot smart home, smart glasses industry. This is the quality that a technical director should have.

Extensive

If you want to walk the broad path, there will be a lot of new and interesting technology waiting for you.

But first of all, you have to reach the Android advanced level, otherwise you don't call yourself an Android programmer.
When you reach the advanced level, your interest may be more than just Android, you may be interested in iOS, interested in server development, interested in web development, interested in HTML5 development, interested in design, interest in game development, etc. I'll do a little introduction to every aspect here.

Ios:
iOS and Android are twins, and many people want to learn about each other's technology after a period of Android development, or after a period of iOS development.
I think the learning curve of iOS is higher than Android, the learning cost is also larger, the Apple three-piece set is a must, but the development of iOS is really very hot, and the development of app aesthetics than Android do not know where the high.

Service side:
Android app is a client, so for most apps, it needs service, data and so on, what languages are available on the popular server today?
The Java,java of the framework of many AH, development fast AH, more information ah, like SSH, Spring MVC, jfinal, ofbiz Ah, these are very popular framework, I recommend here jfinal, a typical rapid development framework.
Other Python-like Django, Ruby on Rails, thinkphp, and more are the classics of the Dynamic Language web framework, which can focus on one of their interests.
The least recommended is. Net, although the VS is very powerful, WebService is also very good, but the individual does not like Java as the norm, and not as fast as the dynamic language, the least like. NET Framework, personal preference only.

Front:
I define the front-end technology as HTML (5), CSS (3), JS and other technologies of the merger, the final presentation of the effect of the page is done by our front-end engineers.
And now there are a lot of front-end frameworks, like Bootstrap, JQuery UI, Semantic UI, Nej, Pure UI, amaze UI and so on, are now very popular framework, you can learn to learn.

Design:
I think the design is divided into interactive design, visual design,
Visual design must master the design tools such as Photoshop, and have a certain sense of beauty (this is the same),
Interaction design is now a very important part of the design, many websites, apps look good, but the actual use of the feeling is somewhat awkward, not satisfactory, that is, the interaction design is flawed.
A classic question: the [OK] [Cancel] button of the popup box, iOS default OK on the right, Android default OK on the left, then if you are an interaction designer, your app needs to be published on two platforms at the same time, how should you design this button?

Game:
Now the game is also various, the page swims, the end swims, the hand Zheng a wave, I here only the opponent swims has had the understanding, therefore only then said this part.
Hand Tour Now the most fire of the framework is cocos2d, support a variety of platforms, and there are a lot of resources can be consulted;
In addition, like unity, Ogengine, Andengine, Lgame, is also a good framework.

After you have mastered these technologies, you are a typical full-stack engineer, from design to development to operations you can do, this time, you can tell the boss: I can do five people's work, as long as three people pay.
More can be at home Soho, as a freelancer, or entrepreneurship is also a good choice.

See here, you must have your own choice.

My personal opinion is, go to my own way, let others say go.

This article is my original, if you need to reprint, please specify the source www.liuzhibang.cn

Programmer's Road: using Android Card

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.