The most beautiful applications-from the perspective of Android Research and Development Project division [most Beautiful time]

Source: Internet
Author: User

The most beautiful application-from the perspective of Android development Project Master

@author ASCE1885 's Github book Weibo CSDN

Recently found the most beautiful application such a site. It will regularly introduce some very interesting apps, and as a developer, every time you see a great app, you'll dissect it from an implementation perspective. What do you think is going to happen? 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!

Using the Open Source Library 1. Open source Logging function library Jakewharton ' s Timber

Timber is the Star Program ape Jakewharton Open source for a library of logging functions based on the Android log class. Provides a simple and extensible API.

The logging behavior is abstracted as a single tree??, such as a tree with a print log to Logcat, a tree for printing logs to a file, and so on. Suppose we want to use some kind of tree, we prefer to create an instance and call the Timer.plant function to plant it. Can then be used arbitrarily.

2. Lightweight ORM Framework Activeandroid

Activeandroid is one of several commonly used ORM frameworks (in addition to the more famous open source solutions, Greendao and Ormlite), which greatly simplifies the use of databases. Use an object-oriented approach to managing your database, leaving the history of handwritten SQL.

Each database table can be mapped to a class, and the developer simply needs to use a similar save () or delete () function.

Documentation:
Official documents

3. JSON parsing function library Gson

Gson is a library of Google-produced functions that can deserialize JSON strings into corresponding Java objects. Or, in turn, serialize the Java object to the appropriate JSON string. Eliminates the hassle of developers manually parsing JSON-based fields through Jsonobject and Jsonarray, and also reduces the likelihood of errors. Enhanced the quality of the code.

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

The okhttp is an efficient httpclient with the following features such as:

    • Support HTTP/2 and Spdy. Share the same socket for all requests to the same host
    • When Spdy is not available. Using connection pooling to reduce the latency of requests
    • Transparent gzip compression reduces the size of downloaded data
    • Cache response avoids repeated network requests

Okhttp can work very well with very poor network performance. It can avoid common network connectivity problems. Suppose your HTTP service has multiple IP addresses, okhttp the first time the connection fails. Other optional addresses will be tried. 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.

Refer to the documentation for more specific 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 seen in the following:

7. Modern I/O operation function Library Okio

Okio as a supplement to java.io and Java.nio. is a library of functions developed by square, making it easier for developers to access. Store and process data.

It started out as a component of okhttp, and of course we were able to use it alone.

8. Type-Safe restclientretrofit

Retrofit is an open source library that transforms the rest API into a Java interface. It requires the Serverapi interface to follow the rest specification. It makes the code very concise based on annotations, retrofit uses Gson as the JSON parser by default, and uses Okhttp to implement network requests. The three are usually used in conjunction with each other, and of course we can replace the two with other analytic function libraries.

Documentation:
Retrofit official documents
The retrofit of High speed 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

A drop-down refresh component that is widely used on Android platforms. With more than 5,000 star on GitHub, it's no longer maintained.

The supported drop-down refresh controls are:

    • Listview
    • Expandablelistview
    • Gridview
    • WebView
    • ScrollView
    • Horizontalscrollview
    • Viewpager
10. Images are loaded asynchronously into the cache library Android-universal-image-loader

This library, called UIL, is a powerful, flexible and highly customizable method for loading. A library of open-source libraries for caching and displaying pictures, which provides a range of configuration options. And very good control of the picture loading and caching process.

The main features are:

    • Synchronous or asynchronous multi-threaded picture loading
    • Height can be defined by itself: thread pool, downloader, decoder, memory and disk cache, picture display options, etc.
    • Each picture's display supports a variety of its own definition 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
    • Monitor the picture loading process in real time, including download progress.

Documentation:
Android-universal-image-loader images loading the use of class libraries asynchronously (hyper-specific configuration)
Android Open Source Framework Universal-image-loader fully resolved
Android Universal Image Loader Source code Analysis

Third-party SDK1 used.

page_id=1670 "> Xiaomi push (Mipush)

Xiaomi push (Mipush) is a messaging push service provided by Xiaomi for developers. By establishing a stable, reliable long connection between the cloud and the client, developers are provided with a service to push real-time messages to the client application, helping developers to effectively pull the user's activity.

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 to enable developers and users to communicate easily and efficiently. Collect user recommendations to 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 authorize logins without having to understand complex authentication mechanisms and provide Weibo sharing capabilities that can be shared directly via Weibo's official client.

Analysis and summary

The bottom function library used by the best time app is basically built on the library of 5 open source libraries that Android developers must know about.

Technology selection is not too. are mature, stable and common library of functions. Avoid code familiarity costs resulting from developer flow, new members of the team are able to get started quickly, and also avoid the possibility of a bug in the open source library that could cause the version number delay, as the more mature open Source Library community matures, the fewer bugs, even new bugs appear. can also be solved very quickly.

For smaller teams. We recommend the selection of technology as far as possible to choose a mature framework, especially for startups. When the company and the team develop to a certain stage. The ability to introduce new technologies or frameworks in a timely manner to activate the technical sensitivity of team members. In large companies, there is a team of infrastructure groups that serve the entire company's product lines. To provide them with basic capacity-building. Of course, for team members who have a very high level of skill. Even a start-up company. There are also very many techniques or frameworks that abandon mature and stable. Instead, choose a new technology or framework to emerge. Because often new technologies or frameworks are better than mature technologies or frameworks. Although there may be many other hidden bugs.

Say exactly. Technology selection is a comprehensive choice of company size and team accomplishment.

Foreign developers are far more receptive and sensitive to new technologies than their domestic developers. This is beyond doubt, in the next article we will look at a German-produced kitchen story app. Can be very easy to see the technology selection above the differentiation.

Appreciation of photography at the end of Wen

The most beautiful applications-from the perspective of Android Research and Development Project division [most Beautiful time]

Related Article

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.