Ce jour-là, Xiao Wang a importé une bibliothèque, et une grande partie de celle-ci s'est écrasée immédiatement après sa mise en ligne ? Trouvez la question :
C'est quoi ce bordel ? Impossible d'utiliser Android 8.0 ? De cette façon, tous les téléphones mobiles lancés sous la version 8.0 sont tombés en panne. Après vérification, j'ai découvert que je devais activer le plug-in pour activer la prise en charge de Java Api
android { defaultConfig { multiDexEnabled true } compileOptions { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' }
Assurez-vous d'activer multiDexEnabled. Le principe est qu'un package dex distinct sera créé lors de la compilation pour effectuer un traitement de compatibilité.
// 日期 LocalDate today = LocalDate.now(); // 几号 int dayofMonth = today.getDayOfMonth(); // 星期几 int dayofWeek = today.getDayOfWeek().getValue(); // 今年 int dayofYear = today.getDayOfYear(); LocalDate endOfFeb = LocalDate.parse("2018-02-28"); // 取本月第1天: LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 取本月第2天: LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 取本月最后一天,再也不用计算是28,29,30还是31: LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 取下一天: LocalDate firstDayOfNextMonth = lastDayOfThisMonth.plusDays(1); // 取2017年1月第一个周一: LocalDate firstMondayOf2017 = LocalDate.parse("2017-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
List<widget> widgets = new ArrayList<>(); widgets.add(new widget(Color.RED, "Name", 1)); int sum = widgets.stream() .filter(w -> w.getColor() == Color.RED) .mapToInt(w -> w.getWeight()) .sum(); List<User> userList = Stream. of(arrayList). map(person -> new User(person.getName())). collect(Collectors.toList()); //peek 和map类似-但是他更强大-它对每个元素执行操作并返回一个新的 Stream Stream.of("one", "two", "three", "four") .filter(e -> e.length() > 3) .peek(e -> System.out.println("Filtered value: " + e)) .map(String::toUpperCase) .peek(e -> System.out.println("Mapped value: " + e)) .collect(Collectors.toList()); //limit 返回 Stream 的前面 n 个元素; //skip 则是扔掉前 n 个元素 List<String> personList2 = persons.stream() .map(Person::getName) .limit(10) .skip(3) .collect(Collectors.toList()); System.out.println(personList2);
Il a certains types d'opérateurs dans Kotlin Maintenant que les projets sont tous Kotlin, ce n'est généralement pas le cas. utilisé. C'est tout. Si vous êtes un ancien projet Java, j'espère que la collection de cartes de filtres pourra utiliser l'API de flux pour convertir facilement les données.
Lorsque le projet précédent était compilé, puisque notre code de compatibilité était écrit dans le build.gradle du sous-module, le module d'application serait fusionné avec succès après la compilation et il n'y aurait aucun problème d'exécution. Cependant, après la mise à niveau du projet vers AGP il y a quelque temps, l'API spécifiée ne peut pas être exécutée. Vous devez ajouter un bloc de code compatible au build.gradle de l'application du module en cours d'exécution pour l'exécuter.
... repositories { maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' } google() maven { url 'https://jitpack.io' } mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:7.0.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.8' } ...
app build.gradle doit être ajouté
android { defaultConfig { multiDexEnabled true } compileOptions { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!