sajadpm 4 ارسال شده در یکشنبه ۰۰:۵۳ گزارش اشتراک گذاری ارسال شده در یکشنبه ۰۰:۵۳ با سلام و خسته نباشید من در حال توسعه برنامه ای هست که اطلاعات وب سرویس رو با استفاده از 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 استفاده کنم ولی نتوانستم در پروژه ام استفاده کنم . ممنون می شوم کمکم کنید اگر توضیح بیشتری لازم بود بگید تا بگم . نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در یکشنبه ۲۳:۳۰ گزارش اشتراک گذاری ارسال شده در یکشنبه ۲۳:۳۰ بله برای خواندن تصاویر از وب باید از ImageLoader استفاده کنید. نمونه مثال رو هم میتونید از سایت زیر بردارید http://www.androidhive.info/2012/07/android-loading-image-from-url-http/ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .