The most beautiful application-from the perspective of Android Research and development engineers [most beautiful time]

Source: Internet
Author: User

The most beautiful application-from the point of view of Android development engineers

@author ASCE1885 's Github book Weibo CSDN

Recently found the most beautiful application of such a website, it will regularly introduce some very interesting app, as a developer, every time you see a great app will be analyzed from the perspective of implementation, thinking if it is how you will achieve it? As a result, this series of articles is designed to interpret some interesting apps from the perspective of technology selection and architecture.
The best time is one of the most beautiful app team's anniversary app for recording and sharing those important days, let's start with this!

Open Source Library for use1. Open Source Logging function library Jakewharton ' s Timber

Timber is the star programmer Jakewharton Open Source, a library of logging functions, based on the Android log class, providing a simple and extensible API.

Logging behavior is abstracted as a tree??, for example, there is a log to Logcat tree, there is a log to the file tree and so on, if we want to use some kind of tree, we prefer to create an instance, and call the Timer.plant function to plant it, then you can use it at will.

2. Lightweight ORM Framework Activeandroid

Activeandroid is one of several commonly used ORM frameworks (besides, the more famous open source solutions are Greendao and ormlite), which can greatly simplify the use of databases, manage databases in an object-oriented way, and leave the history of handwritten SQL. Each database table can be mapped to a class, and developers just need to use a function like save () or delete ().

Reference Documentation:
Official documents

3. JSON parsing function library Gson

Gson is a library of Google-produced libraries that can deserialize JSON strings into corresponding Java objects or, in turn, serialize Java objects into corresponding JSON strings. Eliminates the hassle of developers manually parsing JSON-based fields by Jsonobject and jsonarray, reducing the likelihood of errors and enhancing the quality of the code.

Reference Documentation:
Official User's Guide
Third-party user guides

4. Click the Ripple effect control Rippleview

This control is a view click Ripple effect introduced in the compatible Android L platform implemented on Android 2.3 and above platforms.


5. Modern HTTP function library Okhttp

Okhttp is an efficient HTTP client with the following features:

    • Supports HTTP/2 and spdy, sharing the same socket for all requests to the same host
    • Use connection pooling to reduce request latency when Spdy is unavailable
    • Transparent gzip compression reduces the size of downloaded data
    • Cache responses to avoid duplicate network requests

Okhttp works well with poor network performance and avoids common network connectivity problems. If your HTTP service has multiple IP addresses, Okhttp will try other optional addresses when the first connection fails. This is necessary for Ipv4+ipv6 and for services hosted in a redundant data center. Okhttp uses the modern TLS feature (SNI, ALPN) to initialize the HTTP connection, and when the handshake fails, it is degraded using the TSL1.0 attempt to initialize the connection.

See the documentation for more detailed usage.

6. Wheel Selector Control Android-wheel

Android-wheel is a wide range of wheel selectors on the Android platform that can be used to implement date-time selectors, provincial three-level selection menus, and more. In the most beautiful time this app is used as a date-time selector, as shown below:


7. Modern I/O operation function Library Okio

Okio, as a complement to java.io and Java.nio, is a library of functions developed by square, making it easier for developers to access, store, and manipulate data. It started out as a component of okhttp, and of course we can use it alone.

8. Type-Safe Rest client Retrofit

Retrofit is an open-source library that transforms the rest API into a Java interface that requires the Server API interface to follow the rest specification. It is based on annotations to make the code very concise, retrofit by default using Gson as a JSON parser, using OKHTTP to implement network requests, the three are usually used together, of course, we can also replace the two to other analytic function library.

Reference Documentation:
Retrofit official documents
Retrofit of the Fast Android Development Series Network article
Retrofit–java (Android) Rest Interface Encapsulation Class Library
Another discussion on Restapi best practice
Using Android API Best practices
Deep anatomy of the Android Web Development library-part1:okhttp, volley and Gson

9. Drop-down Refresh component Android-pulltorefresh

The wide range of drop-down refresh components on the Android platform, with more than 5,000 star on GitHub, is no longer maintained. The supported drop-down refresh controls are:

    • Listview
    • Expandablelistview
    • Gridview
    • WebView
    • ScrollView
    • Horizontalscrollview
    • Viewpager
10. Picture asynchronous load cache function library Android-universal-image-loader

This library, called UIL, is a powerful, flexible and highly customizable open-source library for loading, caching, and displaying images, providing a range of configuration options and good control over the loading and caching of images.

The main features are:

    • Synchronous or asynchronous multi-threaded picture loading
    • Highly customizable: thread pool, downloader, decoder, memory and disk cache, picture display options, and more
    • The display of each picture supports a variety of customization options: Default stub picture, cache toggle, decode option, bitmap processing and display, etc.
    • Memory or disk (file system of device or SD card) can be slow in picture
    • Real-time monitoring of the picture loading process, including download progress.

Reference Documentation:
Android-universal-image-loader the use of the asynchronous Load Class library (Hyper-verbose configuration)
Android Open Source Framework Universal-image-loader full Parse
Android Universal Image Loader Source Analysis

Third-party SDK used1. Xiaomi push (Mipush)

Xiaomi push (Mipush) is a message push service provided by Xiaomi for developers, which provides developers with a service to push real-time messages to clients by creating a stable, reliable long connection between the cloud and the client, helping developers to effectively pull the user's active.

2. Friends League statistical Analysis SDK

The Friend Alliance statistical analysis Platform is the largest mobile application statistical analysis platform in China. We help mobile app developers to count and analyze traffic sources, content usage, user attributes, and behavioral data so developers can make decisions about product, operations, and marketing strategies using data.

3. Friends Alliance user Feedback SDK

Friends Alliance user Feedback SDK two lines of code for developers and users to communicate easily and efficiently. Collect user suggestions, understand user needs, solve user problems, all within the application.

4. Sina Weibo SDK

The Weibo Android platform SDK provides a simple and easy-to-use microblogging API call service for third-party applications, enabling third-party clients to sign in without needing to understand complex authentication mechanisms, and provide Weibo sharing capabilities to share Weibo directly via Weibo's official client.

Analysis and summary

The bottom library used by the best time app basically follows the library of libraries that the Android developer must know about the 5 open source libraries that this article describes. Technical selection of the standard, are some mature and stable and common function library, avoid the developer flow caused by the code familiar with the cost, the team new members can quickly get started, but also avoid the open source Library hidden bug may cause the version delay, because the more mature open Source Library community more mature, fewer bugs, Even if a new bug arises, it can be solved quickly.

For smaller teams, we recommend that you choose a mature framework when choosing a technology, especially for startups. When the company and the team develop to a certain stage, can introduce new technology or new frame in time, activate the technical sensitivity of team members. In a large company, there is a team of infrastructure groups that serve the entire company's product lines and provide the infrastructure to build it. Of course, for a team with a very high level of team members, even startups, there are many that abandon mature and stable technology or frameworks, and instead choose a new emerging technology or framework, as often new technologies or frameworks are better than mature technologies or frameworks, although there may be more hidden bugs. In the final analysis, technology selection is a comprehensive choice of company size and team quality.

Foreign developers on the new technology acceptance and sensitivity is much higher than the domestic developers, this is beyond doubt, the next article we will look at Germany produced a kitchen story app, can easily see the technology selection above the differentiation.

Appreciation of photography at the end of Wen

The most beautiful application-from the perspective of Android Research and development engineers [most beautiful time]

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.