Форум программистов, компьютерный форум CyberForum.ru

GET запрос - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Смена фона при скролле http://www.cyberforum.ru/android-dev/thread1375973.html
Добрый день. Делаю экран Tutorial для аппликации, нужно чтоб фон был все время тот же а над фоном изменялись картинки когда проводят пальцем по экрану вправо или влево, чатсть картинки прозрачная, то есть нужно чтоб фон всегда был виден. Есть ли возможность сделать такое. спасибо
Android [Android Studio] Как установить библиотеку, содержащую MultipartEntity? Здесь описывается http://tacticalnuclearstrike.com/2010/01/using-multipartentity-in-android-applications/ Скачать 4 файла. Во первых не увидел я что-то такого файла httpmime, нету его там. А во вторых если скачаю, то что значит добавьте в свой проект? Куда именно то добавлять?) Добавлено через 47 минут Нашел способ. На этом сайте http://mvnrepository.com/artifact/org.apache.httpcomponents... http://www.cyberforum.ru/android-dev/thread1375882.html
Аналог "модальных" форм Android
Гуру, помогите спланировать схему блока! И скажите вообще возможно ли такое. Или хотя-бы видели ли Вы подобное в других программах. Хочу сделать такое: Нажимаю кнопку в активити. Выпрыгивает диалог с индикатором-ползунком и кнопкой отмена. Причем что-бы она была НАД активити. Мешая нажимать другие кнопки этого активити. И что-бы клик вне диалога не закрывал диалог. И что-бы свернув...
Android Одинаковый хэш-код элементов ListView
У меня есть ListView с кастомным элементом. В этом кастомном элементе есть кнопка для которой я прописал селектор и состояния. Для адаптера использовал BaseAdapter. Для примера установил 9 элементов списка. Вот содержимое метода getView: @Override public View getView(final int position, View convertView, final ViewGroup parent) { View view = convertView; ...
Android Странное поведение swipe-to-dismiss RecyclerView http://www.cyberforum.ru/android-dev/thread1375635.html
После удаления свайпом элемента списка остаётся небольшой пробе между элементами, сложно объяснить, поэтому вот ссылка на то, что происходит: http://i.imgur.com/v1D149C.gif Когда элемент списка смахивается свайпом, появляется alertdialog, который предлагает подтвердить удаление. Если нажать Cancel, что-то странное происходит и элементы начинают удаляться так, как видно на анимации. Если не...
Android Онлайн музыка Как сделать чтобы ссылка на песню из любого хранилища была вот такого вида http://dl.dropboxusercontent.com/u/6197740/explosion.mp3 подробнее

Показать сообщение отдельно
NEvOl
13 / 12 / 0
Регистрация: 13.08.2012
Сообщений: 645
16.02.2015, 14:11     GET запрос
Уважаемые, подскажите пожалуйста что делаю не так ?
Посылаю GET запрос:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.example.notificationapp.mySql;
 
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
 
import com.example.notificationapp.parser.JSONParser;
import com.example.notificationapp.MainActivity;
 
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.util.ArrayList;
import java.util.List;
 
 
public class CheckCustomer {
 
    JSONParser jsonParser = new JSONParser();
 
    // url получения списка всех продуктов
    private static String url_customer_detials = "http://customers.ru/get_customer_details.php";
 
    // JSON параметры
    private static final String TAG_SUCCESS = "success";
    private static final String TAG_CUSTOMER = "customer";
    private static final String TAG_ID = "id";
    private static final String TAG_NAME = "name";
    private static final String TAG_NUMBER = "number";
 
    private String number;
    private Context context;
 
    ProgressDialog pDialog;
 
    public void onCreate(String number, Context context) {
        this.number = number;
        this.context = context;
        Log.d("myLog", "CheckCustomer.onCreate");
 
        new GetProductDetails().execute();
    }
 
 
    class GetProductDetails extends AsyncTask<String, String, String> {
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(context);
            pDialog.setMessage("Loading product details. Please wait...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
            Log.d("myLog", "pDialog.show()");
        }
 
        protected String doInBackground(String[] params) {
 
            // проверяем статус success тега
            Log.d("myLog", "doInBackground(String[] params)");
            int success;
            try {
                // Список параметров
                List<NameValuePair> paramsList = new ArrayList<NameValuePair>();
                paramsList.add(new BasicNameValuePair("number", number));
                // получаем продукт по HTTP запросу
                Log.d("myLog", "paramsList= "+paramsList.toString());
                JSONObject json = jsonParser.makeHttpRequest(url_customer_detials, "GET", paramsList);
                Log.d("myLog", json.toString());
 
                success = json.getInt(TAG_SUCCESS);
                if (success == 1) {
 
                    Log.d("myLog", "продукт с nomber найден");
                    
                }else{
                    Log.d("myLog", "продукт с nomber не найден");
                    // продукт с nomber не найден
                }
            } catch (JSONException e) {
                Log.d("myLog", "JSONException");
                e.printStackTrace();
            }
 
            return null;
        }
 
        protected void onPostExecute(String file_url) {
            // закрываем диалог прогресс
            pDialog.dismiss();
        }
    }
 
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.example.notificationapp.parser;
 
import android.util.Log;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.*;
import java.util.List;
 
public class JSONParser {
 
    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";
 
    // constructor
    public JSONParser() {
 
    }
 
    // метод получение json объекта по url
    // используя HTTP запрос и методы POST или GET
    public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) {
 
        // Создаем HTTP запрос
        try {
 
            // проверяем метод HTTP запроса
            if(method == "POST"){
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(url);
                httpPost.setEntity(new UrlEncodedFormEntity(params));
 
                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
 
            }else if(method == "GET"){
                DefaultHttpClient httpClient = new DefaultHttpClient();
                String paramString = URLEncodedUtils.format(params, "utf-8");
                url += "?" + paramString;
                Log.d("myLog", "url= "+url);
                HttpGet httpGet = new HttpGet(url);
 
                HttpResponse httpResponse = httpClient.execute(httpGet);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
            }
 
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            Log.d("myLog", "sb= "+sb.toString());
            json = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }
 
        // пытаемся распарсить строку в JSON объект
        try {
            jObj = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }
 
        // возвращаем JSON строку
        return jObj;
 
    }
 
}
лог получаю такой:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
......................................................................................
02-16 11:01:48.121      620-620/com.example.notificationapp D/myLog﹕ Name:
    Number: 2147483647
02-16 11:01:48.141      620-620/com.example.notificationapp D/myLog﹕ CheckCustomer.onCreate
02-16 11:01:48.210      620-620/com.example.notificationapp D/myLog﹕ pDialog.show()
02-16 11:01:48.221      620-634/com.example.notificationapp D/myLog﹕ doInBackground(String[] params)
02-16 11:01:48.221      620-634/com.example.notificationapp D/myLog﹕ paramsList= [number=2147483647]
02-16 11:01:48.231      620-634/com.example.notificationapp D/myLog﹕ url= [url]http://customers.ru/get_customer_details.php?number=2147483647[/url]
02-16 11:01:48.290      620-620/com.example.notificationapp W/EGL_emulation﹕ eglSurfaceAttrib not implemented
02-16 11:02:03.600      620-634/com.example.notificationapp D/myLog﹕ sb= <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /get_customer_details.php was not found on this server.</p>
    </body></html>
02-16 11:02:03.610      620-634/com.example.notificationapp E/JSON Parser﹕ Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
02-16 11:02:03.610      620-634/com.example.notificationapp W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x40a13300)
02-16 11:02:03.630      620-634/com.example.notificationapp E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:299)
            at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
            at java.util.concurrent.FutureTask.run(FutureTask.java:137)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
            at java.lang.Thread.run(Thread.java:856)
     Caused by: java.lang.NullPointerException
            at com.example.notificationapp.mySql.CheckCustomer$GetProductDetails.doInBackground(CheckCustomer.java:79)
            at com.example.notificationapp.mySql.CheckCustomer$GetProductDetails.doInBackground(CheckCustomer.java:48)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
