package com.kaixin.android.utils;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import com.kaixin.android.common.Constants;
import com.kaixin.android.result.AlbumResult;
public class MyObject
{
private static String username;
private static String passwordMD5;
public static void setUsername(String username)
{
MyObject.username = username;
}
public static void setPasswordMD5(String passwordMD5)
{
MyObject.passwordMD5 = passwordMD5;
}
private static Object getObject(String url, String[] paramNames,
String[] paramValues, boolean original)
{
try
{
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", passwordMD5));
for (int i = 0; i < paramNames.length; i++)
{
params
.add(new BasicNameValuePair(paramNames[i],
paramValues[i]));
}
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse httpResponse = new DefaultHttpClient()
.execute(httpPost);
// �ж�������Ӧ״̬�룬״̬��Ϊ200��ʾ����˳ɹ���Ӧ�˿ͻ��˵�����
if (httpResponse.getStatusLine().getStatusCode() == 200)
{
InputStream is = httpResponse.getEntity().getContent();
if (original)
{
return is;
}
else
{
ObjectInputStream ois = new ObjectInputStream(is);
Object obj = ois.readObject();
return obj;
}
}
}
catch (Exception e)
{
}
return null;
}
private static Object getObject(String url, boolean original)
{
return getObject(url, new String[]
{}, new String[]
{}, original);
}
public static List<AlbumResult> getAlbums()
{
String url = Constants.getUrl() + "/AlbumServlet";
Object obj = getObject(url, false);
return (List<AlbumResult>) obj;
}
public static List<String> getPhotoUrl(int page, int albumId)
{
String url = Constants.getUrl() + "/PhotoUrlServlet";
Object obj = getObject(url, new String[]
{ "page", "albumId" }, new String[]
{ String.valueOf(page), String.valueOf(albumId) }, false);
return (List<String>) obj;
}
public static Bitmap getPhoto(int albumId, String filename, boolean original)
{
String url = Constants.getUrl() + "/PhotoServlet";
InputStream is = (InputStream) getObject(url, new String[]
{ "albumId", "filename", "original" }, new String[]
{ String.valueOf(albumId), filename, String.valueOf(original) }, true);
Bitmap bitmap = BitmapFactory.decodeStream(is);
return bitmap;
}
public static String createAlbum(String albumName, String description)
{
String url = Constants.getUrl() + "/CreateAlbumServlet";
InputStream is = (InputStream) getObject(url, new String[]
{ "albumName", "description" }, new String[]
{ albumName, description }, true);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String result = "";
try
{
result = br.readLine();
}
catch (Exception e)
{
// TODO: handle exception
}
return result;
}
}