آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در لودینگ کلاس asynctask

125847  9 سال پیش  9 سال پیش
0 0

سلام دوستان

من کلاس asynctaskاستفاده کردم برای برقراری ارتباط با سرور .

اطلاعات خوب لود میشه اما زمانی که دو دکمه مختلفی رو می زنی که هر کدوم هرکاری انجام میدن اطلاعات رو لود کنند بعد از چند بار دیگه اطلاعات لود نمیشه و فقط عمل لودینگ رو انجام میده . مثلا ازswipeContainer  استفاده می کنم که کدش زیره  بعد از چند بار که می کشمش بعدش دیگه علامت لودینگش ازبین نمیره و کلا نرم افزار غیرفعال میشه بخش ارتباط با سرور.

مشکل از کجاس؟

باتشکر 

public  class home_agahi2_server  extends AsyncTask<String,Void,String> {

private Context c;
private Activity ac;

private String state_id;
private String lim;
private RecyclerView rec;


public home_agahi2_server(Context c,Activity ac,String lim
){
this.c=c;
this.ac=ac;

this.lim=lim;
this.state_id=state_id;



}

@Override
protected void onPreExecute() {
super.onPreExecute();
//swipeContainer.setRefreshing(false);
// agahi_recycler.setVisibility(View.GONE);
//swipeContainer.setVisibility(View.GONE);
//rotat1.start();
}

@Override
protected String doInBackground(String... strings) {
try{
String data= URLEncoder.encode("get_post", "UTF-8")+"="+URLEncoder.encode("true","UTF-8");
data+="&"+ URLEncoder.encode("lim", "UTF-8")+"="+URLEncoder.encode("0","UTF-8");
// data+="&"+ URLEncoder.encode("lim", "UTF-8")+"="+URLEncoder.encode(lim,"UTF-8");



//
URL url=new URL(MainActivity.url+"post.php");
URLConnection connect=url.openConnection();
connect.setDoOutput(true);
OutputStreamWriter wr=new OutputStreamWriter(connect.getOutputStream());
wr.write(data);
wr.flush();

//
InputStreamReader in=new InputStreamReader(connect.getInputStream());
BufferedReader reader=new BufferedReader(in);
String line="";
StringBuilder sb=new StringBuilder();
while ((line=reader.readLine())!=null){
sb.append(line);

}
return sb.toString();



}catch (Exception e){
Toast.makeText(c, "error in server", Toast.LENGTH_SHORT).show();
return "er";
}



}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);

swipeContainer.setRefreshing(false);
//rotat1.stop();
agahi_recycler.setVisibility(View.VISIBLE);
swipeContainer.setVisibility(View.VISIBLE);
JSONArray arr=null;
JSONObject ob=null;
_name.clear();
_id.clear();
_body.clear();
_img.clear();
_imgs.clear();
_price.clear();
_color.clear();
_size.clear();
_shenas.clear();
_time.clear();
_expire.clear();
_visit_today.clear();
_visit_total.clear();
_mobile.clear();
_cat.clear();
_user_id.clear();
_menu_order.clear();
_link.clear();


try{
arr=new JSONArray(s);
for(int i=0;i<arr.length();i++){

ob=arr.getJSONObject(i);

_name.add(ob.getString("title"));
_id.add(ob.getString("id"));
_body.add(ob.getString("content"));
_img.add(ob.getString("img"));
_imgs.add(ob.getString("imgs"));
_price.add(ob.getString("price"));
_color.add(ob.getString("color"));
_size.add(ob.getString("size"));
_shenas.add(ob.getString("shenas"));
_time.add(ob.getString("time"));
_expire.add(ob.getString("expire"));
_visit_today.add(ob.getString("todayvisit"));
_visit_total.add(ob.getString("totalvisit"));
_mobile.add(ob.getString("mobile"));
_cat.add(ob.getString("cat"));
_user_id.add(ob.getString("user"));
_menu_order.add(ob.getString("order"));
_link.add(ob.getString("link"));
// Toast.makeText(c,ob.getString("link"),Toast.LENGTH_SHORT).show();



}
Toast.makeText(c,_name.get(0),Toast.LENGTH_SHORT).show();


}catch (Exception e){
//Toast.makeText(c,"errors in json",Toast.LENGTH_SHORT).show();
}

}
}

 

 
0 0
سوال خیلی کلی هست ... در اندروید مانیتور خطایی لاگی نداره یا چاپ نمیشه؟؟ (9 سال پیش)
0 0
من متاسفانه این مورد رو نمیدونم ولی اگر تازه شروع به کار برای قسمت ارتباط با سرور کردی ، بنظرم برو سمت رتروفیت یا والی که خیلی بهتر هستن! آموزش هاشونم به مراتب توی همین انجمن پیدا میشه :) (9 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .