دسته بندی ها
21:16 1399/08/21

ارسال اطلاعات به صورت غیر همزمان (Async) در اندروید

مشخصات سوال کننده :
کاربر : Mahdi76     امتیاز کاربر : 2     رتبه کاربر : 144
دسته بندی : Android

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 3877
پاسخ دهنده : hamid_b 13:16 1399/08/22

معمولا Web Service نتیجه رو به صورت Json برمیگردونه. چون خروجی جیسون یک خروجی استاندارد هست که برای همه Device ها و اپلیکیشن ها قابل دریافت و قابل فهم هست. شما باید کل اطلاعاتی رو که میخواید از طریق وب سرویس ارسال کنید از دیتابیس بخونید و همه رو در قالب جیسون ارسال کنید. به مثال زیر دقت کنید

 

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(
    "https://api.dailymile.com/entries.json?oauth_token="
    + token);

httpPost.setHeader("content-type", "application/json");
JSONObject data = new JSONObject();

data.put("message", dailyMilePost.getMessage());
JSONObject workoutData = new JSONObject();
data.put("workout", workoutData);
workoutData.put("activity_type", dailyMilePost.getActivityType());
workoutData.put("completed_at", dailyMilePost.getCompletedAt());
JSONObject distanceData = new JSONObject();
workoutData.put("distance", distanceData);
distanceData.put("value", dailyMilePost.getDistanceValue());
distanceData.put("units", dailyMilePost.getDistanceUnits());
workoutData.put("duration", dailyMilePost.getDurationInSeconds());
workoutData.put("title", dailyMilePost.getTitle());
workoutData.put("felt", dailyMilePost.getFelt());

StringEntity entity = new StringEntity(data.toString(), HTTP.UTF_8);
httpPost.setEntity(entity);

HttpResponse response = httpClient.execute(httpPost);

 

ارسال اطلاعات به Server به صورت Async در اندروید

برای ارسال اطلاعات به صورت ناهمزمان بهتره کلاس خودتون رو به صورت Async تعریف کنید. مثال های زیادی توی اینترنت برای این کار هست

 

class AsynTask extends AsyncTask<Void, Void, String>{}

 

به این پاسخ امتیاز بدهید    0
امتیاز: 510 رتبه: 4
پاسخ دهنده : nasscope 14:11 1400/04/09

در مورد AsyncTask و RxJava تحقیق کنید. البته AsyncTask از اندروید 11 دیگه Deprecate شده و گوگل پیشنهاد داده از کلاس خود جاوا استفاده بشه. توضیحات سایت Developer اندروید رو بررسی کنید:

Developer

ویرایش شده در پنج شنبه 10 تیر 1400 ساعت 10:34:46
به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7019
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود