Das hier scheint nicht zu gehen, wenn ich "Import unambiguous … " sowie "Optimize imports … " ankreuze hat die Option „Optimize Imports“ nicht mehr und nicht weniger Funktionalität als vorher.
Man muss hier zwischen Dependencies und Imports unterscheiden.
Dependency ist eine Bibliothek (eine JAR, wenn Java), die sich beim Kompilieren oder Ausführen im „Classpath“ befinden muss. Allgemein muss die externe Bibliothek der Laufzeit bekannt sein.
Es gibt etliche Tools, wie gradle, ivy oder maven, dass genau diese Abhänigkeiten verwalten.
Importe: Das sind deklarationen in einem Java-Programm, die es erlauben „namespaces“ zu definieren. Klassen sind normalerweise in Pakete unterteilt, um eine gewisse Struktur in ein Programm zu bringen. Man kann also „MeineKlasse“ im Paket „de.marcinek.xyz.modul“ vorsehen. Dann müsste man diese mit de.marcinek.xyz.modul.MeineKlasse ansprechen. Damit das kürzer geht, kann mit einer import Anweisung sagen, dass man Klassen in dem jeweiligen Paket meint.
Bei dem TO geht es hier um letzteres.
Ich kenne Android-Studio nicht. Aber in dem von @jmar83 verlinkten Posting steht, dass man im Android-Studio automatisch importe organisieren kann beim Speichern.
Dafür in den EInstellungen einfach nach „import“ suchen. - Hilft das weiter?
" … dass man im Android-Studio automatisch importe organisieren kann beim Speichern."
Ja, oder auch ohne zusätzliches Speichern. Wobei es in den meisten Fällen aber sicher Sinn ergibt!
Eben wie gesagt, das Gleiche was Eclipse bei „Organize Imports“ macht…
Werde mal schauen ob ich was entsprechendes in den Android-Studio-Einstellungen finde.
Andernfalls werde ich halt bei jeder Verwendung einer Klasse à la java.lang.ZuVerwendenteKlasse in der Java-Doku nachschauen müssen in welchem Package sich diese denn befindet und oben mit import java.lang.ZuVerwendendeKlasse; importieren. Relativ mühsam, funktioniert aber.
Sowas gibt es bei IntelliJ/AndroidStudio nicht, hab ich am Anfang aber auch vermisst.
Du schreibst einfach deine Klasse, z.B. List list;
dann sollte er das rot markieren und in einem Tooltip anzeigen, dass du Alt+Enter drücken musst um den Import hinzu zu fügen.
Was auch geht, ist einfach nichts zu importieren und, in diesem Beispiel „list“, einfach zu verwenden indem du eine Methode schreibst. list.a
dann sollte er dir „add()“ als Autokorrektur anbieten, was du bestätigst und dann importiert er die Klasse auch automatisch.
wenn du bibliotheken importieren willst, dann musst das in deinem gradle.properties file (dependencies -> implementation) machen. Nach dem syncen sind neuen Klassen sofort und ohne zutun in AndroidStudio verfügbar.
Mit „offensichtlich“-logischer Denkweise oder gar Intuition kommt man da nicht weit - man muss es einfach wissen. (Wie bei vielen anderen Sachen sonst auch)