• Как отправить POST запрос с помощью HttpURLConnection?

    @tepexob
    Минимум как-то так. А там сами обработаете что и как требуется и положено.

    String myURL = "http://myserver.com";
    String params = "param1=1&param2=XXX";
    byte[] data = null;
    InputStream is = null;
    
    try {
        URL url = new URL(myURL);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        conn.setDoInput(true);
    
        conn.setRequestProperty("Content-Length", "" + Integer.toString(params.getBytes().length));
        OutputStream os = conn.getOutputStream();
        data = params.getBytes("UTF-8");
        os.write(data);
        data = null;
    
        conn.connect();
        int responseCode= conn.getResponseCode();
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        is = conn.getInputStream();
    
        byte[] buffer = new byte[8192]; // Такого вот размера буфер
        // Далее, например, вот так читаем ответ
        int bytesRead;
        while ((bytesRead = is.read(buffer)) != -1) {
            baos.write(buffer, 0, bytesRead);
        }
        data = baos.toByteArray();
    } catch (Exception e) {
    } finally {
        try {
            if (is != null)
                is.close();
        } catch (Exception ex) {}
    }
    return data;


    Особого отличия от HttpClient нет.
    Ответ написан
  • Как получить только заголовки в HttpURLConnection?

    @tepexob
    Именно так, нужно получить заголовки и завершить соединение.
    Разве не получается?
    URL url = new URL(str);
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setRequestMethod("POST");
    conn.connect();
    Map<String, List<String>> headerFields = conn.getHeaderFields();
    //... get all fileds here
    conn.disconnect();
    Ответ написан
    Комментировать
  • Можно ли отслеживать повторные установки мобильных приложений?

    @tepexob
    В Android Developer Console, вероятно, можно можно использовать параметр "Всего установок (пользователей)", находя разницу между сегодняшним значением и вчерашним.

    Всего установок (пользователей): количество уникальных пользователей, установивших продукт. Для каждого пользователя считается только первая установка независимо от того, на сколько устройств он установил приложение впоследствии.
    https://support.google.com/googleplay/android-deve...


    Вероятно.., т.к. я не уверен, что "первая установка" - это первая установка )). Но скорее всего так и есть.
    Ответ написан
  • Какая есть хорошая библиотека для удобного использования shared preferences в Android?

    @tepexob
    Сделайте SharedPreferences sharedPref и SharedPreferences.Editor editor членами класса, например MainActivity, инициализируйте только 1 раз, напр. в onCreate.
    Т.о. кол-во кода в вашем примере сократится с 4х до 2х строк.
    Ответ написан
    Комментировать
  • Годится ли китайский планшет для разработки?

    @tepexob
    Недавно в руки попали планшеты: MSI WindPad Enjoy 7 и еще несколько китайских noname.
    Noname-девайсы были отложены в сторону, а для MSI первой задачей стал прогон всех текущих проектов.
    Драйвер adb сразу найти не удалось. И на сайте MSI драйвера для этой модели (серия Enjoy 7' и Enjoy 10') не оказалось. Ну, и ладно…
    Затем одно из приложений на MSI не взлетело, и вопрос отладки «встал ребром».
    Через некоторое время «ADB driver enjoy_usb» таки обнаружился в глубинах просторов сети, был установлен; подключенный к компу планшет стал обнаруживаться как ADB-девайс и …
    … и ничего! ADB по-прежнему планшета не замечал. Ни так, ни эдак.
    В итоге, причину невзлета приложения пришлось отлавливать весьма не практичными способами. Тем не менее, баг был пофикшен.

    Так вот я к чему? К тому, что на фоне ситуации с MSI планшетом, китайские поделки вообще ушли в долгий ящик.
    Есть варианты с отладкой, например, по Wifi, но для этого нужен Root-девайс. Я лично пока не опытен ни в дровах этих, ни в прошивках. Возможно, есть какие-то нормальные пути решения подобной задачи, но мне они пока не известны, а следовательно и китайские noname планшеты идут далеко лесом…

    Кстати, может быть, кто-то из вас в курсе, каким же образом можно связать подобного рода девайсы с ADB (как на Винде, так и на Линуксе)?
    Ответ написан
    Комментировать