Android Development Ideas

Source: Internet
Author: User

1. "Features" of the programmer, will be very popular

Android development, in itself is not a way to go far, the real value lies in the combination of specific business direction, such as: Android and audio and video technology, Android and smart hardware interaction, Android and front-end technology integration and exploration, Android information security , Android source depth customization, etc... Find an interesting direction, explore and accumulate, not just the Android API itself, so you can go farther and have a better future. ”

Therefore, in order to make oneself in the team more "existence sense", want to future development more and more good, you should not only satisfy to become a can write the App interface of Android Programmer, but want to "accumulate" the technology that is interested in the dissimilation, and become the expert in this field.

2. Be strict with yourself and don't make "low" mistakes

Recently, with third-party cooperation, using their library, various "low-level" errors have angered me many times, there is a NULL pointer exception, parameter configuration does not take effect, there is a message callback set, there is no callback, each fix the bug and bring new bugs, and so on and so on.

Although the functions they do are generally very good, but this series of "low-level" errors, time and time again to lower my recognition of their technology and trust.

I always think that there is a Bug in the code is inevitable, but whether it is written c,c++ or Java, avoid NULL pointer crash, function parameter detection, these are a mature programmer's basic skills, should not find any reason and excuses.

3. Tools and skills to summarize and troubleshoot problems

I was surprised to see some of my client's Android developers this year who didn't know how to use ADB to log at the command line or how to filter log, and it was amazing to me that printing and analyzing logs was a basic skill for programmers, and we should not be limited to that. We should also continue to accumulate some useful analytical tools, analysis tool and website in our work, such as:

-How to detect memory leaks, CPU usage, storage footprint of Android

-How to analyze the crash of Android Native library with Ndk-stack

-How to use Wireshark, tcpdump to grab packets and analyze protocol issues

-How to troubleshoot network problems with curl, dig, MTR, Telnet, netstat, and other commands

-How to verify that YUV data and PCM data are correct

-How to analyze rtmp stream, HLS flow anomaly, lag, time stamp and other issues

-Collect some good tools websites, such as: http://www.17ce.com,http://ip.cn/,http://www.speedtest.cn/, etc.

4. Always set deadline, complete is more important than perfection

In the Internet industry, we can do is to have a set of their own "priority", first out version, then talk about optimization.

Sometimes, it is also a kind of ability to know how to refine a task rationally. Generally I get a big demand, will certainly be refined into a small task, and according to the following criteria to classify and sort, and even give the deadline of each small task:

-Base module, other tasks need to rely on this module

-Work related to the definition or modification of the interface

-feature points that must currently be supported

-function points that can be added later

-Places that can be optimized later

Of course, according to the actual situation can continue to subdivide. Every time a small task is done, it is fully tested to ensure its correctness and stability, save a version, and when the function points that must be supported are completed, at least one deliverable version is already available.

It is also important to emphasize that "done" is not to say that with a lot of bugs done, but rather a stable but not necessarily full-featured version, so do not use "complete and imperfect" as an excuse to ignore the quality of delivery.

5. Know The reason why

This is a cliché topic, but indeed many people did not do, especially in the interview, often encountered many people to do things they personally understand is not enough, this may be an attitude problem, not willing to take the time to delve, perhaps this study is really a cost of brain cells process, But for those who are passionate about technology, it is actually a pleasure.

For example: For player development, you can't just do it, or use it, and know the principle as much as possible. List the 3 most common questions:

-The entire process of successful rendering from the incoming URL to the first frame of video

-Player has several buffers, how to manage, how to design the

-How audio and video synchronization is implemented

Each problem can be deep digging a few layers, basically can judge its mastery degree and the spirit of study, will use a third-party player a lot of people, will use ffmpeg people also gradually become more, but can change ffmpeg can self-analysis Stream Media protocol, can write the player himself, can become this field real Daniel.

Android Development Ideas

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.