AndroidFlux-asynchronous request and network
In mobile development, Asynchronous Network operations are essential. This article focuses on how to handle asynchronous operations in the Flux mode and goes into some details, for example, how to display the asynchronous status during asynchronous operations. In addition, network operations are only asynchronous operations. At last, the semantics of ActionCreator is extended to process more business logic.
Tricking Android MemoryFile
MemoryFile is a framework introduced by android at the very beginning. It actually encapsulates the Memory Sharing Mechanism unique to android, ashmem is registered as a special character device in the Android kernel. The Ashmem driver initializes a memory area in a custom slab buffer in the kernel, then, the applied memory is mapped to the user's process space (through tmpfs) through mmap, so that the applied memory can be used in the user process.
Usage of EventBus 3.0
Some of the questions raised about Android can be solved using EventBus, and many people recommend using EventsBus because it and GreenDAO come from a company, it is very simple to use, so many Internet apps now use EventsBus for message transmission. Based on this, there are many articles about EventBus, which are well written. However, as EventBus has come out of version 3.0, most of the domestic translations only stay in version 2.4, for those who are new to EventBus, learning from the latest version is the best learning path.
Android development practice: Android. mk Template
There have been many articles on Android NDK development. My blog also shares many experiences and skills related to NDK development. Today I wrote a simple Android program. mk sample template for beginners. This template provides examples of the following issues in Android NDK development: 1. how to automatically add the list of source files to be compiled 2. how to add third-party static library and dynamic library dependency 3. how to construct a complete NDK Engineering Framework
Gradle for Android
If you are a newbie in Android development or a newbie switching from eclipse to Android studio, I strongly recommend that you follow my article, as shown on the cover, use the gradle build tool to automatically build your Android project. Let's get started.
How to Choose compileSdkVersion, minSdkVersion, and targetSdkVersion
After you release an application (depending on the release time), the Android system may have released a new version in less than a few months. What does this mean to your application? Is everything useless? Don't worry. Forward compatibility is a concern of Android. When users upgrade to the new Android version, existing applications built with the previous version of the SDK should not go wrong. This is the role of compileSdkVersion, minSdkVersion, and targetSdkVersion: They respectively control which APIS can be used, what API levels are required, and the application compatibility mode.
What Android Developers should know about Kotlin
Android Developers face a dilemma in terms of language restrictions. As we all know, the current Android development only supports Java 6 (the language itself has been improved since Java 7). Therefore, we can only use one old language for development every day, this greatly reduces our productivity and forces us to write a lot of samples and vulnerable code. However, such code is hard to read and maintain.
Android FrameWork implements high-performance animation effects based on libGDX (Box2D/physical collision)
The Android FrameWork that was previously written implements high-performance animation effects (Fireworks/particle effects) based on libGDX and finally mentions Box2D. A long time ago, I wrote a collision effect developed based on the jbox2d library, due to the limited performance of jbox2d, frame freezing may occur when about 20 objects collide at the same time, now I want to use Box2D provided in libGDX to implement a more efficient version. I am very happy to be able to finish it soon. We will continue to share this part today.
[Literacy post] What you need to know about Google Play
Google Play is the core part of the Android experience. New users personalize their devices through apps, games, and other Google Play content. Old users regularly come back to view the latest trends and new applications. It is convenient and quick to download new apps-Google Play pushes apps to users' devices through the network in real time.
New Android sample: Fingerprint Authentication API
Android Fingerprint API protects user privacy by carefully retaining the user Fingerprint features contained in the device's security hardware. This prevents malicious intruders and ensures that users can safely use their fingerprints even in untrusted applications. Android can also provide protection for application developers to ensure that the user's access to secure data or resources is granted only after the user fingerprint is correctly identified.
Architecture Design of Hybrid APP
There are many articles on the Internet about the benefits of developing apps using the Hybrid mode. This article will explain some experiences and thoughts on the architecture design of Hybrid app from the following aspects. For the original article and discussion, go to github issue. As a cross-language development model, the communication layer is the first concern and design of the Hybrid architecture. All the logic in the future will be expanded based on the communication layer.
[Construct the Android cache module] (1) Explanation and Principle Analysis
In the Google official series of tutorials I translated, the Bitmap series briefly introduced how to correctly decode Bitmap, asynchronous thread operations, and use Fragments for reuse, in the end, we provided a very powerful exclusive secret: BitmapFun, which allows Yuanyuan to have a glimpse of how Google's siege engineers are able to kill OOM in a high-risk manner.
Developers should know about Brillo and Weave.
Android for IoT-Brillo and its supporting protocols Weave announced in Google IO 2015 are about to unveil the secret. Google acquired the Internet of Things company Nest Lab for $ January 2014 in 3.2 billion. In fact, it mainly focused on Nest's outstanding achievements in Iot operating systems and low-power transmission protocols, after two years of competition and digestion, Brillo and Weave were launched.
Kuaidi taxi architecture practices
From the end of 2013 to the second half of 2014, kuaidi's traffic expanded rapidly. Many complicated problems must be solved within a short period of time without affecting online businesses. This is a big challenge, this article will explain some representative problems and solutions encountered during the evolution of kuaidi taxi architecture.
Open-source libraries & Projects
CodePush
Microsoft launched a set of code hot update solutions for apps developed using React Native and Cordova.
HowToBeAProgrammer
A guide on how to become a programmer lists the individual skills and team skills that need to be mastered at different stages.
Iron
A fast and easy-to-use NoSQL data storage framework.
AndroidMosaicLayout
Mosaic effect Layout.
Small
Small is the most lightweight cross-platform plug-in framework. Supported platforms: Android API 15 (4.0.3) + iOS 7.0 + coming soon.
BrokenView
Fragment animation effect.
GalleryFinal
Android custom album, which supports photo taking, Image Selection (single choice/multiple choice), and cropping (single/multiple cropping), rotating, ImageLoader not bound allows developers to choose, feature configurable, and topic style configurable.
DropDownMenu
A practical multi-filter menu can be seen in many apps, such as Meituan and iQiYi movie tickets.
Swipe-Deck
The Tinder-like custom controls that can slide left and right to eliminate card effects.
MagicProgressWidget
Gradient circular progress bar and lightweight horizontal progress bar.
AppCrashTracker
An exception tracker can generate a log in JSON format and upload it to the server.
IntlPhoneInput
A custom control that supports international phone numbers.
WeekCalendar
The calendar custom control in week mode. It supports more than 4.0.
LabelView
A simple tag control.
AndroidKeyValueStore
A SQLite-based Key/Value storage framework.
Tools
Recompress-apk
A script tool that compresses a signed apk and does not destroy the original signature of the apk.
Gradle-android-junit-jacco-plugin
You can generate the Gradle plug-in for the code unit test coverage report.
Gradle-android-javadoc-plugin
Generate the Gradle plug-in for java doc.
Gradle-android-apk-size-plugin
You can record the Apk size to the Gradle plug-in of the CSV file.
Video
Android UI Automated Testing
Zero-basic learning Android automated testing. Through this course, you can master the android black box ui automated testing to free you from most repeated manual regression testing.
Explore the React Ecosystem
The revolutionary innovation brought about by React is the most exciting change in the front-end world over the past few years. Since my access to React, I believe that React will completely change the development experience of client developers. In this sharing, I would like to share the progress and future trends of the React ecosystem and community in four major directions: target platforms, data processing, language, and tools.
Design
Android watch application development and design specifications
Designing apps for wearable Android watches differs greatly from designing apps for mobile phones and tablets: different devices have different advantages and disadvantages, different application scenarios, and ergonomic considerations. To get started with the design, we should have a general understanding of the Android watch experience and know how to integrate the application to improve this experience.
Outside of Technology
"Quietly say" Phase I-the product manager has the final say ?!
From the beginning of this period, static electricity will launch a brand new voice link in addition to daily article updates-quietly speaking. In this session, we will discuss some sensitive topics. There are two or three views in each issue. The content of this issue is as follows: 1. Is the product manager a manager? What does the product manager say? 2. Why don't I promote other dynamic performance software? Only about Xcode?