Source code analysis of JetPack DataBinding

1, Introduction to DataBinding DataBinding is a tool support library launched by Google in 2015. With the help of this library, the interface components in the layout can be bound to the data sources in the application in a declarative format. DataBinding supports two-way binding, which can greatly reduce setText, findViewById and other codes. ...

Posted by Spoiler on Thu, 25 Nov 2021 20:52:31 +0100

Android Gson principle analysis

JsonElement abstract classRepresents an element of a json stringAn element: JsonObjectJsonArrayJsonPrimitive (basic type)JsonNull Four subclasses of JsonElement JsonObject,JsonArray,JsonPrimitive,JsonNull JsonPrimitive  This class encapsulates the basic types of Java and their corresponding object classes. (short and full len gt h, single ...

Posted by zab329 on Wed, 24 Nov 2021 21:56:10 +0100

(Android 11.0) Deep mining of Android startup process (last)

Preface Activity can be started in two ways, one is the start process of root activity, the other is the start process of normal activity. The first one refers to the process that an app starts. A common activity refers to the process that calls the startActivity in an application. Nagan Activity is a more comprehensive startup, but also a go ...

Posted by alfpalafox on Wed, 24 Nov 2021 21:22:13 +0100

How appium +pycharm controls App page sliding

When we operate the app, we will slide the page. How can we implement this process in python?   How to slide We all know very well how we manually slide on the app, and then automation is only implemented by imitating the manual method. We analyze it through a graph     When sliding from top to bottom, we usually press the coordinate (X1, Y1 ...

Posted by bbristow on Tue, 23 Nov 2021 13:58:11 +0100

Application shell of Android security

Mobile security has been paid more and more attention, and the conventional methods are not applicable. People prefer a method to solve the application security problem. At this time, companies specializing in application reinforcement appear. First of all, let's talk about what is shelling, why shelling, and what are the advantages and disadv ...

Posted by harnacks on Tue, 23 Nov 2021 11:34:23 +0100

Common Android design patterns -- Proxy Pattern

1. Preface First, let's take a look at Baidu Encyclopedia's introduction to the agency model: Definition of Proxy Pattern: provide a proxy for other objects to control access to this object. In some cases, one object is not suitable or cannot directly reference another object, and the proxy object can act as an intermediary between the ...

Posted by sebmaurer on Sun, 21 Nov 2021 10:08:00 +0100

The audio and video decoding of FFmpeg is synchronized with the audio and video, which is shared by the Android community

//Obtain video file information, such as the width and height of the video //The second parameter is a dictionary, which indicates what information you need to obtain, such as video metadata if (avformat_find_stream_info(pFormatCtx, NULL) < 0) { LOGE("%s", "Unable to get video file information"); return; } //Gets the index lo ...

Posted by aggrav8d on Sun, 21 Nov 2021 00:50:41 +0100

android_jetpack_paging introduction

Reprinted from: https://cloud.tencent.com/developer/article/1772873 1, Paging introduction In Android application development, we often need to display a large amount of data in the form of list. These data may come from the network or local database . In order to avoid loading a large amount of data at one time, it is necessary to page th ...

Posted by Stuph on Sat, 20 Nov 2021 11:12:40 +0100

Namespace and custom attributes of XML in Android

The namespace stores a collection of specific attributes, android, tools, app (custom namespace) 1,android xmlns:android="http://schemas.android.com/apk/res/android"  xmlns: that is, xml namespace, which declares that we are going to start defining a namespace   android: called namespace prefix, it is the name of the namespace   ...

Posted by returnButton on Sat, 20 Nov 2021 03:13:30 +0100

Flutter adds more functions of drop-down refresh and slide up loading to the list

In actual apps, pull-down refresh and slide up loading are more common forms of interaction. In the Flutter, there is a Flutter_ The easyrefresh open source plug-in is used to implement pull-down refresh and slide up load. This article introduces stateful components and fluent_ The basic application of easyrefresh completes asynchronous data lo ...

Posted by Sgarissta on Fri, 19 Nov 2021 16:15:10 +0100