9 Stimmen

Wie man eine Android-Aktivität in mehrere Dateien aufteilt

In Android, a lot of functionality is in the Activity derived class. When an activity gets big (with many event handlers and such), the Java file can get large and very cluttered.

Is there a way to "break up" a Java class code file, like C# has the partial keyword?

2voto

Oren Punkte 4092

Kurze Antwort ? nein.

zitiert aus wikipedia

Der Sun Microsystems Java Compiler erfordert, dass der Dateiname einer Quelldatei mit der einzigen öffentlichen Klasse darin übereinstimmt, während C# mehrere öffentliche Klassen in derselben Datei zulässt und keine Beschränkungen hinsichtlich des Dateinamens auferlegt. C# 2.0 und später erlauben die Aufteilung einer Klassendefinition in mehrere Dateien durch Verwendung des Schlüsselworts "partial" im Quellcode. In Java wird eine öffentliche Klasse immer in ihrer eigenen Quelldatei sein. In C# sind Quellcodedateien und die Trennung von logischen Einheiten nicht eng miteinander verbunden.

Also, während Sie Ihr Design überarbeiten und einige Codes in Hilfsklassen verlagern können, um den Code zu entzerren, können Sie den Code einer einzelnen Klasse in Java nicht auf zwei Dateien aufteilen.

2voto

Nikolay Elenkov Punkte 52201

Wie andere bereits festgestellt haben, kannst du die tatsächliche Datei nicht aufteilen (ich sehe das als eine gute Sache an).

Du kannst viewbezogene Funktionalität in benutzerdefinierten Views und Fragments extrahieren. Alles andere (Businesslogik, Webzugriff, Datenbankzugriff, usw.) kann in 'Helfer'-Klassen sein, die du in deiner Aktivität verwendest. Obwohl Aktivitäten die God-Objekte in Android sind, musst du nicht alles innerhalb der eigentlichen Aktivitätsklasse schreiben. Sie sollte nur Sachen koordinieren und notwendige Rückrufe und Ereignisbehandler implementieren (die technisch gesehen auch in eigenen Klassen sein können).

0voto

No_Rulz Punkte 2679

Nein. Java-Quellcodes können nicht über mehrere Dateien aufgeteilt werden.

Von der http://en.wikipedia.org/wiki/Comparison_of_Java_and_C_Sharp

Der Java-Compiler von Sun Microsystems erfordert, dass der Dateiname einer Quelldatei mit der einzigen öffentlichen Klasse darin übereinstimmen muss, während C# das Zulassen mehrerer öffentlicher Klassen in derselben Datei erlaubt und keine Einschränkungen beim Dateinamen setzt. Ab C# 2.0 kann eine Klassendefinition in mehrere Dateien aufgeteilt werden, indem das Schlüsselwort "partial" im Quellcode verwendet wird. In Java wird eine öffentliche Klasse immer in ihrer eigenen Quelldatei sein. In C# sind Quellcodedateien und die Trennung logischer Einheiten nicht eng miteinander verbunden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X