Android architecture design - MVC

objective The purpose of architecture design is to modularize the program through design, so as to achieve high aggregation within the module and low coupling between modules. Improve development efficiency and facilitate subsequent testing and problem location. However, for apps with different orders of magnitude and different requirements, t ...

Added by luv2sd on Fri, 31 Dec 2021 15:15:39 +0200

Kill RxJava series -- 2 Handwritten FlowBus replaces RxBus/EventBus/LiveDataBus

Lack of LiveData LiveData is an observable data storage class dedicated to Android with autonomous life cycle awareness. It is deliberately simplified in design, which makes it easy for developers to start, but its shortcomings are as follows: LiveData can only update data in the main thread (the underlying layer of postValue is also switched ...

Added by rednax on Fri, 31 Dec 2021 11:29:45 +0200

[Kotlin beginner] extension - enjoy programming

About the author: CSDN blog expert, Huawei cloud · cloud sharing expert certification Series column: Kotlin beginner Learning and communication: three people must have my teacher; Choose the good and follow it, and change the bad. catalogue 1, Introduction 2, Extension function 2.1 defining extension functions 2.1. 4 define th ...

Added by gnunoob on Fri, 31 Dec 2021 01:45:48 +0200

Jetpack Compose navigation animation

What is page navigation animation The page navigation animation of Compose is equivalent to the page switching animation in Activity, such as the animation entering when opening Activity and the animation exiting when closing Activity. All the navigation parts mentioned later refer to Compose navigation. Current situation of page navigation ...

Added by mistertylersmith on Thu, 30 Dec 2021 20:30:52 +0200

KOtlin type advanced

Learning objectives: Master Kotlin type, skillfully use and advanced Learning content: Class constructorVisibility of classes and membersDelayed initialization of class propertiesDelegate agentSingleton objectInner classData classEnumeration classSealing classInline class Study time: Time is like water in a sponge. There is always a squee ...

Added by jvanv8 on Thu, 30 Dec 2021 14:32:43 +0200

How is the drop-down component implemented in the development of marriage app

preface Spinner is a drop-down selection component, which is sometimes used in the development of love and marriage app. The system's own spinner is very convenient to use. First, define an array (strings.xml), as follows: <array name="grade"> <item>first grade</item> <item>second grade</item> <ite ...

Added by p0pb0b on Thu, 30 Dec 2021 13:13:00 +0200

android ijkplayer adds anti-theft chain refer, screenshot, supports rtsp, modifies the bottom layer, adds screenshot function, and some problems of ijk playback

1: Use the playback mode and screenshot mode of IjkMediaPlayer+SurfaceView You need to pull your compiled so library from the official website Pull the Android code git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android The compilation steps are the same. There may be some problems with the environment configuration. ndk rec ...

Added by xiosen on Thu, 30 Dec 2021 11:21:57 +0200

Follow the official documents to quickly go through the bindService overview

😄 Official document of binding service Binding service overview A binding service is a server in a client server interface. By binding services, components (such as activities) can bind to services, send requests, receive responses, and perform inter process communication (IPC). Binding services are usually only active when providing service ...

Added by SerpentSword on Thu, 30 Dec 2021 07:59:10 +0200

Detailed explanation of the most complete use of ConstraintLayout in history

prefaceConstraintLayout is a layout that uses "relative positioning" to flexibly determine the location and size of widgets. It was launched in Google I/O in 2016. Its emergence is to solve the problem of too complex page hierarchy nesting in development - too deep hierarchy will increase the time required to draw the interface and ...

Added by Anidazen on Wed, 29 Dec 2021 12:40:13 +0200

Principle of data binding for Android

During the inflate layout, the Activity generates the Binding through DataBindingUtil. From the code point of View, it traverses the contentView to get the View array object, and then generates the corresponding Binding class through the data Binding library, including Views, variables, listeners, etc. The generated classes are located in build ...

Added by bubblocity on Wed, 29 Dec 2021 06:03:21 +0200