diff --git a/app/app.iml b/app/app.iml
new file mode 100644
index 0000000..ba38667
--- /dev/null
+++ b/app/app.iml
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..8134af1
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,25 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 21
+ buildToolsVersion "23.0.0 rc2"
+
+ defaultConfig {
+ applicationId "com.raataar.zitate_allinone"
+ minSdkVersion 14
+ targetSdkVersion 14
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ }
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:21.0.3'
+ compile files('libs/picasso-2.5.2.jar')
+ compile files('libs/volley-1.0.15.jar')
+}
diff --git a/app/build/generated/source/buildConfig/androidTest/debug/com/raataar/zitate_allinone/test/BuildConfig.java b/app/build/generated/source/buildConfig/androidTest/debug/com/raataar/zitate_allinone/test/BuildConfig.java
new file mode 100644
index 0000000..61ccd10
--- /dev/null
+++ b/app/build/generated/source/buildConfig/androidTest/debug/com/raataar/zitate_allinone/test/BuildConfig.java
@@ -0,0 +1,13 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.raataar.zitate_allinone.test;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String APPLICATION_ID = "com.raataar.zitate_allinone.test";
+ public static final String BUILD_TYPE = "debug";
+ public static final String FLAVOR = "";
+ public static final int VERSION_CODE = -1;
+ public static final String VERSION_NAME = "";
+}
diff --git a/app/build/generated/source/buildConfig/debug/com/raataar/zitate_allinone/BuildConfig.java b/app/build/generated/source/buildConfig/debug/com/raataar/zitate_allinone/BuildConfig.java
new file mode 100644
index 0000000..e024f6d
--- /dev/null
+++ b/app/build/generated/source/buildConfig/debug/com/raataar/zitate_allinone/BuildConfig.java
@@ -0,0 +1,13 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.raataar.zitate_allinone;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String APPLICATION_ID = "com.raataar.zitate_allinone";
+ public static final String BUILD_TYPE = "debug";
+ public static final String FLAVOR = "";
+ public static final int VERSION_CODE = 2;
+ public static final String VERSION_NAME = "";
+}
diff --git a/app/build/generated/source/r/debug/com/raataar/zitate_allinone/R.java b/app/build/generated/source/r/debug/com/raataar/zitate_allinone/R.java
new file mode 100644
index 0000000..9550c8d
--- /dev/null
+++ b/app/build/generated/source/r/debug/com/raataar/zitate_allinone/R.java
@@ -0,0 +1,143 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.raataar.zitate_allinone;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class color {
+ public static final int genre=0x7f060000;
+ public static final int list_divider=0x7f060001;
+ public static final int list_row_end_color=0x7f060002;
+ public static final int list_row_hover_end_color=0x7f060003;
+ public static final int list_row_hover_start_color=0x7f060004;
+ public static final int list_row_start_color=0x7f060005;
+ public static final int year=0x7f060006;
+ }
+ public static final class dimen {
+ public static final int activity_horizontal_margin=0x7f040000;
+ public static final int genre=0x7f040001;
+ public static final int quelle=0x7f040002;
+ public static final int rating=0x7f040003;
+ public static final int title=0x7f040004;
+ public static final int year=0x7f040005;
+ public static final int zitat=0x7f040006;
+ public static final int zitatlist=0x7f040007;
+ }
+ public static final class drawable {
+ public static final int bg=0x7f020000;
+ public static final int buttonshape=0x7f020001;
+ public static final int ic_action_autor=0x7f020002;
+ public static final int ic_action_exit=0x7f020003;
+ public static final int ic_action_kategorie=0x7f020004;
+ public static final int ic_action_refresh=0x7f020005;
+ public static final int ic_action_search=0x7f020006;
+ public static final int ic_blank=0x7f020007;
+ public static final int ic_launcher=0x7f020008;
+ public static final int layout_bg=0x7f020009;
+ public static final int list_row_bg=0x7f02000a;
+ public static final int list_row_bg_hover=0x7f02000b;
+ public static final int list_row_selector=0x7f02000c;
+ }
+ public static final class id {
+ public static final int action_autoren=0x7f09001f;
+ public static final int action_kategorie=0x7f09001e;
+ public static final int action_quit=0x7f090020;
+ public static final int action_refresh=0x7f09001d;
+ public static final int action_search=0x7f09001c;
+ public static final int anzahl=0x7f090017;
+ public static final int autoren_beschreibung=0x7f09000c;
+ public static final int autoren_id=0x7f090008;
+ public static final int autoren_imagepic=0x7f09000a;
+ public static final int autoren_imagequelle=0x7f09000e;
+ public static final int autoren_infoview=0x7f09000d;
+ public static final int autoren_moreinfo=0x7f09000f;
+ public static final int autoren_text=0x7f09000b;
+ public static final int beschreibung=0x7f090016;
+ public static final int genre=0x7f09001a;
+ public static final int kategorie_beschreibung=0x7f090012;
+ public static final int kategorie_id=0x7f090009;
+ public static final int kategorie_image=0x7f090010;
+ public static final int kategorie_text=0x7f090011;
+ public static final int list=0x7f090000;
+ public static final int menu_item_share=0x7f090021;
+ public static final int news_content=0x7f090004;
+ public static final int news_image=0x7f090002;
+ public static final int news_title=0x7f090003;
+ public static final int objectid=0x7f090001;
+ public static final int rating=0x7f090019;
+ public static final int releaseYear=0x7f09001b;
+ public static final int searchtext=0x7f090005;
+ public static final int suchen_button=0x7f090006;
+ public static final int thumbnail=0x7f090014;
+ public static final int title=0x7f090015;
+ public static final int zitat=0x7f090007;
+ public static final int zitat_more_zitat=0x7f090013;
+ public static final int zitatfooter=0x7f090018;
+ }
+ public static final class layout {
+ public static final int activity_autoren=0x7f030000;
+ public static final int activity_kategorie=0x7f030001;
+ public static final int activity_main=0x7f030002;
+ public static final int activity_news=0x7f030003;
+ public static final int activity_suchen=0x7f030004;
+ public static final int activity_suchenbyid=0x7f030005;
+ public static final int activity_zitat=0x7f030006;
+ public static final int activity_zufallzitat=0x7f030007;
+ public static final int list_autoren=0x7f030008;
+ public static final int list_autorenbyid=0x7f030009;
+ public static final int list_kategorie=0x7f03000a;
+ public static final int list_kategoriebyid=0x7f03000b;
+ public static final int list_mainmenue=0x7f03000c;
+ public static final int list_row=0x7f03000d;
+ public static final int list_suchenbyid=0x7f03000e;
+ }
+ public static final class menu {
+ public static final int autor_menu=0x7f080000;
+ public static final int kategorie_menu=0x7f080001;
+ public static final int main_menu=0x7f080002;
+ public static final int news_menu=0x7f080003;
+ public static final int search_menu=0x7f080004;
+ public static final int zitat_menu=0x7f080005;
+ }
+ public static final class string {
+ public static final int action_autoren=0x7f070000;
+ public static final int action_kategorie=0x7f070001;
+ public static final int action_quit=0x7f070002;
+ public static final int action_refresh=0x7f070003;
+ public static final int action_search=0x7f070004;
+ public static final int action_settings=0x7f070005;
+ public static final int app_name=0x7f070006;
+ public static final int button_load_more_news=0x7f070007;
+ public static final int button_load_next_zitat=0x7f070008;
+ public static final int button_suchen=0x7f070009;
+ public static final int hello_world=0x7f07000a;
+ public static final int searchlabel=0x7f07000b;
+ public static final int title_autoren_activity=0x7f07000c;
+ public static final int title_kategorie_activity=0x7f07000d;
+ public static final int title_kategoriebyid_activity=0x7f07000e;
+ public static final int title_news_activity=0x7f07000f;
+ public static final int title_suchen_activity=0x7f070010;
+ public static final int title_zitat_activity=0x7f070011;
+ }
+ public static final class style {
+ /** API 11 theme customizations can go here.
+ API 14 theme customizations can go here.
+
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+
+ */
+ public static final int AppBaseTheme=0x7f050000;
+ /** All customizations that are NOT specific to a particular API-level can go here.
+ */
+ public static final int AppTheme=0x7f050001;
+ public static final int Divider=0x7f050002;
+ }
+}
diff --git a/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/AndroidManifest.xml b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/AndroidManifest.xml
new file mode 100644
index 0000000..2722c91
--- /dev/null
+++ b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/AndroidManifest.xml
@@ -0,0 +1,17 @@
+
+
+
+
diff --git a/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/aidl/android/support/v4/app/INotificationSideChannel.aidl b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/aidl/android/support/v4/app/INotificationSideChannel.aidl
new file mode 100644
index 0000000..9df1577
--- /dev/null
+++ b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/aidl/android/support/v4/app/INotificationSideChannel.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.support.v4.app;
+
+import android.app.Notification;
+
+/**
+ * Interface used for delivering notifications via a side channel that bypasses
+ * the NotificationManagerService.
+ *
+ * @hide
+ */
+oneway interface INotificationSideChannel {
+ /**
+ * Send an ambient notification to the service.
+ */
+ void notify(String packageName, int id, String tag, in Notification notification);
+
+ /**
+ * Cancel an already-notified notification.
+ */
+ void cancel(String packageName, int id, String tag);
+
+ /**
+ * Cancel all notifications for the given package.
+ */
+ void cancelAll(String packageName);
+}
diff --git a/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/classes.jar b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/classes.jar
new file mode 100644
index 0000000..b337994
Binary files /dev/null and b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/classes.jar differ
diff --git a/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/libs/internal_impl-21.0.3.jar b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/libs/internal_impl-21.0.3.jar
new file mode 100644
index 0000000..f063abd
Binary files /dev/null and b/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars/libs/internal_impl-21.0.3.jar differ
diff --git a/app/build/intermediates/incremental/aidl/androidTest/debug/dependency.store b/app/build/intermediates/incremental/aidl/androidTest/debug/dependency.store
new file mode 100644
index 0000000..8b8400d
Binary files /dev/null and b/app/build/intermediates/incremental/aidl/androidTest/debug/dependency.store differ
diff --git a/app/build/intermediates/incremental/aidl/debug/dependency.store b/app/build/intermediates/incremental/aidl/debug/dependency.store
new file mode 100644
index 0000000..8b8400d
Binary files /dev/null and b/app/build/intermediates/incremental/aidl/debug/dependency.store differ
diff --git a/app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml b/app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml
new file mode 100644
index 0000000..7892fff
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeAssets/debug/merger.xml b/app/build/intermediates/incremental/mergeAssets/debug/merger.xml
new file mode 100644
index 0000000..3ddaf66
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeAssets/debug/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeResources/androidTest/debug/merger.xml b/app/build/intermediates/incremental/mergeResources/androidTest/debug/merger.xml
new file mode 100644
index 0000000..54e2a23
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeResources/androidTest/debug/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeResources/debug/merger.xml b/app/build/intermediates/incremental/mergeResources/debug/merger.xml
new file mode 100644
index 0000000..0ab125b
--- /dev/null
+++ b/app/build/intermediates/incremental/mergeResources/debug/merger.xml
@@ -0,0 +1,21 @@
+
+#80ebeef0#888888#80ebeef0#666666#80ffffff#80ffffff#d9d9d912dip12dip30dp15dip15dp25dp13dipBeendenAutorenHello world!Kategorie-InhaltKategorienSuchenEinstellungenNewsWeitere NewsSapientiaAktualisierenJetzt SuchenAutorenGeben Sie einen Suchbegriff ein:KategorienNoch Eins...SuchenZitat128dp
\ No newline at end of file
diff --git a/app/build/intermediates/manifests/androidTest/debug/AndroidManifest.xml b/app/build/intermediates/manifests/androidTest/debug/AndroidManifest.xml
new file mode 100644
index 0000000..631b2fb
--- /dev/null
+++ b/app/build/intermediates/manifests/androidTest/debug/AndroidManifest.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/build/intermediates/manifests/full/debug/AndroidManifest.xml b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
new file mode 100644
index 0000000..ff9a770
--- /dev/null
+++ b/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/bg.jpg b/app/build/intermediates/res/debug/drawable-hdpi/bg.jpg
new file mode 100644
index 0000000..6a64d59
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_action_autor.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_autor.png
new file mode 100644
index 0000000..6f8d29b
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_action_exit.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_exit.png
new file mode 100644
index 0000000..1830947
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..55f6333
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_refresh.png
new file mode 100644
index 0000000..5b63220
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_action_search.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_search.png
new file mode 100644
index 0000000..b377f4a
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_blank.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_blank.png
new file mode 100644
index 0000000..22d4262
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable-hdpi/ic_launcher.png b/app/build/intermediates/res/debug/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..2b30cd0
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-hdpi/ic_launcher.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/bg.jpg b/app/build/intermediates/res/debug/drawable-ldpi/bg.jpg
new file mode 100644
index 0000000..71913dd
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_action_autor.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_autor.png
new file mode 100644
index 0000000..d04895f
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_action_exit.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_exit.png
new file mode 100644
index 0000000..93a29f1
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_kategorie.png
new file mode 100644
index 0000000..adf540e
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_refresh.png
new file mode 100644
index 0000000..b1ac420
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_action_search.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_search.png
new file mode 100644
index 0000000..ff7f401
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_blank.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_blank.png
new file mode 100644
index 0000000..89e027a
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable-ldpi/ic_launcher.png b/app/build/intermediates/res/debug/drawable-ldpi/ic_launcher.png
new file mode 100644
index 0000000..d88ec31
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-ldpi/ic_launcher.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/bg.jpg b/app/build/intermediates/res/debug/drawable-mdpi/bg.jpg
new file mode 100644
index 0000000..adedf9f
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_action_autor.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_autor.png
new file mode 100644
index 0000000..3b2cc80
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_action_exit.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_exit.png
new file mode 100644
index 0000000..a82c4b0
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..031dff6
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_refresh.png
new file mode 100644
index 0000000..4bf6739
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_action_search.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_search.png
new file mode 100644
index 0000000..11e1757
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_blank.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_blank.png
new file mode 100644
index 0000000..117a6e4
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable-mdpi/ic_launcher.png b/app/build/intermediates/res/debug/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..fe698cd
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-mdpi/ic_launcher.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/bg.jpg b/app/build/intermediates/res/debug/drawable-xhdpi/bg.jpg
new file mode 100644
index 0000000..31582c0
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_autor.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_autor.png
new file mode 100644
index 0000000..2c38ea7
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_exit.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_exit.png
new file mode 100644
index 0000000..72fdc22
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..7c1fee5
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_refresh.png
new file mode 100644
index 0000000..4c4d813
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_search.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_search.png
new file mode 100644
index 0000000..8a9bbe1
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_blank.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_blank.png
new file mode 100644
index 0000000..ea00319
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xhdpi/ic_launcher.png b/app/build/intermediates/res/debug/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..be6ab14
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xhdpi/ic_launcher.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/bg.jpg b/app/build/intermediates/res/debug/drawable-xxhdpi/bg.jpg
new file mode 100644
index 0000000..ffc7d66
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_autor.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_autor.png
new file mode 100644
index 0000000..1c517f5
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_exit.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_exit.png
new file mode 100644
index 0000000..1dc5430
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..e3b5cf8
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_refresh.png
new file mode 100644
index 0000000..04105e6
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_search.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_search.png
new file mode 100644
index 0000000..38ced77
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_blank.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_blank.png
new file mode 100644
index 0000000..99fbc21
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..046e787
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png differ
diff --git a/app/build/intermediates/res/debug/drawable-xxxhdpi/bg.jpg b/app/build/intermediates/res/debug/drawable-xxxhdpi/bg.jpg
new file mode 100644
index 0000000..8726da2
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable-xxxhdpi/bg.jpg differ
diff --git a/app/build/intermediates/res/debug/drawable/buttonshape.xml b/app/build/intermediates/res/debug/drawable/buttonshape.xml
new file mode 100644
index 0000000..8599f96
--- /dev/null
+++ b/app/build/intermediates/res/debug/drawable/buttonshape.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/drawable/ic_action_autor.png b/app/build/intermediates/res/debug/drawable/ic_action_autor.png
new file mode 100644
index 0000000..9e17bd5
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_action_autor.png differ
diff --git a/app/build/intermediates/res/debug/drawable/ic_action_exit.png b/app/build/intermediates/res/debug/drawable/ic_action_exit.png
new file mode 100644
index 0000000..58473d7
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_action_exit.png differ
diff --git a/app/build/intermediates/res/debug/drawable/ic_action_kategorie.png b/app/build/intermediates/res/debug/drawable/ic_action_kategorie.png
new file mode 100644
index 0000000..883aea6
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_action_kategorie.png differ
diff --git a/app/build/intermediates/res/debug/drawable/ic_action_refresh.png b/app/build/intermediates/res/debug/drawable/ic_action_refresh.png
new file mode 100644
index 0000000..8e2d2fc
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_action_refresh.png differ
diff --git a/app/build/intermediates/res/debug/drawable/ic_action_search.png b/app/build/intermediates/res/debug/drawable/ic_action_search.png
new file mode 100644
index 0000000..4a189d6
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_action_search.png differ
diff --git a/app/build/intermediates/res/debug/drawable/ic_blank.png b/app/build/intermediates/res/debug/drawable/ic_blank.png
new file mode 100644
index 0000000..ea00319
Binary files /dev/null and b/app/build/intermediates/res/debug/drawable/ic_blank.png differ
diff --git a/app/build/intermediates/res/debug/drawable/layout_bg.xml b/app/build/intermediates/res/debug/drawable/layout_bg.xml
new file mode 100644
index 0000000..549149a
--- /dev/null
+++ b/app/build/intermediates/res/debug/drawable/layout_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/drawable/list_row_bg.xml b/app/build/intermediates/res/debug/drawable/list_row_bg.xml
new file mode 100644
index 0000000..e98eaea
--- /dev/null
+++ b/app/build/intermediates/res/debug/drawable/list_row_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/drawable/list_row_bg_hover.xml b/app/build/intermediates/res/debug/drawable/list_row_bg_hover.xml
new file mode 100644
index 0000000..3f077da
--- /dev/null
+++ b/app/build/intermediates/res/debug/drawable/list_row_bg_hover.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/drawable/list_row_selector.xml b/app/build/intermediates/res/debug/drawable/list_row_selector.xml
new file mode 100644
index 0000000..f33788b
--- /dev/null
+++ b/app/build/intermediates/res/debug/drawable/list_row_selector.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_autoren.xml b/app/build/intermediates/res/debug/layout/activity_autoren.xml
new file mode 100644
index 0000000..7b06bbc
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_autoren.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_kategorie.xml b/app/build/intermediates/res/debug/layout/activity_kategorie.xml
new file mode 100644
index 0000000..8b38cb5
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_kategorie.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_main.xml b/app/build/intermediates/res/debug/layout/activity_main.xml
new file mode 100644
index 0000000..37c4e10
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_main.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_news.xml b/app/build/intermediates/res/debug/layout/activity_news.xml
new file mode 100644
index 0000000..f1501fe
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_news.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_suchen.xml b/app/build/intermediates/res/debug/layout/activity_suchen.xml
new file mode 100644
index 0000000..974a06d
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_suchen.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_suchenbyid.xml b/app/build/intermediates/res/debug/layout/activity_suchenbyid.xml
new file mode 100644
index 0000000..8ab4281
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_suchenbyid.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_zitat.xml b/app/build/intermediates/res/debug/layout/activity_zitat.xml
new file mode 100644
index 0000000..9d59d4f
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_zitat.xml
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/activity_zufallzitat.xml b/app/build/intermediates/res/debug/layout/activity_zufallzitat.xml
new file mode 100644
index 0000000..0212c83
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/activity_zufallzitat.xml
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_autoren.xml b/app/build/intermediates/res/debug/layout/list_autoren.xml
new file mode 100644
index 0000000..5590ec3
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_autoren.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_autorenbyid.xml b/app/build/intermediates/res/debug/layout/list_autorenbyid.xml
new file mode 100644
index 0000000..ba1325b
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_autorenbyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_kategorie.xml b/app/build/intermediates/res/debug/layout/list_kategorie.xml
new file mode 100644
index 0000000..946000c
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_kategorie.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_kategoriebyid.xml b/app/build/intermediates/res/debug/layout/list_kategoriebyid.xml
new file mode 100644
index 0000000..e1f536b
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_kategoriebyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_mainmenue.xml b/app/build/intermediates/res/debug/layout/list_mainmenue.xml
new file mode 100644
index 0000000..14681f1
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_mainmenue.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_row.xml b/app/build/intermediates/res/debug/layout/list_row.xml
new file mode 100644
index 0000000..f61e627
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_row.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/layout/list_suchenbyid.xml b/app/build/intermediates/res/debug/layout/list_suchenbyid.xml
new file mode 100644
index 0000000..85764d4
--- /dev/null
+++ b/app/build/intermediates/res/debug/layout/list_suchenbyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/autor_menu.xml b/app/build/intermediates/res/debug/menu/autor_menu.xml
new file mode 100644
index 0000000..69cf82f
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/autor_menu.xml
@@ -0,0 +1,39 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/kategorie_menu.xml b/app/build/intermediates/res/debug/menu/kategorie_menu.xml
new file mode 100644
index 0000000..b0464a1
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/kategorie_menu.xml
@@ -0,0 +1,39 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/main_menu.xml b/app/build/intermediates/res/debug/menu/main_menu.xml
new file mode 100644
index 0000000..68405fd
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/main_menu.xml
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/news_menu.xml b/app/build/intermediates/res/debug/menu/news_menu.xml
new file mode 100644
index 0000000..8da0a4e
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/news_menu.xml
@@ -0,0 +1,39 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/search_menu.xml b/app/build/intermediates/res/debug/menu/search_menu.xml
new file mode 100644
index 0000000..91419b6
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/search_menu.xml
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/menu/zitat_menu.xml b/app/build/intermediates/res/debug/menu/zitat_menu.xml
new file mode 100644
index 0000000..0a28f70
--- /dev/null
+++ b/app/build/intermediates/res/debug/menu/zitat_menu.xml
@@ -0,0 +1,32 @@
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/values-sw720dp-land/values-sw720dp-land.xml b/app/build/intermediates/res/debug/values-sw720dp-land/values-sw720dp-land.xml
new file mode 100644
index 0000000..ee492b2
--- /dev/null
+++ b/app/build/intermediates/res/debug/values-sw720dp-land/values-sw720dp-land.xml
@@ -0,0 +1,6 @@
+
+
+
+
+ 128dp
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/values-v11/values-v11.xml b/app/build/intermediates/res/debug/values-v11/values-v11.xml
new file mode 100644
index 0000000..bbe94cf
--- /dev/null
+++ b/app/build/intermediates/res/debug/values-v11/values-v11.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/values-v14/values-v14.xml b/app/build/intermediates/res/debug/values-v14/values-v14.xml
new file mode 100644
index 0000000..3fb6353
--- /dev/null
+++ b/app/build/intermediates/res/debug/values-v14/values-v14.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/res/debug/values/values.xml b/app/build/intermediates/res/debug/values/values.xml
new file mode 100644
index 0000000..469cc85
--- /dev/null
+++ b/app/build/intermediates/res/debug/values/values.xml
@@ -0,0 +1,61 @@
+
+
+
+
+ #666666
+ #d9d9d9
+ #80ffffff
+ #80ebeef0
+ #80ebeef0
+ #80ffffff
+ #888888
+
+
+ 13dip
+ 12dip
+ 15dip
+ 25dp
+ 12dip
+ 30dp
+ 15dp
+
+
+ Autoren
+ Kategorien
+ Beenden
+ Aktualisieren
+ Suchen
+ Einstellungen
+ Sapientia
+ Weitere News
+ Noch Eins...
+ Jetzt Suchen
+ Hello world!
+ Geben Sie einen Suchbegriff ein:
+ Autoren
+ Kategorien
+ Kategorie-Inhalt
+ News
+ Suchen
+ Zitat
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build/intermediates/resources/resources-debug-androidTest.ap_ b/app/build/intermediates/resources/resources-debug-androidTest.ap_
new file mode 100644
index 0000000..bfa5c5c
Binary files /dev/null and b/app/build/intermediates/resources/resources-debug-androidTest.ap_ differ
diff --git a/app/build/intermediates/resources/resources-debug.ap_ b/app/build/intermediates/resources/resources-debug.ap_
new file mode 100644
index 0000000..6eff8a3
Binary files /dev/null and b/app/build/intermediates/resources/resources-debug.ap_ differ
diff --git a/app/build/intermediates/symbols/debug/R.txt b/app/build/intermediates/symbols/debug/R.txt
new file mode 100644
index 0000000..287c078
--- /dev/null
+++ b/app/build/intermediates/symbols/debug/R.txt
@@ -0,0 +1,104 @@
+int color genre 0x7f060000
+int color list_divider 0x7f060001
+int color list_row_end_color 0x7f060002
+int color list_row_hover_end_color 0x7f060003
+int color list_row_hover_start_color 0x7f060004
+int color list_row_start_color 0x7f060005
+int color year 0x7f060006
+int dimen activity_horizontal_margin 0x7f040000
+int dimen genre 0x7f040001
+int dimen quelle 0x7f040002
+int dimen rating 0x7f040003
+int dimen title 0x7f040004
+int dimen year 0x7f040005
+int dimen zitat 0x7f040006
+int dimen zitatlist 0x7f040007
+int drawable bg 0x7f020000
+int drawable buttonshape 0x7f020001
+int drawable ic_action_autor 0x7f020002
+int drawable ic_action_exit 0x7f020003
+int drawable ic_action_kategorie 0x7f020004
+int drawable ic_action_refresh 0x7f020005
+int drawable ic_action_search 0x7f020006
+int drawable ic_blank 0x7f020007
+int drawable ic_launcher 0x7f020008
+int drawable layout_bg 0x7f020009
+int drawable list_row_bg 0x7f02000a
+int drawable list_row_bg_hover 0x7f02000b
+int drawable list_row_selector 0x7f02000c
+int id action_autoren 0x7f09001f
+int id action_kategorie 0x7f09001e
+int id action_quit 0x7f090020
+int id action_refresh 0x7f09001d
+int id action_search 0x7f09001c
+int id anzahl 0x7f090017
+int id autoren_beschreibung 0x7f09000c
+int id autoren_id 0x7f090008
+int id autoren_imagepic 0x7f09000a
+int id autoren_imagequelle 0x7f09000e
+int id autoren_infoview 0x7f09000d
+int id autoren_moreinfo 0x7f09000f
+int id autoren_text 0x7f09000b
+int id beschreibung 0x7f090016
+int id genre 0x7f09001a
+int id kategorie_beschreibung 0x7f090012
+int id kategorie_id 0x7f090009
+int id kategorie_image 0x7f090010
+int id kategorie_text 0x7f090011
+int id list 0x7f090000
+int id menu_item_share 0x7f090021
+int id news_content 0x7f090004
+int id news_image 0x7f090002
+int id news_title 0x7f090003
+int id objectid 0x7f090001
+int id rating 0x7f090019
+int id releaseYear 0x7f09001b
+int id searchtext 0x7f090005
+int id suchen_button 0x7f090006
+int id thumbnail 0x7f090014
+int id title 0x7f090015
+int id zitat 0x7f090007
+int id zitat_more_zitat 0x7f090013
+int id zitatfooter 0x7f090018
+int layout activity_autoren 0x7f030000
+int layout activity_kategorie 0x7f030001
+int layout activity_main 0x7f030002
+int layout activity_news 0x7f030003
+int layout activity_suchen 0x7f030004
+int layout activity_suchenbyid 0x7f030005
+int layout activity_zitat 0x7f030006
+int layout activity_zufallzitat 0x7f030007
+int layout list_autoren 0x7f030008
+int layout list_autorenbyid 0x7f030009
+int layout list_kategorie 0x7f03000a
+int layout list_kategoriebyid 0x7f03000b
+int layout list_mainmenue 0x7f03000c
+int layout list_row 0x7f03000d
+int layout list_suchenbyid 0x7f03000e
+int menu autor_menu 0x7f080000
+int menu kategorie_menu 0x7f080001
+int menu main_menu 0x7f080002
+int menu news_menu 0x7f080003
+int menu search_menu 0x7f080004
+int menu zitat_menu 0x7f080005
+int string action_autoren 0x7f070000
+int string action_kategorie 0x7f070001
+int string action_quit 0x7f070002
+int string action_refresh 0x7f070003
+int string action_search 0x7f070004
+int string action_settings 0x7f070005
+int string app_name 0x7f070006
+int string button_load_more_news 0x7f070007
+int string button_load_next_zitat 0x7f070008
+int string button_suchen 0x7f070009
+int string hello_world 0x7f07000a
+int string searchlabel 0x7f07000b
+int string title_autoren_activity 0x7f07000c
+int string title_kategorie_activity 0x7f07000d
+int string title_kategoriebyid_activity 0x7f07000e
+int string title_news_activity 0x7f07000f
+int string title_suchen_activity 0x7f070010
+int string title_zitat_activity 0x7f070011
+int style AppBaseTheme 0x7f050000
+int style AppTheme 0x7f050001
+int style Divider 0x7f050002
diff --git a/app/build/outputs/logs/manifest-merger-debug-report.txt b/app/build/outputs/logs/manifest-merger-debug-report.txt
new file mode 100644
index 0000000..b2f3c41
--- /dev/null
+++ b/app/build/outputs/logs/manifest-merger-debug-report.txt
@@ -0,0 +1,134 @@
+-- Merging decision tree log ---
+manifest
+ADDED from AndroidManifest.xml:2:1
+ package
+ ADDED from AndroidManifest.xml:3:11
+ INJECTED from AndroidManifest.xml:0:0
+ INJECTED from AndroidManifest.xml:0:0
+ android:versionName
+ ADDED from AndroidManifest.xml:5:11
+ android:versionCode
+ ADDED from AndroidManifest.xml:4:11
+ INJECTED from AndroidManifest.xml:0:0
+ INJECTED from AndroidManifest.xml:0:0
+ xmlns:android
+ ADDED from AndroidManifest.xml:2:11
+uses-sdk
+ADDED from AndroidManifest.xml:6:5
+MERGED from com.android.support:support-v4:21.0.3:15:5
+ android:targetSdkVersion
+ INJECTED from AndroidManifest.xml:0:0
+ INJECTED from AndroidManifest.xml:0:0
+ android:minSdkVersion
+ ADDED from AndroidManifest.xml:6:15
+ INJECTED from AndroidManifest.xml:0:0
+ INJECTED from AndroidManifest.xml:0:0
+uses-permission#android.permission.INTERNET
+ADDED from AndroidManifest.xml:8:5
+ android:name
+ ADDED from AndroidManifest.xml:8:22
+application
+ADDED from AndroidManifest.xml:10:5
+MERGED from com.android.support:support-v4:21.0.3:16:5
+ android:label
+ ADDED from AndroidManifest.xml:14:13
+ android:allowBackup
+ ADDED from AndroidManifest.xml:12:13
+ android:icon
+ ADDED from AndroidManifest.xml:13:13
+ android:theme
+ ADDED from AndroidManifest.xml:15:13
+ android:name
+ ADDED from AndroidManifest.xml:11:13
+activity#com.raataar.sapientia_full.MainActivity
+ADDED from AndroidManifest.xml:16:9
+ android:label
+ ADDED from AndroidManifest.xml:18:17
+ android:name
+ ADDED from AndroidManifest.xml:17:17
+intent-filter#android.intent.action.MAIN+android.intent.category.LAUNCHER
+ADDED from AndroidManifest.xml:19:13
+action#android.intent.action.MAIN
+ADDED from AndroidManifest.xml:20:17
+ android:name
+ ADDED from AndroidManifest.xml:20:25
+category#android.intent.category.LAUNCHER
+ADDED from AndroidManifest.xml:22:17
+ android:name
+ ADDED from AndroidManifest.xml:22:27
+activity#com.raataar.sapientia_full.KategorieActivity
+ADDED from AndroidManifest.xml:25:9
+ android:label
+ ADDED from AndroidManifest.xml:27:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:28:17
+ android:name
+ ADDED from AndroidManifest.xml:26:17
+meta-data#android.support.PARENT_ACTIVITY
+ADDED from AndroidManifest.xml:30:13
+ android:value
+ ADDED from AndroidManifest.xml:32:21
+ android:name
+ ADDED from AndroidManifest.xml:31:21
+activity#com.raataar.sapientia_full.KategorieByIDActivity
+ADDED from AndroidManifest.xml:34:9
+ android:label
+ ADDED from AndroidManifest.xml:36:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:37:17
+ android:name
+ ADDED from AndroidManifest.xml:35:17
+activity#com.raataar.sapientia_full.ZitatActivity
+ADDED from AndroidManifest.xml:43:9
+ android:label
+ ADDED from AndroidManifest.xml:45:17
+ android:name
+ ADDED from AndroidManifest.xml:44:17
+activity#com.raataar.sapientia_full.ZufallZitatActivity
+ADDED from AndroidManifest.xml:47:9
+ android:label
+ ADDED from AndroidManifest.xml:49:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:50:17
+ android:name
+ ADDED from AndroidManifest.xml:48:17
+activity#com.raataar.sapientia_full.NewsActivity
+ADDED from AndroidManifest.xml:56:9
+ android:label
+ ADDED from AndroidManifest.xml:58:13
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:59:13
+ android:name
+ ADDED from AndroidManifest.xml:57:13
+activity#com.raataar.sapientia_full.AutorenActivity
+ADDED from AndroidManifest.xml:65:9
+ android:label
+ ADDED from AndroidManifest.xml:67:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:68:17
+ android:name
+ ADDED from AndroidManifest.xml:66:17
+activity#com.raataar.sapientia_full.AutorenByIDActivity
+ADDED from AndroidManifest.xml:74:9
+ android:label
+ ADDED from AndroidManifest.xml:76:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:77:17
+ android:name
+ ADDED from AndroidManifest.xml:75:17
+activity#com.raataar.sapientia_full.SuchenActivity
+ADDED from AndroidManifest.xml:83:9
+ android:label
+ ADDED from AndroidManifest.xml:85:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:86:17
+ android:name
+ ADDED from AndroidManifest.xml:84:17
+activity#com.raataar.sapientia_full.SuchenByIDActivity
+ADDED from AndroidManifest.xml:92:9
+ android:label
+ ADDED from AndroidManifest.xml:94:17
+ android:parentActivityName
+ ADDED from AndroidManifest.xml:95:17
+ android:name
+ ADDED from AndroidManifest.xml:93:17
diff --git a/app/libs/picasso-2.5.2.jar b/app/libs/picasso-2.5.2.jar
new file mode 100644
index 0000000..6acbaa1
Binary files /dev/null and b/app/libs/picasso-2.5.2.jar differ
diff --git a/app/libs/volley-1.0.15.jar b/app/libs/volley-1.0.15.jar
new file mode 100644
index 0000000..b6813e4
Binary files /dev/null and b/app/libs/volley-1.0.15.jar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..4607cef
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/raataar/zitate_allinone/AutorenActivity.java b/app/src/main/java/com/raataar/zitate_allinone/AutorenActivity.java
new file mode 100644
index 0000000..1ababf1
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/AutorenActivity.java
@@ -0,0 +1,248 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.raataar.zitate_allinone.adater.AutorenListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Autoren;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AutorenActivity extends Activity {
+ // Log tag
+ private static final String TAG = AutorenActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-autoren/";
+ private ProgressDialog pDialog;
+ private List autorenList = new ArrayList();
+ private ListView listView;
+ private AutorenListAdapter adapter;
+ private String urlObjectId;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_autoren);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ if(bundlevalues!=null)
+ {
+ urlObjectId=(String) bundlevalues.get("objectID");
+ //Textv.setText(j);
+ }
+
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new AutorenListAdapter(this, autorenList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ // URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ startMenueActivity(autorenList.get(+position).getObjectActivity(),autorenList.get(+position).getObjectId(),autorenList.get(+position).getTitle());
+ }
+ });
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Autoren...");
+ pDialog.show();
+
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ Autoren autorenmodel = new Autoren();
+ autorenmodel.setTitle(obj.getString("title"));
+ autorenmodel.setImage(obj.getString("image"));
+ autorenmodel.setObjectId(obj.getString("objectId"));
+ autorenmodel.setAnzahl(obj.getString("anzahl"));
+ autorenmodel.setBeschreibung(obj.getString("beschreibung"));
+ autorenmodel.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ autorenList.add(autorenmodel);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID,String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID", objectID);
+ openNewIntent.putExtra("titel",titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.autor_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ autorenList.clear();
+ updateListView();
+ return true;
+ case R.id.action_search:
+ startSubMenueActivity("SuchenActivity");
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/AutorenByIDActivity.java b/app/src/main/java/com/raataar/zitate_allinone/AutorenByIDActivity.java
new file mode 100644
index 0000000..607df1e
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/AutorenByIDActivity.java
@@ -0,0 +1,263 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.raataar.zitate_allinone.adater.AutorenByIDListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.AutorenByID;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AutorenByIDActivity extends Activity {
+ // Log tag
+ private static final String TAG = AutorenByIDActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-zitat-by-autor/";
+ private ProgressDialog pDialog;
+ private List autorenByIDList = new ArrayList();
+ private ListView listView;
+ private AutorenByIDListAdapter adapter;
+ private String urlObjectId;
+ private String customTitle;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_kategorie);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ this.setTitle("Kategorie-Inhalt");
+ if(bundlevalues!=null)
+ {
+ urlObjectId=(String) bundlevalues.get("objectID");
+ customTitle=(String) bundlevalues.get("titel");
+ this.setTitle("Autor - " + customTitle);
+ //Textv.setText(j);
+ }
+
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new AutorenByIDListAdapter(this, autorenByIDList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ // URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ String mysubstring;
+ if (autorenByIDList.get(+position).getZitat().length()>25){
+ mysubstring=autorenByIDList.get(+position).getZitat().substring(0,25) + "...";
+ }
+ else{
+ mysubstring=autorenByIDList.get(+position).getZitat();
+ }
+
+ startMenueActivity(autorenByIDList.get(+position).getObjectActivity(),autorenByIDList.get(+position).getObjectId(),mysubstring);
+ }
+ });
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Autoren-Inhalt...");
+ pDialog.show();
+
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url + "/" + urlObjectId
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(KategorieByIDActivity.this, urlObjectId, Toast.LENGTH_SHORT).show();
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ AutorenByID autorenbyidlist = new AutorenByID();
+ autorenbyidlist.setZitat(obj.getString("zitat"));
+ autorenbyidlist.setImage(obj.getString("image"));
+ autorenbyidlist.setObjectId(obj.getString("objectId"));
+ autorenbyidlist.setAutoren_text(obj.getString("autoren_text"));
+ autorenbyidlist.setKategorie_text(obj.getString("kategorie_text"));
+ autorenbyidlist.setAutor_id(obj.getString("autor_id"));
+ autorenbyidlist.setKategorie_id(obj.getString("kategorie_id"));
+ autorenbyidlist.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ autorenByIDList.add(autorenbyidlist);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID, String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID",objectID);
+ openNewIntent.putExtra("titel", titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.autor_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ autorenByIDList.clear();
+ updateListView();
+ return true;
+ case R.id.action_search:
+ startSubMenueActivity("SuchenActivity");
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/KategorieActivity.java b/app/src/main/java/com/raataar/zitate_allinone/KategorieActivity.java
new file mode 100644
index 0000000..33051a8
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/KategorieActivity.java
@@ -0,0 +1,249 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ListView;
+
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.raataar.zitate_allinone.adater.KategorieListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Kategorie;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class KategorieActivity extends Activity {
+ // Log tag
+ private static final String TAG = KategorieActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-kategorien/";
+ private ProgressDialog pDialog;
+ private List kategorieList = new ArrayList();
+ private ListView listView;
+ private KategorieListAdapter adapter;
+ private String urlObjectId;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_kategorie);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ if(bundlevalues!=null)
+ {
+ urlObjectId=(String) bundlevalues.get("objectID");
+ //Textv.setText(j);
+ }
+
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new KategorieListAdapter(this, kategorieList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ // URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ startMenueActivity(kategorieList.get(+position).getObjectActivity(),kategorieList.get(+position).getObjectId(),kategorieList.get(+position).getTitle());
+ }
+ });
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Kategorien...");
+ pDialog.show();
+
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ Kategorie mainmenue = new Kategorie();
+ mainmenue.setTitle(obj.getString("title"));
+ mainmenue.setImage(obj.getString("image"));
+ mainmenue.setObjectId(obj.getString("objectId"));
+ mainmenue.setAnzahl(obj.getString("anzahl"));
+ mainmenue.setBeschreibung(obj.getString("beschreibung"));
+ mainmenue.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ kategorieList.add(mainmenue);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID,String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID", objectID);
+ openNewIntent.putExtra("titel",titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.kategorie_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ kategorieList.clear();
+ updateListView();
+ return true;
+ case R.id.action_search:
+ startSubMenueActivity("SuchenActivity");
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/KategorieByIDActivity.java b/app/src/main/java/com/raataar/zitate_allinone/KategorieByIDActivity.java
new file mode 100644
index 0000000..0727a85
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/KategorieByIDActivity.java
@@ -0,0 +1,268 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ListView;
+
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.raataar.zitate_allinone.adater.KategorieByIDListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.KategorieByID;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class KategorieByIDActivity extends Activity {
+ // Log tag
+ private static final String TAG = KategorieByIDActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-zitat-by-kategorie/";
+ private ProgressDialog pDialog;
+ private List kategoriebyidList = new ArrayList();
+ private ListView listView;
+ private KategorieByIDListAdapter adapter;
+ private String urlObjectId;
+ private String customTitle;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_kategorie);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ this.setTitle("Kategorie-Inhalt");
+ if(bundlevalues!=null)
+ {
+ urlObjectId=(String) bundlevalues.get("objectID");
+ customTitle=(String) bundlevalues.get("titel");
+ this.setTitle("Kategorie - " + customTitle);
+ //Textv.setText(j);
+ }
+
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new KategorieByIDListAdapter(this, kategoriebyidList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ // URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ //startMenueActivity(kategoriebyidList.get(+position).getObjectActivity(),kategoriebyidList.get(+position).getObjectId(),kategoriebyidList.get(+position).getZitat().substring(0,25)+"...");
+
+ String mysubstring;
+ if (kategoriebyidList.get(+position).getZitat().length()>25){
+ mysubstring=kategoriebyidList.get(+position).getZitat().substring(0,25) + "...";
+ }
+ else{
+ mysubstring=kategoriebyidList.get(+position).getZitat();
+ }
+
+ startMenueActivity(kategoriebyidList.get(+position).getObjectActivity(),kategoriebyidList.get(+position).getObjectId(),mysubstring);
+
+
+ }
+ });
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Kategorie-Inhalt...");
+ pDialog.show();
+
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url + "/" + urlObjectId
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(KategorieByIDActivity.this, urlObjectId, Toast.LENGTH_SHORT).show();
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ KategorieByID kategoriebyidlist = new KategorieByID();
+ kategoriebyidlist.setZitat(obj.getString("zitat"));
+ kategoriebyidlist.setImage(obj.getString("image"));
+ kategoriebyidlist.setObjectId(obj.getString("objectId"));
+ kategoriebyidlist.setAutoren_text(obj.getString("autoren_text"));
+ kategoriebyidlist.setKategorie_text(obj.getString("kategorie_text"));
+ kategoriebyidlist.setAutor_id(obj.getString("autor_id"));
+ kategoriebyidlist.setKategorie_id(obj.getString("kategorie_id"));
+ kategoriebyidlist.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ kategoriebyidList.add(kategoriebyidlist);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID, String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID",objectID);
+ openNewIntent.putExtra("titel", titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.kategorie_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ kategoriebyidList.clear();
+ updateListView();
+ return true;
+ case R.id.action_search:
+ startSubMenueActivity("SuchenActivity");
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/MainActivity.java b/app/src/main/java/com/raataar/zitate_allinone/MainActivity.java
new file mode 100644
index 0000000..caf6213
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/MainActivity.java
@@ -0,0 +1,255 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.content.Intent;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+
+import com.raataar.zitate_allinone.adater.MainmenueListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Mainmenue;
+
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.widget.ListView;
+
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+
+public class MainActivity extends Activity {
+ // Log tag
+ private static final String TAG = MainActivity.class.getSimpleName();
+
+ // Json url
+ private static final String url = "http://api.raataar.de/sapientia-home";
+ private ProgressDialog pDialog;
+ private List mainmenueList = new ArrayList();
+ private ListView listView;
+ private MainmenueListAdapter adapter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+/*
+ //Prüfen ob Internet vorhanden
+ if (isOnline()==false){
+ pDialog = new ProgressDialog(MainActivity.this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Keine Internetverbindung! \n\nDiese App benötigt eine funktionierende Internetverbindung.");
+ pDialog.setCancelable(false);
+ pDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Beenden", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ moveTaskToBack(true);
+ finish();
+ //return true;
+ }
+ });
+ pDialog.show();
+ }
+*/
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new MainmenueListAdapter(this, mainmenueList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ //actionBar.setDisplayHomeAsUpEnabled(true);
+
+ //Listbox füllen
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ startMenueActivity(mainmenueList.get(+position).getObjectActivity(), mainmenueList.get(+position).getObjectId(), mainmenueList.get(+position).getTitle());
+ }
+ });
+
+
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade...");
+ pDialog.show();
+
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ Mainmenue mainmenue = new Mainmenue();
+ mainmenue.setTitle(obj.getString("title"));
+ mainmenue.setImage(obj.getString("image"));
+ mainmenue.setObjectId(obj.getString("objectId"));
+ mainmenue.setAnzahl(obj.getString("anzahl"));
+ mainmenue.setBeschreibung(obj.getString("beschreibung"));
+ mainmenue.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ mainmenueList.add(mainmenue);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID, String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID",objectID);
+ openNewIntent.putExtra("titel",titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.main_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ mainmenueList.clear();
+ updateListView();
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ public boolean isOnline() {
+
+ Runtime runtime = Runtime.getRuntime();
+ try {
+
+ Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
+ int exitValue = ipProcess.waitFor();
+ return (exitValue == 0);
+
+ } catch (IOException e) { e.printStackTrace(); }
+ catch (InterruptedException e) { e.printStackTrace(); }
+
+ return false;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/NewsActivity.java b/app/src/main/java/com/raataar/zitate_allinone/NewsActivity.java
new file mode 100644
index 0000000..4f214bc
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/NewsActivity.java
@@ -0,0 +1,242 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.Window;
+import android.widget.TextView;
+
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.app.AppController;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+
+
+public class NewsActivity extends Activity {
+ // Log tag
+ private static final String TAG = NewsActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-news/";
+ private ProgressDialog pDialog;
+ private String urlObjectId;
+ private String customTitle;
+ private String Anzahl;
+
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_news);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ this.setTitle("News");
+ if(bundlevalues!=null)
+ {
+
+ urlObjectId = (String) bundlevalues.get("objectID");
+ customTitle=(String) bundlevalues.get("titel");
+ this.setTitle("Weisheit: " + customTitle);
+
+ }
+
+
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ updateNews();
+
+
+
+ }
+
+
+public void updateNews(){
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade News...");
+ pDialog.show();
+
+ //URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+
+
+ NetworkImageView news_image = (NetworkImageView)findViewById(R.id.news_image);
+
+ TextView news_title = (TextView)findViewById(R.id.news_title);
+ TextView objectid = (TextView)findViewById(R.id.objectid);
+
+ TextView news_content = (TextView)findViewById(R.id.news_content);
+
+ news_image.setImageUrl(obj.getString("news_image"), imageLoader);
+ news_title.setText(obj.getString("news_title"));
+ objectid.setText(obj.getString("objectId"));
+ news_content.setText(obj.getString("news_content"));
+
+ urlObjectId=obj.getString("objectId");
+ Anzahl=obj.getString("anzahl");
+
+ //Toast.makeText(NewsActivity.this, obj.getString("lastId") + " xxx " + obj.getString("objectId"), Toast.LENGTH_SHORT).show();
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+}
+
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+ public void startMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity( openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.news_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_refresh:
+ updateNews();
+ return true;
+ case R.id.action_search:
+ startSubMenueActivity("SuchenActivity");
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/SuchenActivity.java b/app/src/main/java/com/raataar/zitate_allinone/SuchenActivity.java
new file mode 100644
index 0000000..aa26d61
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/SuchenActivity.java
@@ -0,0 +1,175 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.EditText;
+
+import com.android.volley.toolbox.ImageLoader;
+import com.raataar.zitate_allinone.app.AppController;
+
+import java.lang.reflect.Method;
+
+
+public class SuchenActivity extends Activity {
+ // Log tag
+ private static final String TAG = SuchenActivity.class.getSimpleName();
+
+ // Json url
+ private static final String url = "http://api.raataar.de";
+ private ProgressDialog pDialog;
+ private String kategorie_id;
+ private String searchtext;
+ private String customTitle;
+ private String Anzahl;
+
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_suchen);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ this.setTitle("Suchen");
+ if(bundlevalues!=null)
+ {
+
+ kategorie_id = (String) bundlevalues.get("kategorie_id");
+ searchtext = (String) bundlevalues.get("searchtext");
+ customTitle=(String) bundlevalues.get("titel");
+
+
+ }
+
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+
+ }
+
+
+
+ public void searchNow(View view) {
+ // Do something in response to button
+ EditText editText = (EditText) findViewById(R.id.searchtext);
+
+ String searchText;
+ searchText=editText.getText().toString();
+ searchText=searchText.replaceAll("ä", "#ae#");
+ searchText=searchText.replaceAll("Ä", "#Ae#");
+ searchText=searchText.replaceAll("ü","#ue#");
+ searchText=searchText.replaceAll("Ü","#Ue#");
+ searchText=searchText.replaceAll("Ö","#Oe#");
+ searchText=searchText.replaceAll("ö","#oe#");
+ searchText=searchText.replaceAll("ß","#ss#");
+ startMenueActivity("SuchenByIDActivity", searchText);
+ //Toast.makeText(SuchenActivity.this, "Nicht gefunden Activity ", Toast.LENGTH_SHORT).show();
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+ public void startMenueActivity(String MyClass,String searchtext){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ openNewIntent.putExtra("searchtext", searchtext);
+ startActivity( openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.search_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/SuchenByIDActivity.java b/app/src/main/java/com/raataar/zitate_allinone/SuchenByIDActivity.java
new file mode 100644
index 0000000..66af6bd
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/SuchenByIDActivity.java
@@ -0,0 +1,288 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.raataar.zitate_allinone.adater.SuchenByIDListAdapter;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.SuchenByID;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class SuchenByIDActivity extends Activity {
+ // Log tag
+ private static final String TAG = SuchenByIDActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-zitat-suche/";
+ private ProgressDialog pDialog;
+ private List suchenbyidList = new ArrayList();
+ private ListView listView;
+ private SuchenByIDListAdapter adapter;
+ private String urlObjectId;
+ private String customTitle;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_kategorie);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ this.setTitle("Suchen");
+ if(bundlevalues!=null)
+ {
+ urlObjectId=(String) bundlevalues.get("objectID");
+ customTitle=(String) bundlevalues.get("searchtext");
+
+ String searchText;
+ searchText=customTitle;
+ searchText=searchText.replaceAll("#ae#","ä");
+ searchText=searchText.replaceAll("#Ae#","Ä");
+ searchText=searchText.replaceAll("#ue#","ü");
+ searchText=searchText.replaceAll("#Ue#","Ü");
+ searchText=searchText.replaceAll("#Oe#","Ö");
+ searchText=searchText.replaceAll("#oe#","ö");
+ searchText=searchText.replaceAll("#ss#","ß");
+
+
+
+ this.setTitle("Suchen nach - " + searchText);
+ //Textv.setText(j);
+ }
+
+
+ listView = (ListView) findViewById(R.id.list);
+ adapter = new SuchenByIDListAdapter(this, suchenbyidList);
+ listView.setAdapter(adapter);
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+ updateListView();
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ //Toast.makeText(MainActivity.this, "You Clicked at " + mainmenueList.get(+position).getObjectId(), Toast.LENGTH_SHORT).show();
+ String mysubstring;
+ if (suchenbyidList.get(+position).getZitat().length()>25){
+ mysubstring=suchenbyidList.get(+position).getZitat().substring(0,25) + "...";
+ }
+ else{
+ mysubstring=suchenbyidList.get(+position).getZitat();
+ }
+
+ startMenueActivity(suchenbyidList.get(+position).getObjectActivity(),suchenbyidList.get(+position).getObjectId(),mysubstring);
+ }
+ });
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+
+ public void updateListView() {
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Suchergebnisse...");
+ pDialog.show();
+
+
+ //URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url + "/" + customTitle
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+ //Toast.makeText(KategorieByIDActivity.this, urlObjectId, Toast.LENGTH_SHORT).show();
+ //Toast.makeText(MainActivity.this, String.valueOf(response.length()), Toast.LENGTH_SHORT).show();
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+ SuchenByID suchenbyidlist = new SuchenByID();
+ suchenbyidlist.setZitat(obj.getString("zitat"));
+ suchenbyidlist.setImage(obj.getString("image"));
+ suchenbyidlist.setObjectId(obj.getString("objectId"));
+ suchenbyidlist.setAutoren_text(obj.getString("autoren_text"));
+ suchenbyidlist.setKategorie_text(obj.getString("kategorie_text"));
+ suchenbyidlist.setAutor_id(obj.getString("autor_id"));
+ suchenbyidlist.setKategorie_id(obj.getString("kategorie_id"));
+ suchenbyidlist.setObjectActivity(obj.getString("objectActivity"));
+
+ // adding movie to movies array
+ suchenbyidList.add(suchenbyidlist);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ /** Keine Ergebnisse **/
+ if ( response.length()==0){
+
+ pDialog = new ProgressDialog(SuchenByIDActivity.this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Leider keine Treffer gefunden.");
+ pDialog.setCancelable(false);
+ pDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Zurück", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+
+ dialog.dismiss();
+ finish();
+ }
+ });
+ pDialog.show();
+
+
+ }
+
+ // notifying list adapter about data changes
+ // so that it renders the list view with updated data
+ adapter.notifyDataSetChanged();
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+ }
+
+ public void startMenueActivity(String MyClass, String objectID, String titel){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ //Toast.makeText(MainActivity.this, "Starte Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ openNewIntent.putExtra("objectID",objectID);
+ openNewIntent.putExtra("titel", titel);
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ //Toast.makeText(MainActivity.this, "Nicht gefunden Activity " + MyClass, Toast.LENGTH_SHORT).show();
+ e.printStackTrace();
+ }
+
+ }
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.search_menu, menu);
+ return true;
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/ZitatActivity.java b/app/src/main/java/com/raataar/zitate_allinone/ZitatActivity.java
new file mode 100644
index 0000000..08d9206
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/ZitatActivity.java
@@ -0,0 +1,321 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.text.Html;
+import android.text.method.LinkMovementMethod;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+
+import android.view.Window;
+import android.widget.*;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.util.RoundedTransformation;
+import com.squareup.picasso.Picasso;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+
+
+
+
+public class ZitatActivity extends Activity {
+ // Log tag
+ private static final String TAG = ZitatActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-zitat/";
+ private ProgressDialog pDialog;
+ private String urlObjectId;
+ private String customTitle;
+ private String zitatsharetext;
+ private String HTMLImageLink;
+ private String HTMLAutorLink;
+
+
+ //Intent für den Sharbutton
+ private Intent shareIntent;
+
+ //ShareButtonProvider
+ private ShareActionProvider mShareActionProvider;
+
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_zitat);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ shareIntent = new Intent(android.content.Intent.ACTION_SEND);
+ shareIntent.setType("text/plain");
+
+ this.setTitle("Zitat");
+ if(bundlevalues!=null)
+ {
+ if(urlObjectId=="menue_zufall" || urlObjectId==null) {
+ urlObjectId = (String) bundlevalues.get("objectID");
+ }
+ customTitle=(String) bundlevalues.get("titel");
+ this.setTitle("Weisheit: " + customTitle);
+ //Textv.setText(j);
+ }
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ //actionBar.setDisplayHomeAsUpEnabled(true);
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Weisheit...");
+ pDialog.show();
+
+
+ //URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString());
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url + "/" + urlObjectId
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+
+
+ NetworkImageView kategorie_image = (NetworkImageView)findViewById(R.id.kategorie_image);
+
+
+ ImageView autoren_imagepic = (ImageView)findViewById(R.id.autoren_imagepic);
+
+
+ TextView zitat = (TextView)findViewById(R.id.zitat);
+ TextView objectid = (TextView)findViewById(R.id.objectid);
+ TextView autoren_id = (TextView)findViewById(R.id.autoren_id);
+ TextView kategorie_id = (TextView)findViewById(R.id.kategorie_id);
+
+
+ TextView kategorie_text = (TextView)findViewById(R.id.kategorie_text);
+ TextView kategorie_beschreibung = (TextView)findViewById(R.id.kategorie_beschreibung);
+ TextView autoren_text = (TextView)findViewById(R.id.autoren_text);
+ TextView autoren_beschreibung = (TextView)findViewById(R.id.autoren_beschreibung);
+ TextView autoren_imagequelle = (TextView)findViewById(R.id.autoren_imagequelle);
+ TextView autoren_moreinfo = (TextView)findViewById(R.id.autoren_moreinfo);
+
+ LinearLayout autoren_infoview= (LinearLayout)findViewById(R.id.autoren_infoview);
+
+ kategorie_image.setImageUrl(obj.getString("kategorie_image"), imageLoader);
+
+ Picasso.with(getApplicationContext())
+ .load(obj.getString("autor_image"))
+ .transform(new RoundedTransformation(8, 0))
+ .fit()
+ .into(autoren_imagepic);
+
+
+ // Zitat
+ zitat.setText(obj.getString("zitat"));
+
+ //Zitat für SHARE-Button
+ zitatsharetext=obj.getString("zitat");
+ zitatsharetext=zitatsharetext + " Von " + obj.getString("autoren_text");
+
+ //ShareButton Content übergeben
+ shareIntent.putExtra(Intent.EXTRA_SUBJECT, "");
+ shareIntent.putExtra(Intent.EXTRA_TEXT, zitatsharetext);
+
+ autoren_text.setText("Autor: " + obj.getString("autoren_text"));
+ kategorie_text.setText("Kategorie: " + obj.getString("kategorie_text"));
+
+ // objectid
+ objectid.setText(obj.getString("objectId"));
+
+ autoren_id.setText(obj.getString("autor_id"));
+ kategorie_id.setText(obj.getString("kategorie_id"));
+
+ autoren_beschreibung.setText(obj.getString("autoren_beschreibung"));
+ kategorie_beschreibung.setText(obj.getString("kategorie_beschreibung"));
+
+ HTMLImageLink=obj.getString("autoren_imagequelle");
+ HTMLAutorLink=obj.getString("autoren_wikilink");
+
+ autoren_imagequelle.setText(Html.fromHtml(HTMLImageLink));
+ autoren_imagequelle.setMovementMethod(LinkMovementMethod.getInstance());
+ autoren_moreinfo.setText(Html.fromHtml(HTMLAutorLink));
+ autoren_moreinfo.setMovementMethod(LinkMovementMethod.getInstance());
+
+ if (HTMLAutorLink.length()<3){
+
+ autoren_infoview.setVisibility(View.GONE);
+ //autoren_infoview
+
+ }
+
+ urlObjectId=obj.getString("objectId");
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+
+
+
+ }
+
+ public void showImage(View v)
+ {
+
+ }
+
+
+
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+ public void startMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity( openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.zitat_menu, menu);
+
+ /** Share-Button inalisieren */
+ mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
+ mShareActionProvider.setShareIntent(shareIntent);
+ mShareActionProvider.onCreateActionView();
+ /** Sharebutton-Ini-ende **/
+
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/ZufallZitatActivity.java b/app/src/main/java/com/raataar/zitate_allinone/ZufallZitatActivity.java
new file mode 100644
index 0000000..da8bea5
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/ZufallZitatActivity.java
@@ -0,0 +1,321 @@
+package com.raataar.zitate_allinone;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.text.Html;
+import android.text.method.LinkMovementMethod;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.Window;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ShareActionProvider;
+import android.widget.TextView;
+import com.android.volley.Response;
+import com.android.volley.VolleyError;
+import com.android.volley.VolleyLog;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.JsonArrayRequest;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.util.RoundedTransformation;
+import com.squareup.picasso.Picasso;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Method;
+
+
+public class ZufallZitatActivity extends Activity {
+ // Log tag
+ private static final String TAG = ZufallZitatActivity.class.getSimpleName();
+
+ // Json url
+ private String url = "http://api.raataar.de/sapientia-zitat/";
+ private ProgressDialog pDialog;
+ private String urlObjectId;
+ private String customTitle;
+ private String zitatsharetext;
+ private String HTMLImageLink;
+ private String HTMLAutorLink;
+
+
+ //Intent für den Sharbutton
+ private Intent shareIntent;
+
+ //ShareButtonProvider
+ private ShareActionProvider mShareActionProvider;
+
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_zufallzitat);
+
+ Intent intent= getIntent();
+ Bundle bundlevalues = intent.getExtras();
+
+ shareIntent = new Intent(Intent.ACTION_SEND);
+ shareIntent.setType("text/plain");
+
+ this.setTitle("Zitat");
+ if(bundlevalues!=null)
+ {
+ if(urlObjectId=="menue_zufall" || urlObjectId==null) {
+ urlObjectId = (String) bundlevalues.get("objectID");
+ }
+ customTitle=(String) bundlevalues.get("titel");
+ this.setTitle("Weisheit: " + customTitle);
+ //Textv.setText(j);
+ }
+
+ // changing action bar color
+ getActionBar().setBackgroundDrawable(
+ new ColorDrawable(Color.parseColor("#1b1b1b")));
+
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+
+ pDialog = new ProgressDialog(this);
+ // Showing progress dialog before making http request
+ pDialog.setMessage("Lade Weisheit...");
+ pDialog.show();
+
+
+ //URL anpassen
+ url = url + AppController.getMD5(getApplicationInfo().loadLabel(getPackageManager()).toString()) + "/zitat";
+
+ // Creating volley request obj
+ JsonArrayRequest menueReq = new JsonArrayRequest(url
+ , new Response.Listener() {
+
+ @Override
+ public void onResponse(JSONArray response) {
+ Log.d(TAG, response.toString());
+ hidePDialog();
+
+
+ // Parsing json
+ for (int i = 0; i < response.length(); i++) {
+ try {
+
+ JSONObject obj = response.getJSONObject(i);
+
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+
+
+ NetworkImageView kategorie_image = (NetworkImageView)findViewById(R.id.kategorie_image);
+ ImageView autoren_imagepic = (ImageView)findViewById(R.id.autoren_imagepic);
+
+
+ TextView zitat = (TextView)findViewById(R.id.zitat);
+ TextView objectid = (TextView)findViewById(R.id.objectid);
+ TextView autoren_id = (TextView)findViewById(R.id.autoren_id);
+ TextView kategorie_id = (TextView)findViewById(R.id.kategorie_id);
+
+
+ TextView kategorie_text = (TextView)findViewById(R.id.kategorie_text);
+ TextView kategorie_beschreibung = (TextView)findViewById(R.id.kategorie_beschreibung);
+ TextView autoren_text = (TextView)findViewById(R.id.autoren_text);
+ TextView autoren_beschreibung = (TextView)findViewById(R.id.autoren_beschreibung);
+ TextView autoren_imagequelle = (TextView)findViewById(R.id.autoren_imagequelle);
+ TextView autoren_moreinfo = (TextView)findViewById(R.id.autoren_moreinfo);
+
+ LinearLayout autoren_infoview= (LinearLayout)findViewById(R.id.autoren_infoview);
+
+ kategorie_image.setImageUrl(obj.getString("kategorie_image"), imageLoader);
+
+ Picasso.with(getApplicationContext())
+ .load(obj.getString("autor_image"))
+ .transform(new RoundedTransformation(8, 0))
+ .fit()
+ .into(autoren_imagepic);
+
+
+ // Zitat
+ zitat.setText(obj.getString("zitat"));
+
+ //Zitat für SHARE-Button
+ zitatsharetext=obj.getString("zitat");
+ zitatsharetext=zitatsharetext + " Von " + obj.getString("autoren_text");
+
+ //ShareButton Content übergeben
+ shareIntent.putExtra(Intent.EXTRA_SUBJECT, "");
+ shareIntent.putExtra(Intent.EXTRA_TEXT, zitatsharetext);
+
+ autoren_text.setText("Autor: " + obj.getString("autoren_text"));
+ kategorie_text.setText("Kategorie: " + obj.getString("kategorie_text"));
+
+ // objectid
+ objectid.setText(obj.getString("objectId"));
+
+ autoren_id.setText(obj.getString("autor_id"));
+ kategorie_id.setText(obj.getString("kategorie_id"));
+
+ autoren_beschreibung.setText(obj.getString("autoren_beschreibung"));
+ kategorie_beschreibung.setText(obj.getString("kategorie_beschreibung"));
+
+ HTMLImageLink=obj.getString("autoren_imagequelle");
+ HTMLAutorLink=obj.getString("autoren_wikilink");
+
+ autoren_imagequelle.setText(Html.fromHtml(HTMLImageLink));
+ autoren_imagequelle.setMovementMethod(LinkMovementMethod.getInstance());
+ autoren_moreinfo.setText(Html.fromHtml(HTMLAutorLink));
+ autoren_moreinfo.setMovementMethod(LinkMovementMethod.getInstance());
+
+
+ if (HTMLAutorLink.length()<3){
+
+ autoren_infoview.setVisibility(View.GONE);
+ //autoren_infoview
+
+ }
+
+
+ urlObjectId=obj.getString("objectId");
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ }
+ }, new Response.ErrorListener() {
+
+ @Override
+ public void onErrorResponse(VolleyError error) {
+ VolleyLog.d(TAG, "Error: " + error.getMessage());
+ hidePDialog();
+
+ }
+
+
+ });
+ // Adding request to request queue
+ AppController.getInstance().addToRequestQueue(menueReq);
+
+
+
+ }
+
+ public void loadNextZitat(View v)
+ {
+ startMenueActivity("ZufallZitatActivity");
+ }
+
+
+
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ hidePDialog();
+ }
+
+ public void startMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ openNewIntent.putExtra("objectID","menue_zufall");
+ openNewIntent.putExtra("titel","Weisheit: Zufall");
+ startActivity( openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+ private void hidePDialog() {
+ if (pDialog != null) {
+ pDialog.dismiss();
+ pDialog = null;
+ }
+ }
+
+
+ public void startSubMenueActivity(String MyClass){
+
+ try {
+ Intent openNewIntent = new Intent( this, Class.forName( AppController.getInstance().getPackageURL() + MyClass ) );
+ startActivity(openNewIntent );
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu; this adds items to the action bar if it is present.
+ getMenuInflater().inflate(R.menu.zitat_menu, menu);
+
+ /** Share-Button inalisieren */
+ mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
+ mShareActionProvider.setShareIntent(shareIntent);
+ mShareActionProvider.onCreateActionView();
+ /** Sharebutton-Ini-ende **/
+
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ /** FIX sorgt dafür das Icons im Menu dargestellt werden **/
+
+ @Override
+ public boolean onMenuOpened(int featureId, Menu menu)
+ {
+ if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
+ if(menu.getClass().getSimpleName().equals("MenuBuilder")){
+ try{
+ Method m = menu.getClass().getDeclaredMethod(
+ "setOptionalIconsVisible", Boolean.TYPE);
+ m.setAccessible(true);
+ m.invoke(menu, true);
+ }
+ catch(NoSuchMethodException e){
+ Log.e(TAG, "onMenuOpened", e);
+ }
+ catch(Exception e){
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ return super.onMenuOpened(featureId, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.action_quit:
+ moveTaskToBack(true);
+ finish();
+ return true;
+ case R.id.action_kategorie:
+ startSubMenueActivity("KategorieActivity");
+ return true;
+ case R.id.action_autoren:
+ startSubMenueActivity("AutorenActivity");
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenByIDListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenByIDListAdapter.java
new file mode 100644
index 0000000..e592d4e
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenByIDListAdapter.java
@@ -0,0 +1,85 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.AutorenByID;
+
+import java.util.List;
+
+public class AutorenByIDListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List autorenItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public AutorenByIDListAdapter(Activity activity, List autorenItems) {
+ this.activity = activity;
+ this.autorenItems = autorenItems;
+ }
+
+ @Override
+ public int getCount() {
+ return autorenItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return autorenItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_autorenbyid, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView zitat = (TextView) convertView.findViewById(R.id.zitat);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView zitatfooter = (TextView) convertView.findViewById(R.id.zitatfooter);
+ TextView autoren_id = (TextView) convertView.findViewById(R.id.autoren_id);
+ TextView kategorie_id = (TextView) convertView.findViewById(R.id.kategorie_id);
+
+
+ // getting movie data for the row
+ AutorenByID m = autorenItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getImage(), imageLoader);
+
+ // Zitat
+ zitat.setText(m.getZitat());
+
+ // Zitatfooter
+ zitatfooter.setText("Kategorie: " + m.getKategorie_text());
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ autoren_id.setText(m.getAutor_id());
+ kategorie_id.setText(m.getKategorie_id());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenListAdapter.java
new file mode 100644
index 0000000..4b12700
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/AutorenListAdapter.java
@@ -0,0 +1,93 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.volley.toolbox.ImageLoader;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Autoren;
+import com.raataar.zitate_allinone.util.RoundedTransformation;
+import com.squareup.picasso.Picasso;
+
+
+import java.util.List;
+
+public class AutorenListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List autorenItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public AutorenListAdapter(Activity activity, List kategorieItems) {
+ this.activity = activity;
+ this.autorenItems = kategorieItems;
+ }
+
+ @Override
+ public int getCount() {
+ return autorenItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return autorenItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_autoren, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+
+
+ ImageView thumbnail = (ImageView) convertView.findViewById(R.id.thumbnail);
+
+ TextView title = (TextView) convertView.findViewById(R.id.title);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView anzahl = (TextView) convertView.findViewById(R.id.anzahl);
+ TextView beschreibung = (TextView) convertView.findViewById(R.id.beschreibung);
+
+
+ // getting movie data for the row
+ Autoren m = autorenItems.get(position);
+
+
+ Picasso.with(this.activity)
+ .load(m.getImage())
+ .transform(new RoundedTransformation(8, 0))
+ .fit()
+ .into(thumbnail);
+
+ // title
+ title.setText(m.getTitle());
+
+ // anzahl
+ anzahl.setText("Erfasste Weisheiten: " + String.valueOf(m.getAnzahl()));
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ beschreibung.setText(m.getBeschreibung());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/CustomListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/CustomListAdapter.java
new file mode 100644
index 0000000..55f1242
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/CustomListAdapter.java
@@ -0,0 +1,89 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Movie;
+
+import java.util.List;
+
+public class CustomListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List movieItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public CustomListAdapter(Activity activity, List movieItems) {
+ this.activity = activity;
+ this.movieItems = movieItems;
+ }
+
+ @Override
+ public int getCount() {
+ return movieItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return movieItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_row, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView title = (TextView) convertView.findViewById(R.id.title);
+ TextView rating = (TextView) convertView.findViewById(R.id.rating);
+ TextView genre = (TextView) convertView.findViewById(R.id.genre);
+ TextView year = (TextView) convertView.findViewById(R.id.releaseYear);
+
+ // getting movie data for the row
+ Movie m = movieItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getThumbnailUrl(), imageLoader);
+
+ // title
+ title.setText(m.getTitle());
+
+ // rating
+ rating.setText("Rating: " + String.valueOf(m.getRating()));
+
+ // genre
+ String genreStr = "";
+ for (String str : m.getGenre()) {
+ genreStr += str + ", ";
+ }
+ genreStr = genreStr.length() > 0 ? genreStr.substring(0,
+ genreStr.length() - 2) : genreStr;
+ genre.setText(genreStr);
+
+ // release year
+ year.setText(String.valueOf(m.getYear()));
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieByIDListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieByIDListAdapter.java
new file mode 100644
index 0000000..d13474f
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieByIDListAdapter.java
@@ -0,0 +1,85 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.KategorieByID;
+
+import java.util.List;
+
+public class KategorieByIDListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List kategorieItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public KategorieByIDListAdapter(Activity activity, List kategorieItems) {
+ this.activity = activity;
+ this.kategorieItems = kategorieItems;
+ }
+
+ @Override
+ public int getCount() {
+ return kategorieItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return kategorieItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_kategoriebyid, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView zitat = (TextView) convertView.findViewById(R.id.zitat);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView zitatfooter = (TextView) convertView.findViewById(R.id.zitatfooter);
+ TextView autoren_id = (TextView) convertView.findViewById(R.id.autoren_id);
+ TextView kategorie_id = (TextView) convertView.findViewById(R.id.kategorie_id);
+
+
+ // getting movie data for the row
+ KategorieByID m = kategorieItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getImage(), imageLoader);
+
+ // Zitat
+ zitat.setText(m.getZitat());
+
+ // Zitatfooter
+ zitatfooter.setText("Autor: " + m.getAutoren_text());
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ autoren_id.setText(m.getAutor_id());
+ kategorie_id.setText(m.getKategorie_id());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieListAdapter.java
new file mode 100644
index 0000000..924c281
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/KategorieListAdapter.java
@@ -0,0 +1,83 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Kategorie;
+
+import java.util.List;
+
+public class KategorieListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List kategorieItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public KategorieListAdapter(Activity activity, List kategorieItems) {
+ this.activity = activity;
+ this.kategorieItems = kategorieItems;
+ }
+
+ @Override
+ public int getCount() {
+ return kategorieItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return kategorieItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_kategorie, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView title = (TextView) convertView.findViewById(R.id.title);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView anzahl = (TextView) convertView.findViewById(R.id.anzahl);
+ TextView beschreibung = (TextView) convertView.findViewById(R.id.beschreibung);
+
+
+ // getting movie data for the row
+ Kategorie m = kategorieItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getImage(), imageLoader);
+
+ // title
+ title.setText(m.getTitle());
+
+ // anzahl
+ anzahl.setText("Erfasste Weisheiten: " + String.valueOf(m.getAnzahl()));
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ beschreibung.setText(m.getBeschreibung());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/MainmenueListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/MainmenueListAdapter.java
new file mode 100644
index 0000000..ff7e27a
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/MainmenueListAdapter.java
@@ -0,0 +1,83 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.Mainmenue;
+
+import java.util.List;
+
+public class MainmenueListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List mainmenueItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public MainmenueListAdapter(Activity activity, List mainmenueItems) {
+ this.activity = activity;
+ this.mainmenueItems = mainmenueItems;
+ }
+
+ @Override
+ public int getCount() {
+ return mainmenueItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return mainmenueItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_mainmenue, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView title = (TextView) convertView.findViewById(R.id.title);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView anzahl = (TextView) convertView.findViewById(R.id.anzahl);
+ TextView beschreibung = (TextView) convertView.findViewById(R.id.beschreibung);
+
+
+ // getting movie data for the row
+ Mainmenue m = mainmenueItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getImage(), imageLoader);
+
+ // title
+ title.setText(m.getTitle());
+
+ // anzahl
+ anzahl.setText("Anzahl: " + String.valueOf(m.getAnzahl()));
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ beschreibung.setText(m.getBeschreibung());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/adater/SuchenByIDListAdapter.java b/app/src/main/java/com/raataar/zitate_allinone/adater/SuchenByIDListAdapter.java
new file mode 100644
index 0000000..13f70f1
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/adater/SuchenByIDListAdapter.java
@@ -0,0 +1,85 @@
+package com.raataar.zitate_allinone.adater;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.NetworkImageView;
+import com.raataar.zitate_allinone.R;
+import com.raataar.zitate_allinone.app.AppController;
+import com.raataar.zitate_allinone.model.SuchenByID;
+
+import java.util.List;
+
+public class SuchenByIDListAdapter extends BaseAdapter {
+ private Activity activity;
+ private LayoutInflater inflater;
+ private List suchenItems;
+ ImageLoader imageLoader = AppController.getInstance().getImageLoader();
+
+ public SuchenByIDListAdapter(Activity activity, List suchenItems) {
+ this.activity = activity;
+ this.suchenItems = suchenItems;
+ }
+
+ @Override
+ public int getCount() {
+ return suchenItems.size();
+ }
+
+ @Override
+ public Object getItem(int location) {
+ return suchenItems.get(location);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+
+ if (inflater == null)
+ inflater = (LayoutInflater) activity
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ if (convertView == null)
+ convertView = inflater.inflate(R.layout.list_kategoriebyid, null);
+
+ if (imageLoader == null)
+ imageLoader = AppController.getInstance().getImageLoader();
+ NetworkImageView thumbNail = (NetworkImageView) convertView
+ .findViewById(R.id.thumbnail);
+ TextView zitat = (TextView) convertView.findViewById(R.id.zitat);
+ TextView objectid = (TextView) convertView.findViewById(R.id.objectid);
+ TextView zitatfooter = (TextView) convertView.findViewById(R.id.zitatfooter);
+ TextView autoren_id = (TextView) convertView.findViewById(R.id.autoren_id);
+ TextView kategorie_id = (TextView) convertView.findViewById(R.id.kategorie_id);
+
+
+ // getting movie data for the row
+ SuchenByID m = suchenItems.get(position);
+
+ // thumbnail image
+ thumbNail.setImageUrl(m.getImage(), imageLoader);
+
+ // Zitat
+ zitat.setText(m.getZitat());
+
+ // Zitatfooter
+ zitatfooter.setText("Autor: " + m.getAutoren_text() + " / Kat.: " + m.getKategorie_text());
+
+ // objectid
+ objectid.setText(m.getObjectId());
+
+ autoren_id.setText(m.getAutor_id());
+ kategorie_id.setText(m.getKategorie_id());
+
+ return convertView;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/app/AppController.java b/app/src/main/java/com/raataar/zitate_allinone/app/AppController.java
new file mode 100644
index 0000000..6d10cf7
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/app/AppController.java
@@ -0,0 +1,102 @@
+package com.raataar.zitate_allinone.app;
+
+import android.app.Application;
+import android.text.TextUtils;
+import com.android.volley.Request;
+import com.android.volley.RequestQueue;
+import com.android.volley.toolbox.ImageLoader;
+import com.android.volley.toolbox.Volley;
+import com.raataar.zitate_allinone.util.LruBitmapCache;
+
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+public class AppController extends Application {
+
+ public static final String TAG = AppController.class.getSimpleName();
+
+ private RequestQueue mRequestQueue;
+ private ImageLoader mImageLoader;
+
+ private static AppController mInstance;
+
+ //Application Global-Vars :) by C.H.
+ private String packageURL = "com.raataar.zitate_allinone.";
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ mInstance = this;
+ }
+
+ public static synchronized AppController getInstance() {
+ return mInstance;
+ }
+
+ public RequestQueue getRequestQueue() {
+ if (mRequestQueue == null) {
+ mRequestQueue = Volley.newRequestQueue(getApplicationContext());
+ }
+
+ return mRequestQueue;
+ }
+
+ public ImageLoader getImageLoader() {
+ getRequestQueue();
+ if (mImageLoader == null) {
+ mImageLoader = new ImageLoader(this.mRequestQueue,
+ new LruBitmapCache());
+ }
+ return this.mImageLoader;
+ }
+
+ public void addToRequestQueue(Request req, String tag) {
+ // set the default tag if tag is empty
+ req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
+ getRequestQueue().add(req);
+ }
+
+ public void addToRequestQueue(Request req) {
+ req.setTag(TAG);
+ getRequestQueue().add(req);
+ }
+
+ public void cancelPendingRequests(Object tag) {
+ if (mRequestQueue != null) {
+ mRequestQueue.cancelAll(tag);
+ }
+ }
+
+ public String getPackageURL(){
+ return packageURL;
+ }
+
+ public static String getMD5(String toMd5){
+
+ MessageDigest md = null;
+ String digest = null;
+ try {
+ md = MessageDigest.getInstance("MD5");
+
+ byte[] hash = md.digest(toMd5.getBytes("UTF-8")); //converting byte array to Hexadecimal String
+ StringBuilder sb = new StringBuilder(2*hash.length);
+
+ for(byte b : hash){
+ sb.append(String.format("%02x", b&0xff));
+ }
+
+ digest = sb.toString();
+
+ } catch (NoSuchAlgorithmException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+
+ return digest;
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/Autoren.java b/app/src/main/java/com/raataar/zitate_allinone/model/Autoren.java
new file mode 100644
index 0000000..506ba78
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/Autoren.java
@@ -0,0 +1,71 @@
+package com.raataar.zitate_allinone.model;
+
+public class Autoren {
+ private String title;
+ private String image;
+ private String objectId;
+ private String anzahl;
+ private String beschreibung;
+ private String objectActivity;
+
+ public Autoren() {
+ }
+
+ public Autoren(String title, String image, String objectId, String anzahl, String beschreibung, String objectActivity) {
+ this.title = title;
+ this.image = image;
+ this.objectId = objectId;
+ this.anzahl = anzahl;
+ this.beschreibung = beschreibung;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getAnzahl() {
+ return anzahl;
+ }
+
+ public void setAnzahl(String anzahl) {
+ this.anzahl = anzahl;
+ }
+
+ public String getBeschreibung() {
+ return beschreibung;
+ }
+
+ public void setBeschreibung(String beschreibung) {
+ this.beschreibung = beschreibung;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/AutorenByID.java b/app/src/main/java/com/raataar/zitate_allinone/model/AutorenByID.java
new file mode 100644
index 0000000..7cd8c5a
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/AutorenByID.java
@@ -0,0 +1,93 @@
+package com.raataar.zitate_allinone.model;
+
+public class AutorenByID {
+
+ private String objectId;
+ private String kategorie_id;
+ private String autor_id;
+ private String zitat;
+ private String image;
+ private String autoren_text;
+ private String kategorie_text;
+ private String objectActivity;
+
+ public AutorenByID() {
+ }
+
+ public AutorenByID(String objectId, String kategorie_id, String autor_id, String zitat, String image, String autoren_text, String kategorie_text, String objectActivity) {
+ this.objectId = objectId;
+ this.kategorie_id = kategorie_id;
+ this.autor_id = autor_id;
+ this.zitat = zitat;
+ this.image = image;
+ this.autoren_text = autoren_text;
+ this.kategorie_text = kategorie_text;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getKategorie_id() {
+ return kategorie_id;
+ }
+
+ public void setKategorie_id(String kategorie_id) {
+ this.kategorie_id = kategorie_id;
+ }
+
+ public String getAutor_id() {
+ return autor_id;
+ }
+
+ public void setAutor_id(String autor_id) {
+ this.autor_id = autor_id;
+ }
+
+ public String getZitat() {
+ return zitat;
+ }
+
+ public void setZitat(String zitat) {
+ this.zitat = zitat;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+
+ public String getAutoren_text() {
+ return autoren_text;
+ }
+
+ public void setAutoren_text(String autoren_text) {
+ this.autoren_text = autoren_text;
+ }
+
+ public String getKategorie_text() {
+ return kategorie_text;
+ }
+
+ public void setKategorie_text(String kategorie_text) {
+ this.kategorie_text = kategorie_text;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/Kategorie.java b/app/src/main/java/com/raataar/zitate_allinone/model/Kategorie.java
new file mode 100644
index 0000000..23aa64d
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/Kategorie.java
@@ -0,0 +1,71 @@
+package com.raataar.zitate_allinone.model;
+
+public class Kategorie {
+ private String title;
+ private String image;
+ private String objectId;
+ private String anzahl;
+ private String beschreibung;
+ private String objectActivity;
+
+ public Kategorie() {
+ }
+
+ public Kategorie(String title, String image, String objectId, String anzahl, String beschreibung, String objectActivity) {
+ this.title = title;
+ this.image = image;
+ this.objectId = objectId;
+ this.anzahl = anzahl;
+ this.beschreibung = beschreibung;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getAnzahl() {
+ return anzahl;
+ }
+
+ public void setAnzahl(String anzahl) {
+ this.anzahl = anzahl;
+ }
+
+ public String getBeschreibung() {
+ return beschreibung;
+ }
+
+ public void setBeschreibung(String beschreibung) {
+ this.beschreibung = beschreibung;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/KategorieByID.java b/app/src/main/java/com/raataar/zitate_allinone/model/KategorieByID.java
new file mode 100644
index 0000000..082fbc5
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/KategorieByID.java
@@ -0,0 +1,93 @@
+package com.raataar.zitate_allinone.model;
+
+public class KategorieByID {
+
+ private String objectId;
+ private String kategorie_id;
+ private String autor_id;
+ private String zitat;
+ private String image;
+ private String autoren_text;
+ private String kategorie_text;
+ private String objectActivity;
+
+ public KategorieByID() {
+ }
+
+ public KategorieByID(String objectId, String kategorie_id,String autor_id, String zitat, String image, String autoren_text, String kategorie_text, String objectActivity) {
+ this.objectId = objectId;
+ this.kategorie_id = kategorie_id;
+ this.autor_id = autor_id;
+ this.zitat = zitat;
+ this.image = image;
+ this.autoren_text = autoren_text;
+ this.kategorie_text = kategorie_text;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getKategorie_id() {
+ return kategorie_id;
+ }
+
+ public void setKategorie_id(String kategorie_id) {
+ this.kategorie_id = kategorie_id;
+ }
+
+ public String getAutor_id() {
+ return autor_id;
+ }
+
+ public void setAutor_id(String autor_id) {
+ this.autor_id = autor_id;
+ }
+
+ public String getZitat() {
+ return zitat;
+ }
+
+ public void setZitat(String zitat) {
+ this.zitat = zitat;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+
+ public String getAutoren_text() {
+ return autoren_text;
+ }
+
+ public void setAutoren_text(String autoren_text) {
+ this.autoren_text = autoren_text;
+ }
+
+ public String getKategorie_text() {
+ return kategorie_text;
+ }
+
+ public void setKategorie_text(String kategorie_text) {
+ this.kategorie_text = kategorie_text;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/Mainmenue.java b/app/src/main/java/com/raataar/zitate_allinone/model/Mainmenue.java
new file mode 100644
index 0000000..dbba094
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/Mainmenue.java
@@ -0,0 +1,71 @@
+package com.raataar.zitate_allinone.model;
+
+public class Mainmenue {
+ private String title;
+ private String image;
+ private String objectId;
+ private String anzahl;
+ private String beschreibung;
+ private String objectActivity;
+
+ public Mainmenue() {
+ }
+
+ public Mainmenue(String title, String image, String objectId, String anzahl, String beschreibung, String objectActivity) {
+ this.title = title;
+ this.image = image;
+ this.objectId = objectId;
+ this.anzahl = anzahl;
+ this.beschreibung = beschreibung;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getAnzahl() {
+ return anzahl;
+ }
+
+ public void setAnzahl(String anzahl) {
+ this.anzahl = anzahl;
+ }
+
+ public String getBeschreibung() {
+ return beschreibung;
+ }
+
+ public void setBeschreibung(String beschreibung) {
+ this.beschreibung = beschreibung;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/Movie.java b/app/src/main/java/com/raataar/zitate_allinone/model/Movie.java
new file mode 100644
index 0000000..b7608b0
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/Movie.java
@@ -0,0 +1,63 @@
+package com.raataar.zitate_allinone.model;
+
+import java.util.ArrayList;
+
+public class Movie {
+ private String title, thumbnailUrl;
+ private int year;
+ private double rating;
+ private ArrayList genre;
+
+ public Movie() {
+ }
+
+ public Movie(String name, String thumbnailUrl, int year, double rating,
+ ArrayList genre) {
+ this.title = name;
+ this.thumbnailUrl = thumbnailUrl;
+ this.year = year;
+ this.rating = rating;
+ this.genre = genre;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String name) {
+ this.title = name;
+ }
+
+ public String getThumbnailUrl() {
+ return thumbnailUrl;
+ }
+
+ public void setThumbnailUrl(String thumbnailUrl) {
+ this.thumbnailUrl = thumbnailUrl;
+ }
+
+ public int getYear() {
+ return year;
+ }
+
+ public void setYear(int year) {
+ this.year = year;
+ }
+
+ public double getRating() {
+ return rating;
+ }
+
+ public void setRating(double rating) {
+ this.rating = rating;
+ }
+
+ public ArrayList getGenre() {
+ return genre;
+ }
+
+ public void setGenre(ArrayList genre) {
+ this.genre = genre;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/model/SuchenByID.java b/app/src/main/java/com/raataar/zitate_allinone/model/SuchenByID.java
new file mode 100644
index 0000000..587b3be
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/model/SuchenByID.java
@@ -0,0 +1,93 @@
+package com.raataar.zitate_allinone.model;
+
+public class SuchenByID {
+
+ private String objectId;
+ private String kategorie_id;
+ private String autor_id;
+ private String zitat;
+ private String image;
+ private String autoren_text;
+ private String kategorie_text;
+ private String objectActivity;
+
+ public SuchenByID() {
+ }
+
+ public SuchenByID(String objectId, String kategorie_id, String autor_id, String zitat, String image, String autoren_text, String kategorie_text, String objectActivity) {
+ this.objectId = objectId;
+ this.kategorie_id = kategorie_id;
+ this.autor_id = autor_id;
+ this.zitat = zitat;
+ this.image = image;
+ this.autoren_text = autoren_text;
+ this.kategorie_text = kategorie_text;
+ this.objectActivity = objectActivity;
+ }
+
+ public String getObjectId() {
+ return this.objectId;
+ }
+
+ public void setObjectId(String objectId) {
+ this.objectId = objectId;
+ }
+
+ public String getKategorie_id() {
+ return kategorie_id;
+ }
+
+ public void setKategorie_id(String kategorie_id) {
+ this.kategorie_id = kategorie_id;
+ }
+
+ public String getAutor_id() {
+ return autor_id;
+ }
+
+ public void setAutor_id(String autor_id) {
+ this.autor_id = autor_id;
+ }
+
+ public String getZitat() {
+ return zitat;
+ }
+
+ public void setZitat(String zitat) {
+ this.zitat = zitat;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+
+ public String getAutoren_text() {
+ return autoren_text;
+ }
+
+ public void setAutoren_text(String autoren_text) {
+ this.autoren_text = autoren_text;
+ }
+
+ public String getKategorie_text() {
+ return kategorie_text;
+ }
+
+ public void setKategorie_text(String kategorie_text) {
+ this.kategorie_text = kategorie_text;
+ }
+
+ public String getObjectActivity() {
+ return objectActivity;
+ }
+
+ public void setObjectActivity(String objectActivity) {
+ this.objectActivity = objectActivity;
+ }
+
+}
diff --git a/app/src/main/java/com/raataar/zitate_allinone/util/LruBitmapCache.java b/app/src/main/java/com/raataar/zitate_allinone/util/LruBitmapCache.java
new file mode 100644
index 0000000..2084f4c
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/util/LruBitmapCache.java
@@ -0,0 +1,38 @@
+package com.raataar.zitate_allinone.util;
+
+import android.graphics.Bitmap;
+import android.support.v4.util.LruCache;
+import com.android.volley.toolbox.ImageLoader.ImageCache;
+
+public class LruBitmapCache extends LruCache implements
+ ImageCache {
+ public static int getDefaultLruCacheSize() {
+ final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
+ final int cacheSize = maxMemory / 8;
+
+ return cacheSize;
+ }
+
+ public LruBitmapCache() {
+ this(getDefaultLruCacheSize());
+ }
+
+ public LruBitmapCache(int sizeInKiloBytes) {
+ super(sizeInKiloBytes);
+ }
+
+ @Override
+ protected int sizeOf(String key, Bitmap value) {
+ return value.getRowBytes() * value.getHeight() / 1024;
+ }
+
+ @Override
+ public Bitmap getBitmap(String url) {
+ return get(url);
+ }
+
+ @Override
+ public void putBitmap(String url, Bitmap bitmap) {
+ put(url, bitmap);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/raataar/zitate_allinone/util/RoundedTransformation.java b/app/src/main/java/com/raataar/zitate_allinone/util/RoundedTransformation.java
new file mode 100644
index 0000000..b75af52
--- /dev/null
+++ b/app/src/main/java/com/raataar/zitate_allinone/util/RoundedTransformation.java
@@ -0,0 +1,41 @@
+package com.raataar.zitate_allinone.util;
+
+import android.graphics.*;
+
+public class RoundedTransformation implements
+ com.squareup.picasso.Transformation {
+ private final int radius;
+ private final int margin; // dp
+
+ // radius is corner radii in dp
+ // margin is the board in dp
+ public RoundedTransformation(final int radius, final int margin) {
+ this.radius = radius;
+ this.margin = margin;
+ }
+
+ @Override
+ public Bitmap transform(final Bitmap source) {
+ final Paint paint = new Paint();
+ paint.setAntiAlias(true);
+ paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP,
+ Shader.TileMode.CLAMP));
+
+ Bitmap output = Bitmap.createBitmap(source.getWidth(),
+ source.getHeight(), Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(output);
+ canvas.drawRoundRect(new RectF(margin, margin, source.getWidth()
+ - margin, source.getHeight() - margin), radius, radius, paint);
+
+ if (source != output) {
+ source.recycle();
+ }
+
+ return output;
+ }
+
+ @Override
+ public String key() {
+ return "rounded";
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/bg.jpg b/app/src/main/res/drawable-hdpi/bg.jpg
new file mode 100644
index 0000000..6a64d59
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/bg.jpg differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_autor.png b/app/src/main/res/drawable-hdpi/ic_action_autor.png
new file mode 100644
index 0000000..128d0cd
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_exit.png b/app/src/main/res/drawable-hdpi/ic_action_exit.png
new file mode 100644
index 0000000..9da554b
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_kategorie.png b/app/src/main/res/drawable-hdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..df7ac03
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_refresh.png b/app/src/main/res/drawable-hdpi/ic_action_refresh.png
new file mode 100644
index 0000000..a93a488
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_search.png b/app/src/main/res/drawable-hdpi/ic_action_search.png
new file mode 100644
index 0000000..4b4052d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action_search.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_blank.png b/app/src/main/res/drawable-hdpi/ic_blank.png
new file mode 100644
index 0000000..caf2183
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_blank.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_launcher.png b/app/src/main/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..ae3ab27
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-ldpi/bg.jpg b/app/src/main/res/drawable-ldpi/bg.jpg
new file mode 100644
index 0000000..71913dd
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/bg.jpg differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action_autor.png b/app/src/main/res/drawable-ldpi/ic_action_autor.png
new file mode 100644
index 0000000..92b26aa
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action_exit.png b/app/src/main/res/drawable-ldpi/ic_action_exit.png
new file mode 100644
index 0000000..6d4a6c7
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action_kategorie.png b/app/src/main/res/drawable-ldpi/ic_action_kategorie.png
new file mode 100644
index 0000000..ed6969c
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action_refresh.png b/app/src/main/res/drawable-ldpi/ic_action_refresh.png
new file mode 100644
index 0000000..0109bbd
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action_search.png b/app/src/main/res/drawable-ldpi/ic_action_search.png
new file mode 100644
index 0000000..50216ce
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action_search.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_blank.png b/app/src/main/res/drawable-ldpi/ic_blank.png
new file mode 100644
index 0000000..5109ec6
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_blank.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_launcher.png b/app/src/main/res/drawable-ldpi/ic_launcher.png
new file mode 100644
index 0000000..76ab823
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-mdpi/bg.jpg b/app/src/main/res/drawable-mdpi/bg.jpg
new file mode 100644
index 0000000..adedf9f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/bg.jpg differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_autor.png b/app/src/main/res/drawable-mdpi/ic_action_autor.png
new file mode 100644
index 0000000..9d293aa
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_exit.png b/app/src/main/res/drawable-mdpi/ic_action_exit.png
new file mode 100644
index 0000000..434691c
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_kategorie.png b/app/src/main/res/drawable-mdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..682b246
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_refresh.png b/app/src/main/res/drawable-mdpi/ic_action_refresh.png
new file mode 100644
index 0000000..fe131b7
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_search.png b/app/src/main/res/drawable-mdpi/ic_action_search.png
new file mode 100644
index 0000000..87a8faa
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action_search.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_blank.png b/app/src/main/res/drawable-mdpi/ic_blank.png
new file mode 100644
index 0000000..e6f6c71
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_blank.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_launcher.png b/app/src/main/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..a667bdb
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xhdpi/bg.jpg b/app/src/main/res/drawable-xhdpi/bg.jpg
new file mode 100644
index 0000000..31582c0
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/bg.jpg differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_autor.png b/app/src/main/res/drawable-xhdpi/ic_action_autor.png
new file mode 100644
index 0000000..41aa120
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_exit.png b/app/src/main/res/drawable-xhdpi/ic_action_exit.png
new file mode 100644
index 0000000..88c3f4a
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_kategorie.png b/app/src/main/res/drawable-xhdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..ffdae8e
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xhdpi/ic_action_refresh.png
new file mode 100644
index 0000000..05ff736
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_search.png b/app/src/main/res/drawable-xhdpi/ic_action_search.png
new file mode 100644
index 0000000..b96918b
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action_search.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_blank.png b/app/src/main/res/drawable-xhdpi/ic_blank.png
new file mode 100644
index 0000000..8150162
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_blank.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_launcher.png b/app/src/main/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..2438bab
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/bg.jpg b/app/src/main/res/drawable-xxhdpi/bg.jpg
new file mode 100644
index 0000000..ffc7d66
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/bg.jpg differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_autor.png b/app/src/main/res/drawable-xxhdpi/ic_action_autor.png
new file mode 100644
index 0000000..4fa3eb2
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_exit.png b/app/src/main/res/drawable-xxhdpi/ic_action_exit.png
new file mode 100644
index 0000000..c12a204
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_kategorie.png b/app/src/main/res/drawable-xxhdpi/ic_action_kategorie.png
new file mode 100644
index 0000000..891af6f
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png
new file mode 100644
index 0000000..42fff6a
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_search.png b/app/src/main/res/drawable-xxhdpi/ic_action_search.png
new file mode 100644
index 0000000..95301a8
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action_search.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_blank.png b/app/src/main/res/drawable-xxhdpi/ic_blank.png
new file mode 100644
index 0000000..1281e11
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_blank.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..dfba6e6
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/bg.jpg b/app/src/main/res/drawable-xxxhdpi/bg.jpg
new file mode 100644
index 0000000..8726da2
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/bg.jpg differ
diff --git a/app/src/main/res/drawable/buttonshape.xml b/app/src/main/res/drawable/buttonshape.xml
new file mode 100644
index 0000000..d7dae64
--- /dev/null
+++ b/app/src/main/res/drawable/buttonshape.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_action_autor.png b/app/src/main/res/drawable/ic_action_autor.png
new file mode 100644
index 0000000..6de2f73
Binary files /dev/null and b/app/src/main/res/drawable/ic_action_autor.png differ
diff --git a/app/src/main/res/drawable/ic_action_exit.png b/app/src/main/res/drawable/ic_action_exit.png
new file mode 100644
index 0000000..6d63678
Binary files /dev/null and b/app/src/main/res/drawable/ic_action_exit.png differ
diff --git a/app/src/main/res/drawable/ic_action_kategorie.png b/app/src/main/res/drawable/ic_action_kategorie.png
new file mode 100644
index 0000000..b806497
Binary files /dev/null and b/app/src/main/res/drawable/ic_action_kategorie.png differ
diff --git a/app/src/main/res/drawable/ic_action_refresh.png b/app/src/main/res/drawable/ic_action_refresh.png
new file mode 100644
index 0000000..612f355
Binary files /dev/null and b/app/src/main/res/drawable/ic_action_refresh.png differ
diff --git a/app/src/main/res/drawable/ic_action_search.png b/app/src/main/res/drawable/ic_action_search.png
new file mode 100644
index 0000000..b548f3e
Binary files /dev/null and b/app/src/main/res/drawable/ic_action_search.png differ
diff --git a/app/src/main/res/drawable/ic_blank.png b/app/src/main/res/drawable/ic_blank.png
new file mode 100644
index 0000000..f82d0be
Binary files /dev/null and b/app/src/main/res/drawable/ic_blank.png differ
diff --git a/app/src/main/res/drawable/layout_bg.xml b/app/src/main/res/drawable/layout_bg.xml
new file mode 100644
index 0000000..42d9c90
--- /dev/null
+++ b/app/src/main/res/drawable/layout_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_row_bg.xml b/app/src/main/res/drawable/list_row_bg.xml
new file mode 100644
index 0000000..4a841cc
--- /dev/null
+++ b/app/src/main/res/drawable/list_row_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_row_bg_hover.xml b/app/src/main/res/drawable/list_row_bg_hover.xml
new file mode 100644
index 0000000..fff06f8
--- /dev/null
+++ b/app/src/main/res/drawable/list_row_bg_hover.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_row_selector.xml b/app/src/main/res/drawable/list_row_selector.xml
new file mode 100644
index 0000000..3effb52
--- /dev/null
+++ b/app/src/main/res/drawable/list_row_selector.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_autoren.xml b/app/src/main/res/layout/activity_autoren.xml
new file mode 100644
index 0000000..5fe0123
--- /dev/null
+++ b/app/src/main/res/layout/activity_autoren.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_kategorie.xml b/app/src/main/res/layout/activity_kategorie.xml
new file mode 100644
index 0000000..ed239b0
--- /dev/null
+++ b/app/src/main/res/layout/activity_kategorie.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..ed239b0
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_news.xml b/app/src/main/res/layout/activity_news.xml
new file mode 100644
index 0000000..8e13318
--- /dev/null
+++ b/app/src/main/res/layout/activity_news.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_suchen.xml b/app/src/main/res/layout/activity_suchen.xml
new file mode 100644
index 0000000..398d4a7
--- /dev/null
+++ b/app/src/main/res/layout/activity_suchen.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_suchenbyid.xml b/app/src/main/res/layout/activity_suchenbyid.xml
new file mode 100644
index 0000000..ed239b0
--- /dev/null
+++ b/app/src/main/res/layout/activity_suchenbyid.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_zitat.xml b/app/src/main/res/layout/activity_zitat.xml
new file mode 100644
index 0000000..ee1d414
--- /dev/null
+++ b/app/src/main/res/layout/activity_zitat.xml
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_zufallzitat.xml b/app/src/main/res/layout/activity_zufallzitat.xml
new file mode 100644
index 0000000..2413ea5
--- /dev/null
+++ b/app/src/main/res/layout/activity_zufallzitat.xml
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_autoren.xml b/app/src/main/res/layout/list_autoren.xml
new file mode 100644
index 0000000..72f1e20
--- /dev/null
+++ b/app/src/main/res/layout/list_autoren.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_autorenbyid.xml b/app/src/main/res/layout/list_autorenbyid.xml
new file mode 100644
index 0000000..b099849
--- /dev/null
+++ b/app/src/main/res/layout/list_autorenbyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_kategorie.xml b/app/src/main/res/layout/list_kategorie.xml
new file mode 100644
index 0000000..5ad3b57
--- /dev/null
+++ b/app/src/main/res/layout/list_kategorie.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_kategoriebyid.xml b/app/src/main/res/layout/list_kategoriebyid.xml
new file mode 100644
index 0000000..b099849
--- /dev/null
+++ b/app/src/main/res/layout/list_kategoriebyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_mainmenue.xml b/app/src/main/res/layout/list_mainmenue.xml
new file mode 100644
index 0000000..a0f6346
--- /dev/null
+++ b/app/src/main/res/layout/list_mainmenue.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_row.xml b/app/src/main/res/layout/list_row.xml
new file mode 100644
index 0000000..1842110
--- /dev/null
+++ b/app/src/main/res/layout/list_row.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_suchenbyid.xml b/app/src/main/res/layout/list_suchenbyid.xml
new file mode 100644
index 0000000..b099849
--- /dev/null
+++ b/app/src/main/res/layout/list_suchenbyid.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/autor_menu.xml b/app/src/main/res/menu/autor_menu.xml
new file mode 100644
index 0000000..b750bf9
--- /dev/null
+++ b/app/src/main/res/menu/autor_menu.xml
@@ -0,0 +1,38 @@
+
diff --git a/app/src/main/res/menu/kategorie_menu.xml b/app/src/main/res/menu/kategorie_menu.xml
new file mode 100644
index 0000000..b750bf9
--- /dev/null
+++ b/app/src/main/res/menu/kategorie_menu.xml
@@ -0,0 +1,38 @@
+
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
new file mode 100644
index 0000000..3355734
--- /dev/null
+++ b/app/src/main/res/menu/main_menu.xml
@@ -0,0 +1,17 @@
+
diff --git a/app/src/main/res/menu/news_menu.xml b/app/src/main/res/menu/news_menu.xml
new file mode 100644
index 0000000..b750bf9
--- /dev/null
+++ b/app/src/main/res/menu/news_menu.xml
@@ -0,0 +1,38 @@
+
diff --git a/app/src/main/res/menu/search_menu.xml b/app/src/main/res/menu/search_menu.xml
new file mode 100644
index 0000000..8380915
--- /dev/null
+++ b/app/src/main/res/menu/search_menu.xml
@@ -0,0 +1,24 @@
+
diff --git a/app/src/main/res/menu/zitat_menu.xml b/app/src/main/res/menu/zitat_menu.xml
new file mode 100644
index 0000000..8cd2442
--- /dev/null
+++ b/app/src/main/res/menu/zitat_menu.xml
@@ -0,0 +1,31 @@
+
diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/app/src/main/res/values-sw600dp/dimens.xml
new file mode 100644
index 0000000..44f01db
--- /dev/null
+++ b/app/src/main/res/values-sw600dp/dimens.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/app/src/main/res/values-sw720dp-land/dimens.xml b/app/src/main/res/values-sw720dp-land/dimens.xml
new file mode 100644
index 0000000..61e3fa8
--- /dev/null
+++ b/app/src/main/res/values-sw720dp-land/dimens.xml
@@ -0,0 +1,9 @@
+
+
+
+ 128dp
+
+
diff --git a/app/src/main/res/values-v11/styles.xml b/app/src/main/res/values-v11/styles.xml
new file mode 100644
index 0000000..85f4a4f
--- /dev/null
+++ b/app/src/main/res/values-v11/styles.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-v14/styles.xml b/app/src/main/res/values-v14/styles.xml
new file mode 100644
index 0000000..30fc3bb
--- /dev/null
+++ b/app/src/main/res/values-v14/styles.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..aae52c0
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,12 @@
+
+
+
+ #666666
+ #888888
+ #d9d9d9
+ #80ffffff
+ #80ffffff
+ #80ebeef0
+ #80ebeef0
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..6a03445
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,11 @@
+
+
+ 25dp
+ 30dp
+ 15dp
+ 15dip
+ 13dip
+ 12dip
+ 12dip
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..dde3668
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,30 @@
+
+
+
+ Zitate-All-in-One
+
+ Einstellungen
+ Aktualisieren
+ Beenden
+ Suchen
+ Kategorien
+ Autoren
+
+ Hello world!
+ Kategorien
+ Kategorie-Inhalt
+ Zitat
+ News
+ Autoren
+ Weitere News
+ Suchen
+ Jetzt Suchen
+ Noch Eins...
+ Geben Sie einen Suchbegriff ein:
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..1438088
--- /dev/null
+++ b/app/src/main/res/values/styles.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..88d246d
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,15 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:1.2.3'
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
diff --git a/build/intermediates/gradle_project_sync_data.bin b/build/intermediates/gradle_project_sync_data.bin
new file mode 100644
index 0000000..1c6524e
Binary files /dev/null and b/build/intermediates/gradle_project_sync_data.bin differ
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..8c0fb64
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..0c71e76
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Wed Apr 10 15:27:10 PDT 2013
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
diff --git a/gradlew b/gradlew
new file mode 100644
index 0000000..91a7e26
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >&-
+APP_HOME="`pwd -P`"
+cd "$SAVED" >&-
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..8a0b282
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/import-summary.txt b/import-summary.txt
new file mode 100644
index 0000000..ce42cbc
--- /dev/null
+++ b/import-summary.txt
@@ -0,0 +1,169 @@
+ECLIPSE ANDROID PROJECT IMPORT SUMMARY
+======================================
+
+Ignored Files:
+--------------
+The following files were *not* copied into the new Gradle project; you
+should evaluate whether these are still needed in your project and if
+so manually move them:
+
+* README.md
+* Sapientia.apk
+* Sapientia.iml
+* ant.properties
+* build.xml
+* listviewtest.iml
+* out\
+* out\production\
+* out\production\Sapientia\
+* out\production\Sapientia\Sapientia.apk
+* out\production\Sapientia\Sapientia.unaligned.apk
+* out\production\Sapientia\com\
+* out\production\Sapientia\com\raataar\
+* out\production\Sapientia\com\raataar\sapientia_full\
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenByIDActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenByIDActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenByIDActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\AutorenByIDActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\BuildConfig.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieByIDActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieByIDActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieByIDActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\KategorieByIDActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\MainActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\MainActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\MainActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\MainActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\NewsActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\NewsActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\NewsActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$attr.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$color.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$dimen.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$drawable.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$id.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$layout.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$menu.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$string.class
+* out\production\Sapientia\com\raataar\sapientia_full\R$style.class
+* out\production\Sapientia\com\raataar\sapientia_full\R.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenByIDActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenByIDActivity$2$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenByIDActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenByIDActivity$3.class
+* out\production\Sapientia\com\raataar\sapientia_full\SuchenByIDActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZitatActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZitatActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZitatActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZufallZitatActivity$1.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZufallZitatActivity$2.class
+* out\production\Sapientia\com\raataar\sapientia_full\ZufallZitatActivity.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\
+* out\production\Sapientia\com\raataar\sapientia_full\adater\AutorenByIDListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\AutorenListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\CustomListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\KategorieByIDListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\KategorieListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\MainmenueListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\adater\SuchenByIDListAdapter.class
+* out\production\Sapientia\com\raataar\sapientia_full\app\
+* out\production\Sapientia\com\raataar\sapientia_full\app\AppController.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\
+* out\production\Sapientia\com\raataar\sapientia_full\model\Autoren.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\AutorenByID.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\Kategorie.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\KategorieByID.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\Mainmenue.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\Movie.class
+* out\production\Sapientia\com\raataar\sapientia_full\model\SuchenByID.class
+* out\production\Sapientia\com\raataar\sapientia_full\util\
+* out\production\Sapientia\com\raataar\sapientia_full\util\LruBitmapCache.class
+* out\production\Sapientia\com\raataar\sapientia_full\util\RoundedTransformation.class
+* out\production\example\
+* out\production\example\com\
+* out\production\example\com\kkit\
+* out\production\example\com\kkit\sapientia_full\
+* out\production\example\com\kkit\sapientia_full\BuildConfig.class
+* out\production\listviewtest\
+* out\production\listviewtest\com\
+* out\production\listviewtest\com\example\
+* out\production\listviewtest\com\example\listviewtest\
+* out\production\listviewtest\com\example\listviewtest\BuildConfig.class
+* out\production\listviewtest\com\example\listviewtest\KategorieActivity$1.class
+* out\production\listviewtest\com\example\listviewtest\KategorieActivity$2.class
+* out\production\listviewtest\com\example\listviewtest\KategorieActivity$3.class
+* out\production\listviewtest\com\example\listviewtest\KategorieActivity.class
+* out\production\listviewtest\com\example\listviewtest\MainActivity$1.class
+* out\production\listviewtest\com\example\listviewtest\MainActivity$2.class
+* out\production\listviewtest\com\example\listviewtest\MainActivity$3.class
+* out\production\listviewtest\com\example\listviewtest\MainActivity.class
+* out\production\listviewtest\com\example\listviewtest\R$attr.class
+* out\production\listviewtest\com\example\listviewtest\R$color.class
+* out\production\listviewtest\com\example\listviewtest\R$dimen.class
+* out\production\listviewtest\com\example\listviewtest\R$drawable.class
+* out\production\listviewtest\com\example\listviewtest\R$id.class
+* out\production\listviewtest\com\example\listviewtest\R$layout.class
+* out\production\listviewtest\com\example\listviewtest\R$menu.class
+* out\production\listviewtest\com\example\listviewtest\R$string.class
+* out\production\listviewtest\com\example\listviewtest\R$style.class
+* out\production\listviewtest\com\example\listviewtest\R.class
+* out\production\listviewtest\com\example\listviewtest\adater\
+* out\production\listviewtest\com\example\listviewtest\adater\CustomListAdapter.class
+* out\production\listviewtest\com\example\listviewtest\adater\MainmenueListAdapter.class
+* out\production\listviewtest\com\example\listviewtest\app\
+* out\production\listviewtest\com\example\listviewtest\app\AppController.class
+* out\production\listviewtest\com\example\listviewtest\model\
+* out\production\listviewtest\com\example\listviewtest\model\Mainmenue.class
+* out\production\listviewtest\com\example\listviewtest\model\Movie.class
+* out\production\listviewtest\com\example\listviewtest\util\
+* out\production\listviewtest\com\example\listviewtest\util\LruBitmapCache.class
+* out\production\listviewtest\listviewtest.apk
+* out\production\listviewtest\listviewtest.unaligned.apk
+* proguard-project.txt
+
+Replaced Jars with Dependencies:
+--------------------------------
+The importer recognized the following .jar files as third party
+libraries and replaced them with Gradle dependencies instead. This has
+the advantage that more explicit version information is known, and the
+libraries can be updated automatically. However, it is possible that
+the .jar file in your project was of an older version than the
+dependency we picked, which could render the project not compileable.
+You can disable the jar replacement in the import wizard and try again:
+
+android-support-v4.jar => com.android.support:support-v4:21.0.3
+
+Moved Files:
+------------
+Android Gradle projects use a different directory structure than ADT
+Eclipse projects. Here's how the projects were restructured:
+
+* AndroidManifest.xml => app\src\main\AndroidManifest.xml
+* libs\picasso-2.5.2.jar => app\libs\picasso-2.5.2.jar
+* libs\volley-1.0.15.jar => app\libs\volley-1.0.15.jar
+* res\ => app\src\main\res\
+* src\ => app\src\main\java\
+
+Next Steps:
+-----------
+You can now build the project. The Gradle project needs network
+connectivity to download dependencies.
+
+Bugs:
+-----
+If for some reason your project does not build, and you determine that
+it is due to a bug or limitation of the Eclipse to Gradle importer,
+please file a bug at http://b.android.com with category
+Component-Tools.
+
+(This import summary is for your information only, and can be deleted
+after import once you are satisfied with the results.)
diff --git a/local.properties b/local.properties
new file mode 100644
index 0000000..6236306
--- /dev/null
+++ b/local.properties
@@ -0,0 +1,7 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+#
+#Thu Oct 15 14:19:08 CEST 2015
+sdk.dir=C\:\\Android\\android-sdk
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..e7b4def
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/sprueche-all-in-one1.iml b/sprueche-all-in-one1.iml
new file mode 100644
index 0000000..efac2d7
--- /dev/null
+++ b/sprueche-all-in-one1.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zitate-all-in-one.iml b/zitate-all-in-one.iml
new file mode 100644
index 0000000..5eb07b5
--- /dev/null
+++ b/zitate-all-in-one.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file