[JAVA] Zusammenfassung der Bibliotheken, die in der jüngsten Android-Entwicklung (2019/11) häufig verwendet zu werden scheinen

Ich habe letztes Jahr ernsthaft mit der Entwicklung von Android begonnen, aber es hat lange gedauert, bis ich die Bibliotheken kennengelernt habe, die zum Einatmen der Produktentwicklung verwendet werden. Dieser Artikel fasst die beliebtesten Bibliotheken für diejenigen zusammen, die gerade erst mit der Android-Entwicklung beginnen.

"Häufig verwendet" ist völlig subjektiv.

AAC

Abkürzung für Android Architecture Components, eine der Komponenten von Android Jetpack

https://developer.android.com/jetpack?hl=JA

Hier sind einige der am häufigsten verwendeten Bibliotheken, die in AAC enthalten sind.

Data Binding Library

https://developer.android.com/topic/libraries/data-binding/?hl=JA

Eine Bibliothek, die buchstäblich für die Datenbindung verwendet wird. Ich benutze es oft für die Entwicklung mit MVVM. Dies ist sehr praktisch, da Sie Objekte mit LiveData an XML und bidirektionale Daten binden können, was später beschrieben wird.

Lifecycle

https://developer.android.com/topic/libraries/architecture/lifecycle?hl=JA

Verwalten Sie den Lebenszyklus von Aktivitäten und Fragmenten. LifecycleObserver ist sehr praktisch, da Sie die Lebenszyklusereignisse von Aktivität und Fragment in anderen Klassen überwachen können.

LiveData

https://developer.android.com/topic/libraries/architecture/livedata?hl=JA

LiveData kann mit dem Lebenszyklus verknüpft werden, um Sie über Wertänderungen zu informieren. Ich habe den Teil ersetzt, der Rx Subject verwendet hat, um zwischen Ebenen mit LiveData zu benachrichtigen. Es ist auch nützlich für die bidirektionale Datenbindung.

Room

https://developer.android.com/topic/libraries/architecture/room?hl=JA

Room bietet eine Schnittstelle, über die Sie SQLite reibungslos verwenden können. Ich kann nichts sagen, weil ich es nicht so hart benutzt habe.

ViewModel

https://developer.android.com/topic/libraries/architecture/viewmodel?hl=JA

ViewModel kann UI-bezogene Daten in Bezug auf den Lebenszyklus von Aktivität und Fragment verwalten. Ich denke, der Kontext unterscheidet sich ein wenig vom sogenannten MVVM ViewModel, aber er ist sehr nützlich für die Anwendungsentwicklung mit MVVM. Ich benutze es oft.

Navigation

https://developer.android.com/topic/libraries/architecture/navigation.html?hl=JA

Fragmentübergänge können in XML verwaltet werden. Durch die Einführung eines Plug-Ins namens "safeArgs" ist dies praktisch, da Sie die Datenübertragung zwischen Fragmenten einfach definieren können.

Paging

https://developer.android.com/topic/libraries/architecture/paging/?hl=JA

Sie können das übliche unendliche Bildlauf-Paging einfach (?) Implementieren.

Andere

Kommunikation um

Ich sehe oft Konfigurationen wie "okhttp + Nachrüstung + RxJava (RxKotlin) + RxAndroid + moshi (gson)". In letzter Zeit sehe ich oft asynchrone Verarbeitung mit Coroutine.

HTTP-Client

okhttp

https://github.com/square/okhttp

Es ist de facto. Ohne das kann ich nicht leben.

retrofit2

https://github.com/square/retrofit

Eine Bibliothek, die mit REST gut umgehen kann. Wird oft mit okhttp verwendet.

JSON-Parser

Es scheint, dass Jackson vor langer Zeit verwendet wurde?

gson

https://github.com/google/gson

Hergestellt von Google. Ich sehe es oft. Ich benutze Deserializer für komplexe Anforderungen, beispielsweise wenn ich es selbst schreiben muss.

moshi

https://github.com/square/moshi

Aus Quadrat. In letzter Zeit benutze ich dies ausschließlich.

Bild

glide

https://github.com/bumptech/glide

Es ist für die Anzeige von Bildern unverzichtbar. Ich sehe es oft.

picasso

https://github.com/square/picasso

Ich sehe das auch oft. Es scheint, dass Gleiten physischer genutzt wird.

Rx

RxJava

https://github.com/ReactiveX/RxJava

Sie können Code für das Paradigma der reaktiven Programmierung schreiben. Die Lernkosten sind hoch, aber es ist sehr bequem, sich daran zu erinnern. Die Leute neigen dazu, es als eine Bibliothek für die asynchrone Verarbeitung zu betrachten. In letzter Zeit spüre ich den Trend, es durch andere Technologien zu ersetzen, aber es wird immer noch an verschiedenen Orten verwendet, und persönlich ist es ohne dies ziemlich schmerzhaft.

RxKotlin

https://github.com/ReactiveX/RxKotlin

Eine Kotlin-Erweiterung für RxJava. Wenn Sie Rx mit Kotlin verwenden, lassen Sie es uns vorstellen.

RxAndroid

https://github.com/ReactiveX/RxAndroid

