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

Подключаемые библиотеки в Android Studio - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Виджет на экран блокировки http://www.cyberforum.ru/android-dev/thread1567033.html
В некоторых аудиоплеерах информация о статусе проигрывания выводится на экран блокировки (Название композиции, кнопки, seekbar). Хочу реализовать такую же функцию. Это что вообще такое? Виджет? Или уведомление? И как это автоматически поместить на экран?
Программирование Android Как сделать чтобы при вводе текста и нажатии на кнопку записался текст в алерт Всем привет, появилась трудность с String "//" - Объясню суть кода: public void onAlg (View view){ EditText alg = (EditText) findViewById(R.id.IDalg); String str1 = alg.getText().toString(); //Создадим string со значением текста из "EditText" //Стандартное окно ALERT http://www.cyberforum.ru/android-dev/thread1566879.html
TextView перенос строк по словам Программирование Android
Добрый вечер! ТекстВью переносит длинную строку очень и очень криво, например: установить нужно эт ого сюда, а этого сюд а. Как это можно исправить?
Программирование Android Как у GridView сделать border?
В GridView помещаю ImageButtun`ы как у GridView сделать такой border
Программирование Android Обработка FloatingActionButton в классе не наследующим класс Activity http://www.cyberforum.ru/android-dev/thread1566530.html
Доброго времени суток. Пишу проект и столкнулся с такой проблемой. В своём приложении использую Tabs в ToolBar для удобного просмотра меню. Столкнулся с проблемой, не знаю как обработать LayOut элементы к примеру кнопку что бы перейти в другое Activity. Добавляю кнопку в мой LayOut для данного Tab-а <?xml version="1.0" encoding="utf-8"?> <LinearLayout...
Программирование Android Как лучше шифровать данные приложения? Не знаю в какой ветке писать, но раз уж приложения так легко ломаются... У меня есть данные в небольшом текстовом файле. Которые я не хотел бы чтобы у меня украли из приложения (или с сервера, не важно). Теоретически это сделать не возможно? Можно расшифровать и обойти любую защиту? подробнее

Показать сообщение отдельно
gradus
0 / 0 / 0
Регистрация: 30.10.2015
Сообщений: 41

Подключаемые библиотеки в Android Studio - Программирование Android

31.10.2015, 00:01. Просмотров 2147. Ответов 14
Метки (Все метки)

Сразу скажу что я нуб, сегодня первый день когда взялся за java и android studio. Написал пока примитивный класс для отправки post данных на сервер.
И большую часть времени потратил на разбор полетов с android studio, потому как:

1) org.apache.http почему-то не входит в стандартный набор пакетов, как скачать через стандартные тулсы ide я не нашел.
Зашел на сайт апача, скачал библиотеки, закинул в папку проекта \app\libs (httpclient-4.5.1, httpcore-4.4.3) и в android studio правой кнопкой мыши добавил эти библиотеки ( зачем это кстати если они уже лежат в папке lib ? ).

2) после добавления необходимых библиотек, выпал error:
Error:duplicate files during packaging of APK app\build\outputs\apk\app-debug-unaligned.apk
Path in archive: META-INF/DEPENDENCIES
Origin 1: \app\libs\httpclient-4.5.1.jar
Origin 2: \app\libs\httpcore-4.4.3.jar
По совету компилятора добавил в build.gradle
Код
packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
}
но WTF ? что это еще за история, какая еще дубликация файлов если как я понял у каждой библиотеки есть такие файлы.

3) Теперь ошибок нет, но приложение вылетает и в дебагере ничего нет, елки палки ну как искать тогда ошибки ?
окей, запустил этот метод отправки post не при старте приложения, а при нажатии на кнопку и тут уже дебаг показал:
FATAL EXCEPTION: main
E/AndroidRuntime: java.lang.VerifyError: org/apache/http/conn/ssl/DefaultHostnameVerifier
E/AndroidRuntime: at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:944)
E/AndroidRuntime: at ru.project.te.api.send(api.java:38)
E/AndroidRuntime: at ru.project.te.MainActivity$1.onClick(MainActivity.java:40)
E/AndroidRuntime: at android.view.View.performClick(View.java:4276)
E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:17757)
E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5223)
E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
Да что ты б** опять не работаешь ?!

Что теперь править, что бы элементарный post запрос отработал ?

Код прилагаю:
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
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
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.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
 
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;
 
public class api {
 
    private String url = "http://example.com/api.php";
    private String key = "test";
 
 
 
    public String send( String method_name , List<NameValuePair> params ){
 
        HttpClient client; // web клиента
        HttpPost request; // POST запрос
        HttpResponse response; // объект ответа
        HttpEntity httpEntity; // http объект
        String content = null; // string ответ
        
        try {
 
            // создаем web клиента
            client = HttpClientBuilder.create().build();
 
            // формируем url запроса и создаем POST объект
            request = new HttpPost( this.url + "?key=" + key + "&method=" + method_name );
 
            // заполняем POST объект данными из входящего массива params
            request.setEntity(new UrlEncodedFormEntity(params));
 
            // выполняем запрос
            response = client.execute(request);
 
            // создаем http сущность ответа
            httpEntity = response.getEntity();
 
            // через утилиту EntityUtils конвертируем поток из http объекта ответа в string , с указанием кодировки
            content = EntityUtils.toString(httpEntity, "UTF-8");
 
        } catch (IOException e) {
            // в случае ошибки
            content = e.getMessage();
        }
 
        return content;
    }
 
}
p.s. может есть ide более "лучше" или просто я такой рукожоп ?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru