android applikation für open journal systems
TRANSCRIPT
-
8/8/2019 Android Applikation fr Open Journal Systems
1/34
Android Applikation fr
Open Journal Systems
Bachelorarbeit
zur Erlangung des akademischen Grades Bachelor of Science
vorgelegt von
Philipp Leitner
Technische Universitt Graz
Institut fr Informationssysteme und Computer Medien
Betreuer: Dipl.-Ing. Dr. Ebner Martin
1. Dezember 2010
-
8/8/2019 Android Applikation fr Open Journal Systems
2/34
Erklrung
Hiermit versichere ich, dass ich die vorliegende Arbeit selbststndig verfasst
und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe,
dass alle Stellen der Arbeit, die wrtlich oder sinngem aus anderen Quellen
bernommen wurden, als solche kenntlich gemacht sind und dass die Arbeit
in gleicher oder hnlicher Form noch keiner Prfungsbehrde vorgelegt wur-
de.
Graz, den 1. Dezember 2010 Philipp Leitner
-
8/8/2019 Android Applikation fr Open Journal Systems
3/34
Inhaltsverzeichnis
Erklrung 1
Inhaltsangabe 3
Abbildungsverzeichnis 4
1 Abstract 5
2 Einfhrung 6
3 Open Journal Systems 7
3.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Einsatzgebiet . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Kritische Wrdigung . . . . . . . . . . . . . . . . . . . . . . . 9
4 Android 10
4.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Einsatzgebiet . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Kritische Wrdigung . . . . . . . . . . . . . . . . . . . . . . . 12
5 Entwurf 13
6 Umsetzung 14
6.1 Die Entwicklungsumgebung . . . . . . . . . . . . . . . . . . . 14
6.2 Die Schnittstelle zum Open Journal Systems . . . . . . . . . . 14
6.2.1 Kurze Einfhrung zum iPhoneGatewayPlugin . . . . . 146.3 Objektorientierte Programmierung . . . . . . . . . . . . . . . 15
6.4 Datenaustausch und Parsen der Informationen . . . . . . . . . 16
6.4.1 AsyncTask . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.4.2 Der SAXParser und die Handler . . . . . . . . . . . . . 18
6.5 Die Logic und das Graphical User Interface (GUI) . . . . . . . 19
6.5.1 Das Speichern und Laden der Einstellungen . . . . . . 19
6.5.2 Activity . . . . . . . . . . . . . . . . . . . . . . . . . . 20
-
8/8/2019 Android Applikation fr Open Journal Systems
4/34
6.5.3 Layout und View . . . . . . . . . . . . . . . . . . . . . 21
6.5.4 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.5.5 Das AndroidManifest . . . . . . . . . . . . . . . . . . . 23
7 Anwendungsbeispiel 24
7.1 Ein neues Journal hinzufgen . . . . . . . . . . . . . . . . . . 24
7.2 Navigieren durch die Journale . . . . . . . . . . . . . . . . . . 25
7.3 Den Abstract eines Artikels lesen . . . . . . . . . . . . . . . . 26
7.4 Die Dateien zu einem Artikel ansehen und ffnen . . . . . . . 27
7.5 Ein Journal aus der Liste entfernen . . . . . . . . . . . . . . . 28
8 Diskussion 29
9 Zusammenfassung und Ausblick 30
Literaturverzeichnis 33
-
8/8/2019 Android Applikation fr Open Journal Systems
5/34
Abbildungsverzeichnis
1 Weltkarte von Journalen, die Open Journal Systems verwenden 8
2 Android System Stack . . . . . . . . . . . . . . . . . . . . . . 11
3 Smartphone Kufe in den USA . . . . . . . . . . . . . . . . . 12
4 Aufbau zum objektorientierten Programmieren . . . . . . . . . 15
5 Communication Klassen-Diagramm . . . . . . . . . . . . . . . 16
6 Code-Auszug aus OJS for Android: Das Interface AsyncTask . 17
7 Code-Auszug aus OJS for Android: Der SAXParser . . . . . . 18
8 Code-Auszug aus OJS for Android: Der JournalHandler . . . . 18
9 Code-Auszug aus OJS for Android: Speichern der Journale . . 19
10 Code-Auszug aus OJS for Android: Laden von zuvor gespei-
cherten Journalen . . . . . . . . . . . . . . . . . . . . . . . . . 19
11 Code-Auszug aus OJS for Android: Activity, onCreate und
findViewById . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12 Code-Auszug aus OJS for Android: XML-Layout von UI zum
Hinzufgen eines neuen Journals . . . . . . . . . . . . . . . . . 21
13 Code-Auszug aus OJS for Android: XML-Datei von Artikel-
Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2214 Code-Auszug aus OJS for Android: onCreateOptionsMenu . . 22
15 Code-Auszug aus OJS for Android: onOptionsItemsSelected . 22
16 Code-Auszug aus OJS for Android: Das AndroidManifest . . . 23
17 Ein neues Journal hinzufgen . . . . . . . . . . . . . . . . . . 24
18 Navigieren durch die Journale . . . . . . . . . . . . . . . . . . 25
19 Den Abstract eines Artikels lesen . . . . . . . . . . . . . . . . 26
20 Die Dateien zu einem Artikel ansehen und ffnen . . . . . . . 27
21 Ein Journal aus der Liste entfernen . . . . . . . . . . . . . . . 28
-
8/8/2019 Android Applikation fr Open Journal Systems
6/34
1 Abstract
Open Journal Systems (OJS) ist eine Open-Source-Software zur Verwaltung
und Verffentlichung von Zeitschriften (Journalen). OJS wurde entwickelt
und verffentlicht vom Public Knowledge Project und wird von vielen Open
Access Journalen verwendet [11].
Android ist ein auf Linux und Java basierendes Betriebssystem fr Smartpho-
nes, welches von der Open Handset Alliance entwickelt wurde und steht unter
der freien Apache-Lizenz. Der Suchmaschinen-Riese Google steht besonders
hinter diesem Projekt und betreibt die grte Verkaufs- und Downloadplatt-
form fr Android-Applikationen (Android Market). Weiters legt der Anteil
der Android basierenden Smartphone immer weiter zu. Er ist seit dem vier-
ten Quartal 2009 bis zum zweiten Quartal 2010 auf dem US-Markt von 6%
auf 27% angestiegen [7].
Diese Arbeit befasst sich mit der Verbindung der beiden aufsteigenden Pro-
dukte in der Theorie sowie in der Praxis. Es wird eine Applikation entwickelt,
die es ermglicht auf Journale, Artikel und Inhalte sowie weitere relevanteInhalte von OJS zuzugreifen, diese dem Benutzer mittels einer grafischen
Oberflche (GUI) auf einem Smartphone mit Android Betriebssystem leicht
zugnglich zu machen und Kommentare ber dieses abgeben zu knnen.
In der Arbeit wird im Speziellen auf die programmiertechnische Umsetzung
eingegangen als auch anhand von Anwendungsbeispielen das Programm n-
her gebracht.
-
8/8/2019 Android Applikation fr Open Journal Systems
7/34
2 Einfhrung
Smartphones sind leistungs- und internetfhige Mobiltelefone mit dem zu-
stzlichen Funktionsumfang eines Personal Digital Assistant (PDA) und der
Mglichkeit individuelle Programme (Applikationen) auszufhren [24]. Der
Trend zum eigenen Smartphone steigt und so ist auch die Nachfrage nach
passenden Applikationen gro [23].
Da das Android Betriebssystem zukunftsweisend auf diesem Bereich ist, hat
man sich entschlossen eine Applikation dafr zu entwickeln, welche eine Ver-
bindung zu Open Journal Systems vom Public Knowledge Project, einem on-
line Verwaltungs- und Publizierungssystem, herstellt. Damit soll der Zugriff
auf derartige Systeme mit internetfhigen Mobiltelefonen ermglicht werden
[5].
In den nchsten zwei Kapitel werden Open Journal Systems und das Be-
triebssystem Android genauer erklrt, ihre Entwicklung, ihren Einsatz und
wie die Vor- und Nachteile aussehen.
Kapitel 4 beschftigt sich mit dem Entwurf und dem Aufbau der Arbeit. Die
Umsetzung der Applikation wird in Kapitel 5 errtert, dabei wird genauer
auf die Punkte des Entwurfs eingegangen. Es wird auch die Wahl der Ent-
wicklungsumgebung und die Auswahl des Plugins behandelt. Ebenso wird die
Idee des objektorientierten Programmierens kurz diskutiert. Schlussendlich
wird dieses Kapitel mit Auszgen und Erluterungen zum Programmiercode
abgerundet.
Wie die fertige Applikation verwendet wird, steht mit Beispielen erklrt in
Kapitel 6. Die beiden Kapitel 7 und 8 geben zum Schluss noch einmal eine
kurze Zusammenfassung, diskutieren Aufflligkeiten, Probleme und geben
einen Ausblick.
-
8/8/2019 Android Applikation fr Open Journal Systems
8/34
3 Open Journal Systems
3.1 Geschichte [9]
Das Public Knowledge Project (PKP) wurde 1998 von John Willinsky in
der Abteilung fr sprachliche und literarische Bildung in der pdagogischen
Fakultt der University of British Columbia (UBC) eingeleitet. Es entstand
aus Willinskys Werk ber the history of publishing and on postcolonial stu-
dies, sowie aus seinen Erfahrungen im Bereich der Entwicklung von bildender
Software bei dem Unternehmen Knowledge Architecture.
Die erste Public Knowledge Project Software wurde 2001 herausgebracht
und unter der technischen Leitung von Kevin Jamieson wurde mit der Ent-
wicklung der Projekte Open Journals Systems, Open Conference Systems
und PKP Harvester unter der GNU GPL Open Source Lizenz begonnen.
Im Jahr 2002 wurde Open Journal Systems als ein Meilenstein der Open
Access Bewegung hinzugefgt. Um die Entwicklung, Aufrechterhaltung und
Verbesserung der Software und dem Support fr Online- und Open Access
Publishing von PKP zu verbessern, schlossen sich Willinsky, Lynn Copeland(Universitts Bibliothekar der SFU Library) und Rowly Lormier (Direktor
des Canadian Centre for Studies in Publishing) im Jahr 2005 zusammen.
Im Jahr 2007 wurde die erste Konferenz mit internationaler Beteiligung von
PKP abgehalten und dessen Ergebnisse in der Spezialausgabe im Oktober
2007 von First Monday publiziert. Auerdem nahm Willinsky die Position
als Professor for Education an der Stanford University an und gab somit
PKP einen vierten Sitz neben der SFU Library, SFUs Canadian Centre ofStudies in Publishing und UBCs Faculty of Education.
3.2 Beschreibung
Open Journal Systems (OJS) ist ein Publizierungs- und Verwaltungssystem,
welches von Public Knowledge Projekt (PKP) durch staatlich gefrderte
Manahmen zur Ausweitung und Verbesserung des Zugangs zu Forschung
-
8/8/2019 Android Applikation fr Open Journal Systems
9/34
entwickelt wurde. Das System wurde zur lokalen Installation und Betrieb
konzipiert und erfordert minimale technische Fhigkeiten und Ausstattung.
Open Journal Systems ist bereits in der Version 2.x (zum Zeitpunkt der
Arbeit in stable 2.2.4 und development 2.3.2) vorhanden. Neben OJS gibt
es noch andere Open Source Journal Verwaltungs- und Publizierungssyste-
me, wie DpubsS, GAPworks, Hyperjournal, ePublishing Toolkit, OpenACS,
SOPS und TOPAZ [11].
3.3 Einsatzgebiet
Open Journal Systems wird in akademischen Einrichtungen rund um die
Welt eingesetzt. Die Aufteilung wird durch die Weltkarte in Abb. 1 veran-
schaulicht, auf der die Journale, die Open Journal Systems verwenden, pro
Kontinent eingezeichnet sind [10]. Im Juli 2010 waren 6600 Journals auf der
Seite des Public Knowledge Project gelistet, was jedoch nur einen Teil dar-
stellt, da fr dies eine Registrierung notwendig ist [13].
Abb. 1: Weltkarte von Journalen, die Open Journal Systems verwenden [10]
-
8/8/2019 Android Applikation fr Open Journal Systems
10/34
3.4 Kritische Wrdigung
Open Journal Systems kann sehr leicht installiert und verwaltet werden. Es
besitzt eine hervorragende Rollenaufteilung und bereits etliche Plugins mit
den unterschiedlichsten Funktionalitten. Die gute Dokumentation geht auch
auf schwer verstndliche Teile detaillierter ein.
Da OJS stndig weiterentwickelt wird und die Software unter der GNU GPL
V2 frei verwendet und modifiziert werden kann, ist sie fr die Zukunft sehr
interessant. Zustzlich stehen viele Tutorials und andere Hilfestellungen auf
der Webseite der PKP bereit [8].
-
8/8/2019 Android Applikation fr Open Journal Systems
11/34
4 Android
4.1 Geschichte
Das Unternehmen Android in Palo Alto, Californien/USA, von dem nicht
mehr bekannt war, als dass es Software fr Mobiltelefone entwickelte, wurde
im Jahr 2003 gegrndet. Die Erfolgsgeschichte beginnt jedoch erst 22 Monate
spter, im Juli 2005, mit dessen stiller bernahme durch Google und dem
Start der Entwicklung der Android Plattform. Die wichtigsten Mitarbeiter
bei Android waren Andy Rubin, Rich Miner, Nick Sears and Chris White
[1][4].
Ende 2007 wurde rund um die Android Plattform die Open Handset Al-
liance gegrndet. Einige der prominentesten Mitglieder sind T-Mobile, Mo-
torola, Samsung, Sony Ericson, Toshiba, Vodafone, Intel, Texas Instrument
und Google. Die Ziele dieser Allianz sind schnelle Innovationen und besseres
Reagieren auf Kundenwnsche [1].
Am 12. November 2007 verffentlichte Google eine Vorabversion des Android-
SDK (Sourcecode Development Kit), einer Entwicklungsumgebung fr die
Android-Plattform. Die positive Reaktion darauf verdeutlicht, wie gro das
Interesse der Entwickler und der Hersteller an einer offenen Plattform fr
Embedded Systems mittlerweile ist [2].
Im September 2008 ist das erste auf Android basierende Mobiltelefon von
T-Mobile auf den Markt gekommen und kurz darauf, im Oktober 2008, wur-
de die Android SDK Release Candidate 1.0 und dessen Source Code (unter
der Apache Open Source) der ffentlichkeit zugnglich gemacht. Seit damalswerden in regelmigen Abstnden neue Versionen verffentlicht [1].
4.2 Beschreibung
Android stellt eine umfassendes Gesamtsystem, den Android System Stack
(siehe Abb. 2), fr die Entwickler von mobilen Applikationen zur Verf-
gung. Als Basis dient ein Linux Kernel in der Version 2.6, der eine Hard-
-
8/8/2019 Android Applikation fr Open Journal Systems
12/34
ware Abstraktionsschicht sowie Speichermanagement, Prozessmanagement,
Sicherheitsmodell und eine Netzwerk-Schnittstelle bereitstellt [6].
Abb. 2: Android System Stack [22]
Die meisten Applikationen unter Android werden in Java entwickelt und
ausgefhrt durch die Dalvik Virtual Machine, welche darauf ausgelegt wurde
viele Instanzen der Virtual Machine effizient bereitzustellen. Die Android Li-
braries wie OpenGL, WebKit, FreeType, Secure Socket Layer (SSL), SQLite,
Media und die C Runtime Library sind in C/C++ geschrieben, knnen aber
mittels Java-Schnittstelle angesprochen werden. Jede Java Applikation, die
auf diese Libraries zugreift, bekommt ihre eigene Virtual Machine. Momentan
ist die Version 2.2 von der Android Plattform verfgbar [1].
4.3 Einsatzgebiet
Ursprnglich war Android als Plattform fr Mobiltelefone konzipiert, in-
zwischen findet man es auf einer Vielzahl verschiedener Gertetypen, vom
Tablet-PC und Netbooks bis hin zu Home-Entertainment und Auto-Infotainment
-
8/8/2019 Android Applikation fr Open Journal Systems
13/34
[2].
Wie in Abb. 3 sichtbar, legt Android seit dem vierten Quartal 2009 einen
geradzu kometenhaften Aufstieg hin, damals waren gerade mal 6% aller neu
erworbenen Smartphones in den USA mit Android ausgestattet. Im zweiten
Quartal 2010 waren es bereits 27% [7].
Abb. 3: Smartphone Kufe in den USA [7]
4.4 Kritische Wrdigung
Der groe Vorteil an Android liegt sicherlich darin, dass es auf der einen
Seite von einer groen Allianz (Open Handset Allianz) entwickelt wird und
auf der anderen Seite unter der freien Apache-Lizenz jedem zur Verfgung
steht. Der Suchmaschinen-Riese Google steht besonders hinter diesem Pro-
jekt und betreibt die grte Verkaufs- und Downloadplattform fr Android-
Applikationen (Android Market). Jedoch steigen durch das groe Interesse
auch die Probleme, so gibt es bereits die ersten Android-Trojaner [3].
-
8/8/2019 Android Applikation fr Open Journal Systems
14/34
5 Entwurf
Open Journal Systems for Android soll es ermglichen Open Journals auf
Android Betriebssystemen herunterzuladen und grafisch darzustellen. Dafr
soll zunchst die Erfllung der folgenden Anforderungen umgesetzt werden:
Es muss eine geeignete Entwicklungsumgebung gefunden werden.
Damit auf die Daten von Open Journal Systems zugegriffen werden
kann, soll eine passende Schnittstelle ermittelt werden.
Es soll ein ressourscensparender Datenaustausch zwischen Applikationund Server hergestellt und dabei die Wartezeiten, die durch den Daten-
transfer entstehen, fr den User so kurz wie mglich gehalten werden.
Da die Applikation in Java geschrieben wird, soll diese objektorientiert
programmiert sein.
Die Informationen sollen ausgelesen und in passende Objekte umge-
wandelt werden.
Das grafische User-Interface soll simple und selbsterklrend sein und
dennoch den gesamten Inhalt von Open Journals widergeben.
Es soll eine strikte Abkapselung von der Interaktion mit dem Server
und dem grafischen User-Interface geben.
Bereits hinzugefgte Journale sollen beim erneuten Applikationsstart
wieder vorhanden sein.
-
8/8/2019 Android Applikation fr Open Journal Systems
15/34
6 Umsetzung
In diesem Kapitel wird die prototypische Umsetzung einer Applikation zur
grafischen Darstellung eines OJS Journals auf einem Android Betriebsystem
beschrieben.
6.1 Die Entwicklungsumgebung
Fr die Umsetzung der Applikation wurde das Android Standard Develop-
ment Toolkit (Android SDK) v0.9.7 Revision 6 verwendet. Als Entwicklungs-
umgebung diente Eclipse (Galileo) mit der Version 3.5.1 und dem PluginAndroid Development Tools (ADT), welches es auf einfache Art ermglicht,
Android Applikationen komfortabel zu erstellen und zu testen. Damit die
Applikation auch mit lteren Android Plattformen funktioniert, wurde sie
fr die Android 1.5 Plattform geschrieben und getestet.
6.2 Die Schnittstelle zum Open Journal Systems
Als Schnittstelle zum Open Journal System wurde das iPhoneGatewayPlu-
gin verwendet, welches einen groen Teil der gewnschten Fhigkeiten, dieim Enwurf fr Open Journal Systems for Android festgehalten sind, bein-
haltet. Zur Zeit der Entwicklung der Applikation steckte das Plugin noch
in seinen Anfngen, jedoch konnte das alernative METS-Gateway-Plugin[12]
sich, wegen seiner eingeschrnkten Mglichkeiten, nicht durchsetzen.
6.2.1 Kurze Einfhrung zum iPhoneGatewayPlugin
Das iPhone-Plugin wird nach dem Download in den Gateway-Ordner ent-
packt und muss nun noch in der Zeitschriftenverwaltung unter Plugins ein-geschaltet werden. Das Plugin ist in mehrere Teile aufgeteilt, sodass man
ressourcensparend die gewnschten Informationen in XML-Form herunterla-
den kann:
JournalURL/gateway/plugin/iPhoneGatewayPlugin/journalenthlt die Da-
ten zum Journal, wie den Namen, die Version und die Titel der Journale.
-
8/8/2019 Android Applikation fr Open Journal Systems
16/34
JournalURL/gateway/plugin/iPhoneGatewayPlugin/issuesenthlt die Da-
ten zu den Ausgaben der Journale, wie ID, Title, Beschreibung, URI, Termin, Band,Nummer und Jahr.
JournalURL/gateway/plugin/iPhoneGatewayPlugin/sections/*enthlt die
Daten zu einer Kategorie von einer Ausgabe, wobei der * durch die ID der Ausga-
be ersetzt wird. Die Daten enthalten unter anderem den Titel der Kategorie sowie
deren Artikel mit dessen ID, Titel, Autor, Sprache, Abstrakt und URL zu dessen
Dateien.
JournalURL/gateway/plugin/iPhoneGatewayPlugin/comments/*enthlt
die Kommentare die zu einem Artikel abgeben wurden, wobei * mit der Artikel-ID
ersetzt wird.
6.3 Objektorientierte Programmierung
Die Applikation sollte, soweit mglich, objektorientiert programmiert wer-
den. Dies verdeutlicht das Klassendiagramm in Abb. 4, das die Klassen Jour-
nal, Issue, Section, Article, Author, File und Comment beinhaltet.
Abb. 4: Aufbau zum objektorientierten Programmieren
-
8/8/2019 Android Applikation fr Open Journal Systems
17/34
6.4 Datenaustausch und Parsen der Informationen
Die Klasse Communication, welche in der Abb. 5 als Klassendiagramm ab-
gebildet ist, dient zur Kommunikation mit dem Server. Sie erweitert die ab-
strakte Klasse AsyncTaskund kann somit im Hintergrund alle ntigen Daten
herunterladen. Die bentigten Daten werden mittels Apaches-HttpGet ber
das iPhoneGatewayPluginvon Open Journal Systems als XML geholt, von ei-
nem SAXParser geparst und an den entsprechenden Handler weitergegeben,
der aus den Informationen die Objekte erstellt und in das Journal einfgt.
Abb. 5: Communication Klassen-Diagramm
-
8/8/2019 Android Applikation fr Open Journal Systems
18/34
6.4.1 AsyncTask
Der AsyncTask - ein Code-Auszug ist abgebildet in Abb. 6 - ermglicht es
mittels eigenem Thread im Hintergrund Operationen durchzufhren, ohne
dabei den User-Interface-Thread zu stren. Somit ist er dazu geeignet Daten
aus dem Internet zu laden und diese an den User-Interface-Thread zu ber-
mitteln, ohne ihn dabei manipulieren zu mssen.[16]
Abb. 6: Code-Auszug aus OJS for Android: Das Interface AsyncTask
-
8/8/2019 Android Applikation fr Open Journal Systems
19/34
6.4.2 Der SAXParser und die Handler
Der SAXParser kann von den unterschiedlichsten Quellen XML parsen, in
diesem Fall von einer InputSource (siehe Abb. 7). Durch das synchrone Dow-
nloaden und Einlesen der Daten, knnen diese schnell verarbeitet und dem
Benutzer prsentiert werden. Dem Parser wird die Quelle und ein Handler
(siehe Abb. 8) bergeben, der die Daten weiterverarbeitet [18].
Abb. 7: Code-Auszug aus OJS for Android: Der SAXParser
Abb. 8: Code-Auszug aus OJS for Android: Der JournalHandler
-
8/8/2019 Android Applikation fr Open Journal Systems
20/34
6.5 Die Logic und das Graphical User Interface (GUI)
Die Logic bernimmt die Steuerung aller nicht netzwerkbedingter Arbeiten,
welche die Applikation verichten muss. So ist diese zum Beispiel fr das Spei-
chern und Laden der Einstellungen sowie fr den Input vom User-Interface
verantwortlich. Das grafische User Interface erweitert eine Activity, diese wird
mittels Layout und View sowie den Menus generiert. Als letzter Punkt ist
auch noch das AndroidManifest zu nennen, welches wichtige Informationen
enthlt, die das System noch vor dem Programmcode bentigt damit die
Applikation reibungslos ablaufen kann.
6.5.1 Das Speichern und Laden der Einstellungen
Fr das Speichern und Laden von Einstellungen bietet Android das Interface
SharedPreferences an. Mit diesem lassen sich leicht gewnschte Daten sichern
und beim nchsten Starten wieder laden. Abb. 9 und 10 zeigen Code-Auszge
die fr das Speichern und Laden der Journale verantwortlich sind [19].
Abb. 9: Code-Auszug aus OJS for Android: Speichern der Journale
Abb. 10: Code-Auszug aus OJS for Android: Laden von zuvor gespeicherten
Journalen
-
8/8/2019 Android Applikation fr Open Journal Systems
21/34
6.5.2 Activity
Nahezu jede Activity-Klasse (Abb. 11) interagiert mit dem Benutzer. Sie ist
dafr verantwortlich ein Fenster fr das User-Interface zu erstellen. Ein wich-
tiger Bestandteil ist, das fr das Initialisieren zustndige onCreate(Bundle).
Dabei wird durch setContentView(int) und findViewById(int) mittels Layout-
Ressource, einer XML-Datei die das Layout enthlt, das User-Interface definiert.[14]
Abb. 11: Code-Auszug aus OJS for Android: Activity, onCreate und find-
ViewById
-
8/8/2019 Android Applikation fr Open Journal Systems
22/34
6.5.3 Layout und View
Das Layout ist fr die Struktur und Anordnung der dem Benutzer vorge-
fhrten Elemente (Views) zustndig. Das Android-Framework bietet dabei
die Mglichkeit es mittels XML-Datei und/oder zur Laufzeit zu erstellen.
Der Vorteil an einer Deklaration mittls XML liegt an einer besseren Tren-
nung zwischen Prsentation der Applikation und dem Code der ihr Verhalten
steuert - Abb. 12 zeigt eine solche XML-Datei.[20]
Abb. 12: Code-Auszug aus OJS for Android: XML-Layout von UI zum Hin-
zufgen eines neuen Journals
Die dabei verwendeten Views nehmen einen rechteckigen Bereich vom
Bildschirm ein und sind fr dessen Aufbau und Ereignisse verantwortlich. Es
gibt viele verschiedene spezialisierte Unterklassen von Views die als Steuer-elemente oder zum Anzeigen von Text (z.B.: TextView), Bildern (z.B.: Image-
View) oder anderen Inhalten (z.B.: WebView) dienen [21].
-
8/8/2019 Android Applikation fr Open Journal Systems
23/34
6.5.4 Menu
Jede Activity untersttzt standardmig ein Option-Menu Interface. Dieses
enthlt Eintrge, kann Klicks auf diesen erfassen und Aktionen ausfhren.
Das Menu wird mittels einer XML-Datei (Abb. 13) und onCreateOptions-
Menu(Menu menu) (Abb. 14) eingebunden. Um auf die Selektion eines Ein-
trags reagieren zu knnen, wird onOptionsItemsSelected(MenuItem) einge-
setzt (Abb. 15) [17].
Abb. 13: Code-Auszug aus OJS for Android: XML-Datei von Artikel-Menu
Abb. 14: Code-Auszug aus OJS for Android: onCreateOptionsMenu
Abb. 15: Code-Auszug aus OJS for Android: onOptionsItemsSelected
-
8/8/2019 Android Applikation fr Open Journal Systems
24/34
6.5.5 Das AndroidManifest
Das AndroidManifest ist fixer Bestandteil jeder Android Applikation. Es be-
schreibt die Komponenten der Applikation, erklrt welche Berechtigungen
sie haben muss, um Zugriff auf geschtzte Teile der API zu erlangen oder
mit anderen Anwendungen zu interagieren. Das AndroidManifest legt unter
anderem fest, welche Mindestversion die Android-API aufweisen muss und
welche Bibliotheken die Applikation bentigt. Abb. 16 zeigt das AndroidMa-
nifest von der Open Journal Systems for Android Applikation [15].
Abb. 16: Code-Auszug aus OJS for Android: Das AndroidManifest
-
8/8/2019 Android Applikation fr Open Journal Systems
25/34
7 Anwendungsbeispiel
Auf den folgenden Seiten werden die Hauptfunktionen des Programms an-
hand von Screenshots dargestellt und erklrt.
7.1 Ein neues Journal hinzufgen
Durch Bettigen der Menu-Taste kann auf der Seite mit den Journal-Listen
das Men ausgeklappt werden (Abb. 17(a)). Per Auswahl des New-Buttons
erscheint ein Eingabe-Screen (Abb. 17(b)). Mittels Eingabe einer URL und
dem Drcken des Subscribe-Buttons, wird ein neues Journal hinzugefgt.
(a) Journal-Liste mit Men (b) Eingabe-Screen fr ein
neues Journal
Abb. 17: Ein neues Journal hinzufgen
-
8/8/2019 Android Applikation fr Open Journal Systems
26/34
7.2 Navigieren durch die Journale
Die Navigation in der Journal-Liste ist simpel aufgebaut. Durch die Auswahl
von einem Journal in der Journal-Liste (Abb. 18(a)) werden alle Ausgaben
dieses Journals aufgelistet (Abb. 18(b)). Mittels Selektion einer Ausgabe ak-
tualisiert sich die Applikation und die Liste mit den Kategorien der Ausgabe
wird angezeigt (Abb. 18(c)). Per Wahl einer Kategorie wird ein Angebot an
Artikeln angezeigt (Abb. 18(d)).
(a) (b)
(c) (d)
Abb. 18: Navigieren durch die Journale
-
8/8/2019 Android Applikation fr Open Journal Systems
27/34
-
8/8/2019 Android Applikation fr Open Journal Systems
28/34
7.4 Die Dateien zu einem Artikel ansehen und ffnen
Bei vielen der Artikel gibt es den kompletten Artikel als pdf- oder doc-Datei.
Durch bettigen der Menu-Taste kann auf der Seite mit dem Abstract ei-
nes Artikels das Men ausgeklappt werden (Abb. 20(a)). Per Klick auf File
oder Suppfile wird eine Liste mit den Dateien angezeigt (Abb. 20(b)). Durch
Auswahl einer Datei wird diese heruntergeladen und geffnet, sofern auf dem
Android eine Applikation vorhanden ist, die das Format der Datei unter-
sttzt.
(a) Abstract eines Artikels mit
Men
(b) Dateien eines Artikels
Abb. 20: Die Dateien zu einem Artikel ansehen und ffnen
-
8/8/2019 Android Applikation fr Open Journal Systems
29/34
7.5 Ein Journal aus der Liste entfernen
Um ein Journal aus der Journal-Liste zu entfernen, bettigt man den Journal-
eintrag zwei Sekunden (Abb. 21(a)). Auf dem sich ffnenden Dialog-Fenster
lsst sich durch Auswahl des Yes-Buttons das Journal lschen, bei No bleibt
das Journal erhalten (Abb. 21(b)).
(a) Journal-Liste (Hauptseite) (b) Dialog der Abfragt ob das
Journal gelscht werden soll
Abb. 21: Ein Journal aus der Liste entfernen
-
8/8/2019 Android Applikation fr Open Journal Systems
30/34
-
8/8/2019 Android Applikation fr Open Journal Systems
31/34
9 Zusammenfassung und Ausblick
Mit der vorliegenden Arbeit zu dem Thema Open Journal Systems for An-
droid und der daraus entstandenen Applikation, hoffe ich einen Beitrag zu
OJS und Android geleistet zu haben.
Die Arbeit beinhaltet neben dem theoretischen Rahmen zu Open Journal
Systems und Android auch eine Dokumentation wichtiger Programmierteile
sowie ein Anwendungsbeispiel. Durch die Darstellung der technischen Mg-
lichkeiten beider Software-Produkte sowie das damit verbundene Potential
und die zuknftige enorme Relevanz durch deren Verbreitung im Bereich der
mobilen Kommunikation bzw. der mobilen Anwendungsvielfallt, scheint eine
weitere Entwicklung ntig. Die Applikation steht jedem zur freien Verfgung
http://ojs-android.dyndns.org und kann somit gem GNU-Lizenz wei-
terentwickelt werden.
Da die Verbreitung und Verbesserung von Smartphones (mit, aber auch ohne
Android Betriebsystem) stetig zu nimmt, wird die zuknftigen Entwicklun-
gen in diesem Bereich eine wichtige Rolle spielen [23]. Dank der TUGraz,dem Institut fr Informationssysteme und Computer Medien und meinem
Betreuer, Dipl.-Ing. Dr. Ebner Martin, hatte ich die Mglichkeit hierzu einen
Beitrag zu leisten.
http://ojs-android.dyndns.org/http://ojs-android.dyndns.org/ -
8/8/2019 Android Applikation fr Open Journal Systems
32/34
Literaturverzeichnis
[1] Sayed Bashimi, Satya Komatineni, and Dave MacLean. Pro Android 2.
2010. Seite 3ff.
[2] Arno Becker and Marcus Pant. Android 2 Grundlagen der Programmie-
rung. Auflage 2. 2010. Vorwort.
[3] Michael Bning. Erster android-trojaner verschickt heimlich sms. Han-
dy News. http://www.handy-news.at/betriebssysteme/android/
erster-android-trojaner-verschickt-heimlich-sms-1122.
html(2010-08-12).
[4] Ben Elgin. Google buys android for its mobile arsenal. Businessweek On-
line. http://www.businessweek.com/print/technology/content/
aug2005/tc20050817_0949_tc024.htm?chan=tc (2005-08-17).
[5] Lukasz Konieczny. Gehrt android wirklich die zukunft? http:
//mobile360.de/gehoert-android-wirklich-die-zukunft-11731.
html(2010-05-17).
[6] Heiko Mosemann and Matthias Kose. Android. 2009. Seite 5ff.
[7] Andreas Proschofsky. Android zieht dank rasantem wachstum am ipho-
ne vorbei. der Standard. http://derstandard.at/1277339469037/
Wettlauf-Android-zieht-dank-rasantem-Wachstum-am-iPhone-vorbei(2010-
08-03).
[8] unknown. Downloading open journal systems. http://pkp.sfu.ca/
ojs_download (2010-08-01).
[9] unknown. History. http://pkp.sfu.ca/history (2010-08-01).
[10] unknown. Journals using open journal systems by continent. http:
//pkp.sfu.ca/ojs-geog (2010-08-01).
[11] unknown. Open journal systems. http://pkp.sfu.ca/ojs (2010-08-
01).
http://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.htmlhttp://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.htmlhttp://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.htmlhttp://www.businessweek.com/print/technology/content/aug2005/tc20050817_0949_tc024.htm?chan=tchttp://www.businessweek.com/print/technology/content/aug2005/tc20050817_0949_tc024.htm?chan=tchttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://derstandard.at/1277339469037/Wettlauf-Android-zieht-dank-rasantem-Wachstum-am-iPhone-vorbeihttp://derstandard.at/1277339469037/Wettlauf-Android-zieht-dank-rasantem-Wachstum-am-iPhone-vorbeihttp://pkp.sfu.ca/ojs_downloadhttp://pkp.sfu.ca/ojs_downloadhttp://pkp.sfu.ca/historyhttp://pkp.sfu.ca/ojs-geoghttp://pkp.sfu.ca/ojs-geoghttp://pkp.sfu.ca/ojshttp://pkp.sfu.ca/ojshttp://pkp.sfu.ca/ojs-geoghttp://pkp.sfu.ca/ojs-geoghttp://pkp.sfu.ca/historyhttp://pkp.sfu.ca/ojs_downloadhttp://pkp.sfu.ca/ojs_downloadhttp://derstandard.at/1277339469037/Wettlauf-Android-zieht-dank-rasantem-Wachstum-am-iPhone-vorbeihttp://derstandard.at/1277339469037/Wettlauf-Android-zieht-dank-rasantem-Wachstum-am-iPhone-vorbeihttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://mobile360.de/gehoert-android-wirklich-die-zukunft-11731.htmlhttp://www.businessweek.com/print/technology/content/aug2005/tc20050817_0949_tc024.htm?chan=tchttp://www.businessweek.com/print/technology/content/aug2005/tc20050817_0949_tc024.htm?chan=tchttp://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.htmlhttp://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.htmlhttp://www.handy-news.at/betriebssysteme/android/erster-android-trojaner-verschickt-heimlich-sms-1122.html -
8/8/2019 Android Applikation fr Open Journal Systems
33/34
[12] unknown. Open journal systems: Metsgatewayplugin class reference.
http://pkp.sfu.ca/ojs/doxygen/html/classMETSGatewayPlugin.
html(2008-07-14).
[13] unknown. A sample of journals using open journal systems. http:
//pkp.sfu.ca/ojs-journals (2010-08-01).
[14] unknown. Activity. Android Developers. http://developer.android.
com/reference/android/app/Activity.html(2010-08-05).
[15] unknown. The androidmanifest.xml file. Android Devel-
opers. http://developer.android.com/guide/topics/manifest/
manifest-intro.html(2010-08-05).
[16] unknown. Asynctask. Android Developers. http://developer.
android.com/reference/android/os/AsyncTask.html(2010-08-05).
[17] unknown. Menu. Android Developers. http://developer.android.
com/reference/android/view/Menu.html(2010-08-05).
[18] unknown. Saxparser. Android Developers. http://developer.android.com/reference/javax/xml/parsers/SAXParser.html(2010-
08-05).
[19] unknown. Sharedpreferences. Android Developers. http://developer.
android.com/reference/android/content/SharedPreferences.
html(2010-08-05).
[20] unknown. User interface. Android Developers. http://developer.
android.com/guide/topics/ui/index.html#Layout(2010-08-05).
[21] unknown. View. Android Developers. http://developer.android.
com/reference/android/view/View.html(2010-08-05).
[22] unknown. What is android? Android Developers. http://developer.
android.com/guide/basics/what-is-android.html(2010-08-05).
[23] unknown. Smartphone-markt wchst um 50 prozent. Heise Zeit-
schriften Verlag. http://www.heise.de/newsticker/meldung/
http://pkp.sfu.ca/ojs/doxygen/html/classMETSGatewayPlugin.htmlhttp://pkp.sfu.ca/ojs/doxygen/html/classMETSGatewayPlugin.htmlhttp://pkp.sfu.ca/ojs-journalshttp://pkp.sfu.ca/ojs-journalshttp://developer.android.com/reference/android/app/Activity.htmlhttp://developer.android.com/reference/android/app/Activity.htmlhttp://developer.android.com/guide/topics/manifest/manifest-intro.htmlhttp://developer.android.com/guide/topics/manifest/manifest-intro.htmlhttp://developer.android.com/reference/android/os/AsyncTask.htmlhttp://developer.android.com/reference/android/os/AsyncTask.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/javax/xml/parsers/SAXParser.htmlhttp://developer.android.com/reference/javax/xml/parsers/SAXParser.htmlhttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/guide/topics/ui/index.html#Layouthttp://developer.android.com/guide/topics/ui/index.html#Layouthttp://developer.android.com/reference/android/view/View.htmlhttp://developer.android.com/reference/android/view/View.htmlhttp://developer.android.com/guide/basics/what-is-android.htmlhttp://developer.android.com/guide/basics/what-is-android.htmlhttp://www.heise.de/newsticker/meldung/Smartphone-Markt-waechst-um-50-Prozent-1057411.htmlhttp://www.heise.de/newsticker/meldung/Smartphone-Markt-waechst-um-50-Prozent-1057411.htmlhttp://developer.android.com/guide/basics/what-is-android.htmlhttp://developer.android.com/guide/basics/what-is-android.htmlhttp://developer.android.com/reference/android/view/View.htmlhttp://developer.android.com/reference/android/view/View.htmlhttp://developer.android.com/guide/topics/ui/index.html#Layouthttp://developer.android.com/guide/topics/ui/index.html#Layouthttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/reference/android/content/SharedPreferences.htmlhttp://developer.android.com/reference/javax/xml/parsers/SAXParser.htmlhttp://developer.android.com/reference/javax/xml/parsers/SAXParser.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/view/Menu.htmlhttp://developer.android.com/reference/android/os/AsyncTask.htmlhttp://developer.android.com/reference/android/os/AsyncTask.htmlhttp://developer.android.com/guide/topics/manifest/manifest-intro.htmlhttp://developer.android.com/guide/topics/manifest/manifest-intro.htmlhttp://developer.android.com/reference/android/app/Activity.htmlhttp://developer.android.com/reference/android/app/Activity.htmlhttp://pkp.sfu.ca/ojs-journalshttp://pkp.sfu.ca/ojs-journalshttp://pkp.sfu.ca/ojs/doxygen/html/classMETSGatewayPlugin.htmlhttp://pkp.sfu.ca/ojs/doxygen/html/classMETSGatewayPlugin.html -
8/8/2019 Android Applikation fr Open Journal Systems
34/34
Smartphone-Markt-waechst-um-50-Prozent-1057411.html (2010-
08-12).
[24] unknown. Smartphone. Wikipedia. http://de.wikipedia.org/wiki/
Smartphone (2010-08-05).
http://www.heise.de/newsticker/meldung/Smartphone-Markt-waechst-um-50-Prozent-1057411.htmlhttp://de.wikipedia.org/wiki/Smartphonehttp://de.wikipedia.org/wiki/Smartphonehttp://de.wikipedia.org/wiki/Smartphonehttp://de.wikipedia.org/wiki/Smartphonehttp://www.heise.de/newsticker/meldung/Smartphone-Markt-waechst-um-50-Prozent-1057411.html