Es ist für die asynchrone Kommunikation mit RxJava in der Android-Entwicklung unverzichtbar.

RecyclerView

groupie

https://github.com/lisawray/groupie

Es ist heutzutage zu beliebt und ich habe Angst. Aber es ist auf jeden Fall bequem.

epoxy

https://github.com/airbnb/epoxy

Hergestellt von Airbnb. Sie können problemlos eine komplexe RecyclerView erstellen. Es ist einfach mit der Datenbindung zu verwenden. Gute Kompatibilität mit anderen Airbnb-Bibliotheken wie MvRx.

Debug im Zusammenhang

Alternative protokollieren

timber

https://github.com/JakeWharton/timber

Ein Wrapper für android.util.Log. Niemand sagt es mir, aber jeder benutzt es (subjektiv). Sie können die Funktionen je nach Build-Typ wechseln.

Speicherverwaltung

leakcanary

https://github.com/square/leakcanary

Hergestellt aus zuverlässigem und bewährten Quadrat. Erkennt und benachrichtigt Sie über Speicherlecks in Ihrer App. Ich habe das Gefühl, dass es selbstverständlich ist.

Um das Kommunikationsprotokoll

stetho

https://github.com/facebook/stetho

Wenn Sie in okhttp beißen, können Sie Kommunikationsprotokolle usw. in Chrome sehen. Sehr angenehm.

flipper

https://github.com/facebook/flipper

Hergestellt von Facebook. Es kann auch auf anderen Plattformen als Android verwendet werden. Ich habe noch nie jemanden gesehen, der es benutzt. Ist es gut mit Stetho?

Andere

Hyperion-Android

https://github.com/willowtreeapps/Hyperion-Android

Sie können verschiedene Dinge tun. Weitere Informationen finden Sie in diesem Artikel.

DI

Abkürzung für Dependency Injection. Es ist heutzutage selbstverständlich. Referenz

dagger2

https://github.com/google/dagger

Hergestellt von Google von Square. Es wird wahnsinnig benutzt. Ich denke, die Lernkosten sind ziemlich hoch.

koin

https://github.com/InsertKoinIO/koin

DI-Bibliothek für die Kotlin-Implementierung. Ich spüre die Dynamik, wenn die Namenserkennung zunimmt. Ich mag es, weil es leichter zu verstehen ist als Dolch.

Rund um den Test

mockito

https://github.com/mockito/mockito

Ein spöttischer Rahmen. Es gibt ein Gefühl von De-facto.

mockk

https://github.com/mockk/mockk

Eine spöttische Bibliothek für die Implementierung von Kotlin. Ich bin vor kurzem gekommen, um es zu sehen.

truth

https://github.com/google/truth

Eine Assertionsbibliothek von Google. Es scheint, dass es auch im Android X-Testdokument übernommen wird.

Andere

ThreeTenABP

https://github.com/JakeWharton/ThreeTenABP

Eine Bibliothek, die es einfach macht, Daten unter Android zu verwalten. Niemand sagt es mir, aber es ist sehr praktisch und viele Leute benutzen es.

Impressionen

Recommended Posts

Zusammenfassung der Bibliotheken, die in der jüngsten Android-Entwicklung (2019/11) häufig verwendet zu werden scheinen
Zusammenfassung von ORM "uroboroSQL", das in Enterprise Java verwendet werden kann
[Android] Ich möchte einen ViewPager erstellen, der für Tutorials verwendet werden kann
[Github] Zusammenfassung häufig verwendeter Befehle während der Entwicklung
3 Möglichkeiten zum Importieren von Bibliotheken in Android Studio
CORBA scheint in Java SE 11 entfernt zu sein. .. ..
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
Es scheint kein anderes zu geben - wenn in Java
Site-Zusammenfassung, die beim Minecraft-Modding 1.12.2 hilfreich sein wird
Persönliche Zusammenfassung der in JUnit 4 häufig verwendeten Typen
Praktische Tastenkombinationen für Eclipse
Zusammenfassung des Android-Entwicklungslinks
Eine kurze Zusammenfassung der Java 8-Datums- / Uhrzeit-APIs, die wahrscheinlich häufig verwendet werden
Der Fall, dass @Autowired in JUnit5 nicht verwendet werden konnte
Firebase-Realtime-Datenbank für Android, die mit Kopie verwendet werden kann
Einführung in Rakefile, die in ca. 10 Minuten durchgeführt werden kann
So implementieren Sie eine einzeilige Anzeige von TextView in der Android-Entwicklung
Java 14 neue Funktionen, mit denen Code geschrieben werden kann
Edelstein oft in Schienen verwendet
Zusammenfassung der Probleme, bei denen ich mich nicht bei firebase anmelden konnte
Beachten Sie, dass Systemeigenschaften einschließlich JAXBContext in Java11 nicht verwendet werden können
SwiftUI-Ansicht, die in Kombination mit anderen Frameworks verwendet werden kann
Es scheint, dass Java 14 Datenklassen-ähnliche Funktionen hinzufügen wird
Aktuelle Korrekturen an der Java-Bibliothek FF4J, die Funktionen zum Umschalten von Funktionen bietet