commit 23dd547e76dd65f50cea9d61501e6b54cb55bc3f
parent 550bbefa49c98a02b8b6d0ef740fd41ebc8e7694
Author: dankert <devnull@localhost>
Date: Wed, 26 Oct 2011 22:35:56 +0200
Neue Activity zum Anzeigen von Bildern.
Diffstat:
5 files changed, 87 insertions(+), 1 deletion(-)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
@@ -18,11 +18,13 @@
<activity android:name="PageElementsActivity" android:label="@string/page_content"></activity>
<activity android:name="PropertiesActivity" android:label="@string/folder_properties"></activity>
<activity android:name="NewActivity" android:label="@string/new1"></activity>
+ <activity android:name="FileShowActivity" android:label="@string/filename">></activity>
<activity android:name="EditorActivity" android:label="@string/editor"></activity>
<service android:name=".service.PublishIntentService"></service>
<service android:name=".service.UploadIntentService"></service>
- </application>
+
+</application>
<uses-permission android:name="android.permission.INTERNET" />
diff --git a/res/layout/show_image.xml b/res/layout/show_image.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content" android:layout_height="wrap_content">
+ <ImageView android:id="@+id/image" android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+</ScrollView>+
\ No newline at end of file
diff --git a/src/de/openrat/android/blog/FileShowActivity.java b/src/de/openrat/android/blog/FileShowActivity.java
@@ -0,0 +1,57 @@
+/**
+ *
+ */
+package de.openrat.android.blog;
+
+import java.io.IOException;
+
+import android.app.ListActivity;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+import android.widget.ImageView;
+import de.openrat.android.blog.util.OpenRatClientAsyncTask;
+import de.openrat.client.OpenRatClient;
+
+/**
+ * @author dankert
+ *
+ */
+public class FileShowActivity extends ListActivity
+{
+ public static final String ID = "id";
+ public static final String CLIENT = "client";
+ private String objectid;
+ private OpenRatClient client;
+
+ byte[] data;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+
+ client = (OpenRatClient) getIntent().getSerializableExtra(CLIENT);
+
+ new OpenRatClientAsyncTask(this, R.string.waitingforcontent)
+ {
+
+ @Override
+ protected void callServer() throws IOException
+ {
+ objectid = getIntent().getStringExtra(ID);
+ data = client.getFileContent(objectid);
+ }
+
+ protected void doOnSuccess()
+ {
+ Bitmap imageBitmap = BitmapFactory.decodeByteArray(data,0,data.length);
+ setContentView(R.layout.show_image);
+ ImageView image = (ImageView) findViewById(R.id.image);
+ image.setImageBitmap(imageBitmap);
+ }
+
+ }.execute();
+ }
+
+}
diff --git a/src/de/openrat/android/blog/FolderActivity.java b/src/de/openrat/android/blog/FolderActivity.java
@@ -112,6 +112,14 @@ public class FolderActivity extends ListActivity
intent.putExtra(CLIENT, client);
intent.putExtra(PageElementsActivity.ID, entry.id);
startActivity(intent);
+ break;
+ case FILE:
+ intent = new Intent(FolderActivity.this,
+ FileShowActivity.class);
+ intent.putExtra(CLIENT, client);
+ intent.putExtra(FileShowActivity.ID, entry.id);
+ startActivity(intent);
+ break;
default:
}
}
diff --git a/src/de/openrat/client/OpenRatClient.java b/src/de/openrat/client/OpenRatClient.java
@@ -610,4 +610,16 @@ public class OpenRatClient extends CMSRequest
readJSON();
}
+
+ public byte[] getFileContent(String objectid) throws IOException
+ {
+ super.clearParameters();
+ super.setMethod("POST");
+ super.setAction("file");
+ super.setActionMethod("show");
+ super.setId(objectid);
+
+ final String content = performRequest();
+ return content.getBytes();
+ }
}