sajadpm

نمایش تصویر از JSON در وب سرویس

2 ارسال در این موضوع قرار دارد

با سلام و خسته نباشید

من در حال توسعه برنامه ای هست که اطلاعات وب سرویس رو با استفاده از JSON فراخوانی می کنم که به این صورت است :

{"DeviceId":"25","FullName":"\u0634\u062c\u0631\u06cc\u0627\u0646","Rate":"5","Comment":"\u0628\u0647\u062a\u0631\u06cc\u0646 \u0622\u0647\u0646\u06af \u0634\u062c\u0631\u06cc\u0627\u0646","Location":"photos\/shajarian-9241eb4107b24c588c0ca0042534c03e.png","PublishTime":"13-03-26 19:04:56"}

حالا من تمامی این اطلاعات رو می توانم وارد list view در برنامه کنم به جز تصویری که در Location قرار دارد ! می خواهم تصویر رو هم وارد Image view کنم و در برنامه نمایش بدهم .

این قسمتی از فایلی است که اطلاعات رو از وب سرویس می گیرم و به لیست ویو می دهم :

try {			URL url = new URL(LinkManager.getCommentAPI("all"));			Log.d(TAG, "Try to open: " + url.toString());			urlConnection = (HttpURLConnection) url.openConnection();			int responseCode = urlConnection.getResponseCode();			Log.d(TAG, "Response code is: " + responseCode);			if (responseCode == HttpURLConnection.HTTP_OK) {				BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));				if (in != null) {					StringBuilder strBuilder = new StringBuilder();					// Read character by character    								int ch = 0;					while ((ch = in.read()) != -1)						strBuilder.append((char) ch);					// get returned message and show it					String response = strBuilder.toString();					Log.d("Server response:", response);					JSONObject jObject = new JSONObject(response);					JSONArray jsonArray = jObject.getJSONArray("posts");					for(int i=0; i							Vote vote = new Vote();						vote.setDeviceId(jsonArray.getJSONObject(i).getString("DeviceId"));						vote.setName(jsonArray.getJSONObject(i).getString("FullName"));						vote.setRate(jsonArray.getJSONObject(i).getString("Rate"));						vote.setComment(jsonArray.getJSONObject(i).getString("Comment"));						vote.setLocation(jsonArray.getJSONObject(i).getString("Location"));						vote.setPublishDate(jsonArray.getJSONObject(i).getString("PublishTime"));						Log.d("sajadpm:", "test 6");						voteList.add(vote);						Log.d("sajadpm:", "test 7");					}					if(voteList.size() >= 1)						status = true;				}				in.close();			}		}

و این هم فایل ListAdapter :

public class VoteListAdapter extends BaseAdapter {private final String TAG = "*** VoteListAdapter ***";private LayoutInflater myInflater;private List vote;public VoteListAdapter(Context context) {	myInflater = LayoutInflater.from(context);	Log.d(TAG, "test 1 vote adapter");}public void setData(List vote) {	Log.d(TAG, "test 2 vote adapter");	this.vote = vote;	Log.d(TAG, "test 3 vote adapter");}public int getCount() {	return vote.size();}public Object getItem(int position) {	Log.d(TAG, "test 5 vote adapter");	return null;}public long getItemId(int position) {	Log.d(TAG, "test 6 vote adapter");	return position;}public View getView(int position, View convertView, ViewGroup parent) {	Log.d(TAG, "test 7 vote adapter");	ViewHolder holder;        	Log.d(TAG, "test 2 vote adapter");	if (convertView == null) {       	convertView = myInflater.inflate(R.layout.row, null);       	holder 		= new ViewHolder();		holder.tvName      = (TextView)  	convertView.findViewById(R.id.tvName);		holder.tvComment   = (TextView)  	convertView.findViewById(R.id.tvComment);		holder.tvDate      = (TextView)  	convertView.findViewById(R.id.tvDate);		holder.ratingBar   = (RatingBar)	convertView.findViewById(R.id.ratingBar);		convertView.setTag(holder);       } else {       	holder = (ViewHolder) convertView.getTag();       }	holder.tvName.setText(vote.get(position).getLocation());	holder.tvComment.setText(vote.get(position).getComment());	holder.tvDate.setText(getFormatedDate(vote.get(position).getPublishDate()));	holder.ratingBar.setRating(Integer.parseInt(vote.get(position).getRate()));	return convertView;}private String getFormatedDate(String date) {	String myDate = null;	Log.d(TAG, "test 2 vote adapter");	try {		Date oldDate = new SimpleDateFormat("yy-mm-dd hh:mm:ss").parse(date);		myDate = new SimpleDateFormat("dd MMM yyyy").format(oldDate);	} catch (ParseException e) {		myDate = "";		e.printStackTrace();	}	return myDate;}static class ViewHolder {	TextView  tvName;	TextView  tvComment;	TextView  tvDate;	RatingBar ratingBar;}

با کلی جستجو فهمیدم باید از imageloder استفاده کنم ولی نتوانستم در پروژه ام استفاده کنم . ممنون می شوم کمکم کنید اگر توضیح بیشتری لازم بود بگید تا بگم . :(

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بله برای خواندن تصاویر از وب باید از ImageLoader استفاده کنید.

نمونه مثال رو هم میتونید از سایت زیر بردارید

http://www.androidhive.info/2012/07/android-loading-image-from-url-http/

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری