مشکل در خواندن اطلاعات از سرور

سلام دوستان
من یه فایل دارم رو سرور به اسم product.php که id می گیره و مشخصات محصول رو از دیتابیس می خونه و خروجی json تحویل میده. وقتی این فایل رو دستی تو مرورگر تایپ می کنم خروجی مورد نظر به درستی داده میشه ولی وقتی از طریق برنامه اندرویدی اقدام می کنم مقدار null پس میده.

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

private class GetProductAsyncWorker extends AsyncTask<Void, Void, Void> {
View view;
Activity context;
String productId;
ProductModel model;
RelativeLayout mainWaitingLayout;
RelativeLayout mainProductDetailsLayout;


public GetProductAsyncWorker(Activity context, View view, String productId) {
this.context = context;
this.view = view;
this.productId = productId;
mainWaitingLayout = (RelativeLayout) view.findViewById(R.id.mainWaitingLayout);
mainProductDetailsLayout = (RelativeLayout) view.findViewById(R.id.mainProductDetailsLayout);
}


@Override
protected void onPreExecute() {
mainWaitingLayout.bringToFront();
mainWaitingLayout.setVisibility(View.VISIBLE);
}


@Override
protected Void doInBackground(Void... params) {
String fetchUrl = "http://mydomain.ir/app/android/products.php?pid=" + productId;
InputStream jsonStream = getStreamFromURL(fetchUrl, "GET");
String jsonString = streamToString(jsonStream);


try {
model = parseProductJSON(jsonString, productId);
} catch (org.json.JSONException e) { }


return null;
}


@Override
protected void onPostExecute(Void aVoid) {
((TextView) view.findViewById(R.id.mainProductDetailsPersianNa meTextView)).setText(model.getProductPersianName() );
((TextView) view.findViewById(R.id.mainProductDetailsFinglishN ameTextView)).setText(model.getProductFinglishName ());
((TextView) view.findViewById(R.id.mainProductDetailsPriceText View)).setText(getPriceWithDelimiter(model.getProd uctPrice()) + " تومان");
setProductRate((ImageView) view.findViewById(R.id.mainProductDetailsRateImage View), model.getProductRate());


String tarkibat = model.getProductInfoModel().getTarkibat();
String joziyat = model.getProductInfoModel().getJoziyat();
String taem = model.getProductInfoModel().getTaem();
String nokateMohem = model.getProductInfoModel().getNokateMohem();
String nazareKarshenas = model.getProductInfoModel().getNazareKarshenas();


((TextView) view.findViewById(R.id.mainProductDetailsTab1Descr iptionTextView)).setText("<b>ترکیبات محصول: </b><small>" + tarkibat + "</small><br /><br /><b>جزئیات محصول: </b><small>" + joziyat + "</small><br /><br /><b>طعم: </b><small>" + taem + "</small><br /><br /><b>نکات مهم: </b><small>" + nokateMohem + "</small><br /><br /><b>نظر کارشناس: </b><small>" + nazareKarshenas + "</small>");


fillComments(view, (LinearLayout) view.findViewById(R.id.mainProductDetailsTab2Layou tInnerContainer), model.getCommentModelList());


cancel(true);
}
}


این هم از متد parseProductJSON:
private ProductModel parseProductJSON(String JSONString, String productId) throws JSONException {
ProductModel model = new ProductModel();


JSONArray json = new JSONArray(JSONString);
JSONArray rootJsonArray = json.getJSONArray(0);


model.setId(productId);
model.setProductPersianName(String.valueOf(rootJso nArray.get(0)));
model.setProductFinglishName(String.valueOf(rootJs onArray.get(1)));
model.setProductPrice(String.valueOf(rootJsonArray .get(2)));
model.setProductRate(Integer.parseInt(String.value Of(rootJsonArray.get(3))));


JSONArray productInfoJsonArray = rootJsonArray.getJSONArray(0);
ProductInfoModel infoModel = new ProductInfoModel();
infoModel.setTarkibat(String.valueOf(productInfoJs onArray.get(0)));
infoModel.setJoziyat(String.valueOf(productInfoJso nArray.get(1)));
infoModel.setTaem(String.valueOf(productInfoJsonAr ray.get(2)));
infoModel.setNokateMohem(String.valueOf(productInf oJsonArray.get(3)));
infoModel.setNazareKarshenas(String.valueOf(produc tInfoJsonArray.get(4)));
model.setProductInfoModel(infoModel);


JSONArray productCommentsJsonArray = rootJsonArray.getJSONArray(1);
List<CommentModel> productCommentModels = new ArrayList<>();
for (int index = 0; index < productCommentsJsonArray.length(); index++) {
JSONArray e = productCommentsJsonArray.getJSONArray(index);


String username = String.valueOf(productCommentsJsonArray.get(0));
String comment = String.valueOf(productCommentsJsonArray.get(1));
int rate = Integer.parseInt(String.valueOf(productCommentsJso nArray.get(2)));


productCommentModels.add(new CommentModel(username, comment, rate));
}
model.setCommentModelList(productCommentModels);


JSONArray relatedProductsJsonArray = rootJsonArray.getJSONArray(2);
List<ProductModel> relatedProductModels = new ArrayList<>();
for (int index = 0; index < relatedProductsJsonArray.length(); index++) {
JSONArray e = relatedProductsJsonArray.getJSONArray(index);
ProductModel relatedProductModel = new ProductModel();


relatedProductModel.setId(String.valueOf(e.get(0)) );
relatedProductModel.setProductPersianName(String.v alueOf(e.get(1)).split(Pattern.quote("|"))[0].trim());
relatedProductModel.setProductFinglishName(String. valueOf(e.get(1)).split(Pattern.quote("|"))[1].trim());
relatedProductModel.setProductPrice(String.valueOf (e.get(2)));
relatedProductModel.setProductImageUrl(String.valu eOf(e.get(3)));


relatedProductModels.add(relatedProductModel);
}
model.setRelatedProductsList(relatedProductModels) ;


return model;
}


و به این شکل استفاده می کنم:
new GetProductAsyncWorker(getActivity(), fragView, String.valueOf(view.getTag())).execute();
خروجی این کدها مقدار null هست!
مشکل از کجاست دوستان؟ لطفاً راهنمایی کنید مرسی

مشکل در خواندن اطلاعات از سرور


خرید بک لینک
کپی رابت محفوظ است اخبار ایران و جهان
قدرت گرفته از niloblog