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