Anko: Androd + Kotlin

Vidéo Anko Android + Kotlin

Anko est une librairie créée à Kotlin par Jetbrains qui vise à rationaliser la création d’applications Android. Son nom a été extrait des deux premières lettres d’Android et de Kotlin – & GT; Anko. Les caractéristiques qui nous offrent peuvent être divisées en quatre modules:

  • Fonctions courantes: petites fonctions d’aide à lancer des dialogues, des intentions, etc.
  • mises en page: Création rapide des mises en page dynamique . à partir du code
  • SQLite. collection d’assistants aux requêtes SQLite processus
  • Coroutines: Utilitaires basé sur la bibliothèque Kotlinx.Coroutines

Dans ce chapitre. Se concentrera sur le premier module et nous montrerons un exemple de ce qui suit.

Pour ajouter Anko à votre projet dans votre projet dans Build.Gradle (Project) Insérer:

buildscript { ext.ankoVersion = "0.10.8" … 

Dans Build.grade (Module) insère les éléments suivants:

implementation "org.jetbrains.anko:anko:$ankoVersion" 

Si vous voulez juste utiliser certaines fonctionnalités que vous pouvez utiliser:

// Funciones comunesimplementation "org.jetbrains.anko:anko-commons:$anko_version"// Layoutsimplementation "org.jetbrains.anko:anko-sdk25:$anko_version" implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"// SQLiteimplementation "org.jetbrains.anko:anko-sqlite:$anko_version"// Corutinasimplementation "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"implementation "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"

si vous utilisez une bibliothèque de compatibilité vous aurez besoin:

 // Appcompat-v7 (solo Anko Funciones comunes)implementation "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version" // Appcompat-v7 (Anko Layouts)implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"implementation "org.jetbrains.anko:anko-coroutines:$anko_version" // CardView-v7implementation "org.jetbrains.anko:anko-cardview-v7:$anko_version" // Designimplementation "org.jetbrains.anko:anko-design:$anko_version"implementation "org.jetbrains.anko:anko-design-coroutines:$anko_version" // GridLayout-v7implementation "org.jetbrains.anko:anko-gridlayout-v7:$anko_version" // Percentimplementation "org.jetbrains.anko:anko-percent:$anko_version" // RecyclerView-v7implementation "org.jetbrains.anko:anko-recyclerview-v7:$anko_version"implementation "org.jetbrains.anko:anko-recyclerview-v7-coroutines:$anko_version" // Support-v4 (solo Anko Funciones comunes)implementation "org.jetbrains.anko:anko-support-v4-commons:$anko_version" // Support-v4 (Anko Layouts)implementation "org.jetbrains.anko:anko-support-v4:$anko_version" // ConstraintLayoutimplementation "org.jetbrains.anko:anko-constraint-layout:$anko_version" 

fonctions communes

Ce module Anko intègre une série de fonctions d’extension qui simplifient la réalisation de certains Tâches c Omunes. Nous pouvons:
Attribuer un auditeur d’événement avec une méthode abrégée:

« bd28a152ef »>
sans anko

boton.setOnClickListener { … } 
avec anko

boton.onClick { … } 

Démarrer une activité avec supplémentaire:

val intent = Intent(this, Activid-ad::class.java)intent.putExtra("id", 5)intent.putExtra("nombre", "Juan")startActivity(intent) 
startActivi-ty<Actividad>("id" to 5, "nombre" to "Juan") 

Exécuter les plus intentions explicites communes:

browse("http://androidcurso.com")share("compartir", "asunto")email("[email protected]", "asunto", "correo") 

Afficher les dialogues d’ avertissement:

val builder = AlertDialog.Builder(this)builder.setTitle("Titulo")builder.setMessage("Mensaje")builder.setPositiveButton("OK") {…}build-er.setNegativeButton("Cancel"){…}builder.show() 
alert(Appcompat,"Titulo","Mensaje") { positiveButton("OK") {…} negativeButton("Cancel") {…}}.show() 

Afficher un Toast:

Afficher les dialogues snackbar:

Toast.makeText(this, "mensaje", Toast.LENGTH_SHORT).show() 
toast("Mensaje") 
longSnackbar(findViewById( android.R.id.content), "Men-saje") 

Obtenir le rapport de conversion entre DP et des pixels:

val dpAsPx = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 10f, getResources().getDisplayMetrics()) 
val dpAsPx = dip(10f) 

Ecrire du code conditionnel en fonction de la version du SDK:

if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP){…}if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){…} 
doIfSdk(Build.VERSION_CODES.LOLLIPOP){…}do-FromSdk(Build.VERSION_CODES.LOLLIPOP){} 

exécuter du code dans d’ autres threads:

Thread { run() { runOnUiThread { toast("ejecut. desde otro hilo") } }}.start() 
doAsync { uiThread { toast("ejecutado desde otro hilo") }} 

Le code à droite ne serait pas équivalent de 100%, étant donné que s E basée sur la classe Executor au lieu de discussion

Layouts

Ce module Anko vous permet d’insérer mises en page par le code dans le temps d’exécution, au lieu de les concevoir en XML:.

setContentView(R.layout.activity_main)verticalLayout { val nombre = editText() button("Escribe tu nombre") { onClick { toast("Hola, ${nombre.text}!") } }} 

Plus d’ infos: https://medium.com/@v.souhrada/introduction-to-anko-for-android-part-1-6178d536cbe6
Défi

Défi:. Utilisez Anko pour créer une mise en page

Essayez de Créez une mise en page d’Audiobooks en utilisant Anko au lieu de la conception de XML.
https://www.kotlindevelopment.com/why-should-use-anko/

Leave a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *