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

ارسال ارایه بصورت جیسون به سرور

General  8 سال پیش  8 سال پیش
0 0

باسلام خدمت دوستان

من میخوام یه سری اطلاعات رو بصورت ارایه که به جیسون تبدیل شده سرور بفرستم ولی وقتی این اطلاعات میره سرور ومیخوام چاپ کنم که ببینم درست چاپ میشه یا نه ارور اینکه این مقدار برای foreach درست نیست میاد

کد کلاس ارتباط با سرور

public class AsyncTaskSendParams extends AsyncTask {

public String link="";
//public ArrayList<String> params;
JSONObject params;

public AsyncTaskSendParams(String link,JSONObject params){

this.link=link;
this.params=params;

}




@Override
protected Object doInBackground(Object[] params) {

try{



String data= URLEncoder.encode("params","UTF8")+"="+URLEncoder.encode(String.valueOf(params),"UTF8");


URL url=new URL(link);
URLConnection connection=url.openConnection();

connection.setDoOutput(true);
OutputStreamWriter writer=new OutputStreamWriter(connection.getOutputStream());
writer.write(data);
writer.flush();




BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder builder=new StringBuilder();

String line=null;

while((line=reader.readLine())!=null){
builder.append(line);

}

ActivitySetPoint.params=builder.toString();

}catch (Exception e){

}
return "";
}


}
  • این کدهایی که نوشتم واسه ارسال این جیسون
  • فقط اینکه parameter یه arrayList هست که 5 تا عدد داخلش هستن
  •  
  1.  
 JSONObject jsonObject=new JSONObject();
for (int i = 0; i < parameter.size(); i++) {

try {
jsonObject.put( String.valueOf(i + 1), parameter.get(i));
} catch (JSONException e) {
e.printStackTrace();
}

}

try {
for(int i=0;i<jsonObject.length();i++){
Log.i("LOG",jsonObject.getString(String.valueOf(i+1)));
}

} catch (JSONException e) {
e.printStackTrace();
}

new AsyncTaskSendParams("http://192.168.1.101/digikala/setpoint.php",jsonObject).execute();
final Timer timer=new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {

if(!ActivitySetPoint.params.equals("") ) {
Toast.makeText(G.context,params,Toast.LENGTH_SHORT).show();
timer.cancel();
// finish();
}
}
});
}
},1,1000);

}
});


  1. اینم کدهای سرور
  2.  <?php

    $param=$_POST["params"];

    $obj = json_decode($param, true);

    foreach ($obj as $k=>$v){
    echo $v; // etc.
    }



    ?>
  3. لطفا بگید کجاش ایراد داره
+1 0
سلام از وولی یا کتابخونه های دیگه استفاده کنین. هم از دست اسینک تسک راحت میشین. هم میتونین کش کنین. هم مشکلات کمتری دارین و از این مدل کد نویسی راحت میشین (8 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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