@yaroclav-Nii

Как в класс отправить аргумент?

Хочу просто отправить location в класс MyAsyncTask но не понимаю как кто может подсказать пж вот код
private String formatLocation(Location location) {
        if (location == null)
            return "";
        new MyAsyncTask(location).execute();

        return String.format(
                "Coordinates: lat = %1$.4f, lon = %2$.4f, time = %3$tF %3$tT",
                location.getLatitude(), location.getLongitude(), new Date(
                        location.getTime()));



    }
    class MyAsyncTask() extends AsyncTask<String, String, String> {

        
        String server = "http://demo.harrix.org/demo0011";
        String a, b, answerHTTP;
        a = ((Double) location.getLatitude()).toString();
        b = ((Double) location.getLatitude()).toString();

        @Override
        protected String doInBackground(String... params) {
            HttpClient httpclient = new DefaultHttpClient();

            HttpGet httpget = new HttpGet(server + "?a=" + a + "&b=" + b);

            try {
                HttpResponse response = httpclient.execute(httpget);

                if (response.getStatusLine().getStatusCode() == 200) {
                    HttpEntity entity = response.getEntity();
                    answerHTTP = EntityUtils.toString(entity);
                }
            }
            catch (ClientProtocolException e) {
            }
            catch (IOException e) {
            }

            return null;
        }}
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
@acwartz
angular, hello world java, chrome ext/, delphi
params это список параметров.

запускать так:
new MyAsyncTask().execute(location);

а вообще надо вот так:
new MyAsyncTask().execute(location.lat, location.long, location.time);
тогда сможете из params достать и подставить в запрос:
doInBackground(String... params) {
            HttpClient httpclient = new DefaultHttpClient();
                                                              lat                             long              time
            HttpGet httpget = new HttpGet(server + "?a=" + params[0] + "&b=" + params[1] +...params[3]);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы