Basic4android v1.2 enthält eine neue Art von Modulen, statische Code-Module.
Das Englische Originaltutorial.
Zum hinzufügen eines neuen Static Code-Moduls muß man im Menü Project - Add New Module - Code Module wählen.
Im Gegensatz zu Activities und Services, haben Code-Module keinerlei Zusammenhang mit Android Prozess Lebenszyklen. Sie sind nur Code-Behälter.
Alle Subs in diesen Modulen sind öffentlich (public) und können von anderen Modulen aufgerufen werden.
Benutzung von Code Modulen umfaßt:
- Vermeiden von doppeltem Code in mehreren Modulen.
- Gemeinsame Nutzung von Code zwischen Projekten. Zum Beispiel kann man ein Code-Modul erstellen, das eine XML-Datei analysiert. Später kann man problemlos das Modul in anderen Anwendungen wiederverwenden.
- Trennung von Anwendungslogik. Jedes Modul für eine bestimmte Aufgabe eingesetzt werden. Dadurch wird Ihr Programm übersichtlicher und einfacher zu pflegen.
Da ein Code-Module nicht an eine Activity weder auf ein Service gebunden ist, benutzt es den 'calling component context' wenn nötig.
Zum Beispiel der Aufruf einer Code-Modul Subroutine, die eine Msgbox aus einer Activity anzeigen soll, wird funktionieren. Allerdings, wenn man sie von einem Service aufruft, wird es scheitern da Services keine Dialogs anzeigen können.
Code-Module können keine Events abfangen.
Man kann aber in einem Code-Modul, zum Beispiel einen Button initialisieren:
Vom Activity Module kann man folgendes aufrufen:
Nun um das Click-Event abfangen zu können muß man eine Subroutine namens Button_Click erstellen.
Diese Subroutine muß sich im Activity Modul befinden, da Code-Module keine Events abfangen können.
CallSub verwendet intern den Event-Mechanismus kann deshalb nicht verwendet werden um Code-Modul Subroutinen aufzurufen (direkt können sie aber aufgerufen werden).
Das Englische Originaltutorial.
Zum hinzufügen eines neuen Static Code-Moduls muß man im Menü Project - Add New Module - Code Module wählen.
Im Gegensatz zu Activities und Services, haben Code-Module keinerlei Zusammenhang mit Android Prozess Lebenszyklen. Sie sind nur Code-Behälter.
Alle Subs in diesen Modulen sind öffentlich (public) und können von anderen Modulen aufgerufen werden.
Benutzung von Code Modulen umfaßt:
- Vermeiden von doppeltem Code in mehreren Modulen.
- Gemeinsame Nutzung von Code zwischen Projekten. Zum Beispiel kann man ein Code-Modul erstellen, das eine XML-Datei analysiert. Später kann man problemlos das Modul in anderen Anwendungen wiederverwenden.
- Trennung von Anwendungslogik. Jedes Modul für eine bestimmte Aufgabe eingesetzt werden. Dadurch wird Ihr Programm übersichtlicher und einfacher zu pflegen.
Da ein Code-Module nicht an eine Activity weder auf ein Service gebunden ist, benutzt es den 'calling component context' wenn nötig.
Zum Beispiel der Aufruf einer Code-Modul Subroutine, die eine Msgbox aus einer Activity anzeigen soll, wird funktionieren. Allerdings, wenn man sie von einem Service aufruft, wird es scheitern da Services keine Dialogs anzeigen können.
Code-Module können keine Events abfangen.
Man kann aber in einem Code-Modul, zum Beispiel einen Button initialisieren:
B4X:
Sub ButtonsCreator(Text As String) As Button
Dim b As Button
b.Initialize("Button")
b.Text = Text
Return b
End Sub
B4X:
Activity.AddView(CodeModule.ButtonsCreator("press here"), 10dip, 10dip, 200dip, 200dip)
Diese Subroutine muß sich im Activity Modul befinden, da Code-Module keine Events abfangen können.
CallSub verwendet intern den Event-Mechanismus kann deshalb nicht verwendet werden um Code-Modul Subroutinen aufzurufen (direkt können sie aber aufgerufen werden).