android-openrat

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 23dd547e76dd65f50cea9d61501e6b54cb55bc3f
parent 550bbefa49c98a02b8b6d0ef740fd41ebc8e7694
Author: dankert <devnull@localhost>
Date:   Wed, 26 Oct 2011 22:35:56 +0200

Neue Activity zum Anzeigen von Bildern.

Diffstat:
AndroidManifest.xml | 4+++-
res/layout/show_image.xml | 7+++++++
src/de/openrat/android/blog/FileShowActivity.java | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/de/openrat/android/blog/FolderActivity.java | 8++++++++
src/de/openrat/client/OpenRatClient.java | 12++++++++++++
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(); + } }