package cn.fanfan.common;
import org.apache.http.Header;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.graphics.Bitmap;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import cn.fanfan.main.R;
import cn.fanfan.topic.imageload.ImageDownLoader;
import cn.fanfan.topic.imageload.ImageDownLoader.onImageLoaderListener;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
public class GetUserNamImage {
private AsyncHttpClient client;
private Context context;
private ImageDownLoader downLoader;
public GetUserNamImage(Context context) {
// TODO Auto-generated constructor stub
downLoader = new ImageDownLoader(context);
client = new AsyncHttpClient();
this.context = context;
}
public void getuserinfo(String uid, final TextView username,
final ImageView userimage, final onLoaderListener listener) {
String url = Config.getValue("user_info") + uid;
client.get(url, new AsyncHttpResponseHandler() {
@Override
public void onFailure(int arg0, Header[] arg1, byte[] arg2,
Throwable arg3) {
// TODO Auto-generated method stub
Toast.makeText(context, "��ȡʧ��", Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
// TODO Auto-generated method stub
String information = new String(arg2);
try {
JSONObject jsonObject = new JSONObject(information);
int errno = jsonObject.getInt("errno");
if (errno == 1) {
JSONObject rsm = jsonObject.getJSONObject("rsm");
String user_name = rsm.getString("user_name");
String avatar_file = rsm.getString("avatar_file");
String mImageUrl = Config.getValue("userImageBaseUrl")
+ avatar_file;
Bitmap bitmap = downLoader.getCacheBitmap(mImageUrl.replaceAll("[^\\w]", ""));
if (bitmap != null) {
listener.onPicLoader(bitmap, userimage);
} else {
userimage.setImageDrawable(context.getResources()
.getDrawable(R.drawable.ic_avatar_default));
downLoader.getBitmap(mImageUrl,
new onImageLoaderListener() {
public void onImageLoader(Bitmap bitmap,
String url) {
// TODO Auto-generated method stub
listener.onPicLoader(bitmap, userimage);
}
});
}
listener.onNameLoader(user_name, username);
} else {
String err = jsonObject.getString("err");
Toast.makeText(context, err, Toast.LENGTH_LONG).show();
;
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public void cancleTask() {
downLoader.cacelTask();
}
public interface onLoaderListener {
void onPicLoader(Bitmap bitmap, ImageView userimage);
void onNameLoader(String name, TextView username);
}
}