************at java.util.concurrent.FutureTask.run(FutureTask.java:137)
************at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
************at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
************at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
************at java.lang.Thread.run(Thread.java:856)
02-16 11:02:05.160      620-620/com.example.notificationapp E/WindowManager﹕ Activity com.example.notificationapp.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@411ef250 that was originally added here
    android.view.WindowLeaked: Activity com.example.notificationapp.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@411ef250 that was originally added here
            at android.view.ViewRootImpl.<init>(ViewRootImpl.java:374)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:292)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:224)
            at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:149)
            at android.view.Window$LocalWindowManager.addView(Window.java:547)
            at android.app.Dialog.show(Dialog.java:277)
            at com.example.notificationapp.mySql.CheckCustomer$GetProductDetails.onPreExecute(CheckCustomer.java:60)
            at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
            at android.os.AsyncTask.execute(AsyncTask.java:534)
            at com.example.notificationapp.mySql.CheckCustomer.onCreate(CheckCustomer.java:44)
            at com.example.notificationapp.MainActivity.onClick(MainActivity.java:113)
            at android.view.View.performClick(View.java:4084)
            at android.view.View$PerformClick.run(View.java:16966)
            at android.os.Handler.handleCallback(Handler.java:615)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
02-16 11:02:06.730      620-634/com.example.notificationapp I/Process﹕ Sending signal. PID: 620 SIG: 9
если в браузере вызвать:
http://customers.ru/get_customer_det...ber=2147483647
то все окей работает, никаких ошибок, настрицу находит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru