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

Как подключить библиотеки для работы с файлами? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Можно ли не использовать singleton http://www.cyberforum.ru/android-dev/thread1612663.html
Бывают ли случаи когда без singleton невозможно реализовать идею в коде? Или по другому, любой ли код с singleton можно переделать чтобы избавится от него. Вопрос не из практики
Программирование Android Service передавать данные в активити, когда приложение закрыто Интересует что будет если сервис запущен, а приложение закрыто ? приложение запуститься на том активити которое вызываю в сервисе ? или произойдет ошибка ? Сервис делаю что бы из базы данных на сервер шли данные в фоновом режиме, но и в приложении (если запущено), показывать что именно отправляется. Запускать приложение не имеет смысла, можно как-то проверить запущено ли приложение и именно в... http://www.cyberforum.ru/android-dev/thread1612646.html
Программирование Android GetDrawable
Пытаюсь присвоить selector кнопке в коде, но выскакивают предупреждения или ошибки. Drawable selector = getResources().getDrawable(R.drawable.selector, this.getTheme()); - Минимальный API 21 мне не подходит. Drawable selector = getDrawable(R.drawable.selector) - Тоже API 21 Drawable s = getResources().getDrawable(R.drawable.selector - Вообще не компилируется, ошибка файл не найден.
Работа с Drawable Программирование Android
Закинул в res/drawable картинку png (1000×1000 30кб), ставлю ее на linear layout: linearlayout.setBackground (getResources ().getDrawable (R.drawable.picture); Но после этого момента приложение занимает на 20 мб больше оперативной памяти и данная процедура занимает целых 2 секунды (а телефон не слабый).
Программирование Android Выпуск обновления для Google Play http://www.cyberforum.ru/android-dev/thread1612496.html
Всем привет. У меня есть уже готовое приложение на Google Play. Пишу в AS 1.5 Теперь возник вопрос - Каким образом заменить иконку на приложение? Я так понял, открываю проект, в папках с иконками заменяю файлы, имена оставляю старые. Тестирую. Теперь я должен сам сменить номер релиза? Если да, то каким образом это сделать верно? Далее, мое приложение подписано в студии. Мне генерировать...
Программирование Android Listview в listview Добрый.. вечер. Вопрос такого плана - есть listview созданный через кастомный адаптер, в элементах этого listview есть еще один listview, который создается тоже через кастомный адаптер... как это все дело заставить работать? Я пытался вызвать из главного адаптера - второй адаптер, но все криво косо .. по сути не работает... Кто сталкивался, помогите идеей, ну или примером (желательно ^^) ... подробнее

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

Как подключить библиотеки для работы с файлами? - Программирование Android

14.12.2015, 15:14. Просмотров 397. Ответов 11
Метки (Все метки)

Уже создавал тему и успешно подключил библиотеки.
Но как оказалось, что бы отправлять не только post-параметры, а и файлы надо использовать другую библиотеку и методы.
Но не думал, что в сфере android-developer все так запущено....
Ну да ладно, ок.
Переделал
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
public class net extends AsyncTask<String, Void, String>  {
 
    Task CallBack;
    String Url;
 
    public net(Task CallBack){
        this.CallBack = CallBack;
    }
 
    protected void onPreExecute() {
        super.onPreExecute();
 
        this.CallBack.before();
 
        this.Url = this.CallBack.Get_url();
    }
 
    @Override
    protected String doInBackground(String... params) {
 
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost http = new HttpPost(this.Url);
        String response = null ;
 
        Map<String,String> nameValuePairs = this.CallBack.param_get();
        Map<String,File> filesPairs = this.CallBack.files_get();
 
        MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null, Charset.forName("UTF-8"));
 
        try {
 
            for(String key : nameValuePairs.keySet()){
               multipartEntity.addPart(key, new StringBody( nameValuePairs.get(key) ) ) ;
            }
 
            for(String key : filesPairs.keySet()){
                multipartEntity.addPart(key, new FileBody(filesPairs.get(key)) );
            }
 
            http.setEntity(multipartEntity); // new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
            HttpResponse httpResponse = httpclient.execute(http);
            int statusCode = httpResponse.getStatusLine().getStatusCode();
 
            if (statusCode == HttpURLConnection.HTTP_OK ) {
                response = EntityUtils.toString(httpResponse.getEntity(), "UTF_8");
            }else{
                this.CallBack.error("server_failed",  statusCode );
            }
        } catch (UnsupportedEncodingException e) {
            this.CallBack.error("encode",  e.hashCode() + " " + e.getMessage() );
        }catch (Exception e) {
            this.CallBack.error("Exception",  e.hashCode() + " " + e.getMessage() );
        }
 
        return response;
    }
 
    protected void onPostExecute(String res) {
        this.CallBack.success(res);
        this.CallBack.Complete();
    }
}
Ах да, надо же еще в gradle дописать библиотеку httpmime, ладно ок...
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'org.apache.httpcomponents:httpmime:4.5'
compile 'com.google.code.gson:gson:2.4'
}
естественно эта собака начинается ругаться на несовместимость, ЭТИ БИБЛИОТЕКИ ИЗ ОДНОГО КОРНЯ! WTF??!!!
Ок, спокойно... дописываю:
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
Вроде все норм, запускаю, крутяк приложение пашет. Отправляю запрос и крэш:
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: Process: com.example.g, PID: 17774
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: java.lang.RuntimeException: An error occured while executing doInBackground()
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:304)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:242)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: Caused by: java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/message/BasicHeaderValueFormatter; in class Lorg/apache/http/message/BasicHeaderValueFormatter; or its superclasses (declaration of 'org.apache.http.message.BasicHeaderValueFormatter' appears in /system/framework/ext.jar)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.entity.ContentType.toString(ContentType.java:153)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:53)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:236)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.entity.mime.MultipartEntity.getEntity(MultipartEntity.java:119)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.entity.mime.MultipartEntity.isChunked(MultipartEntity.java:138)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.protocol.RequestContent.process(RequestContent.java:84)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:295)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:165)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:413)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at com.example.g.lib.net.doInBackground(net.java:62)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at com.example.g.lib.net.doInBackground(net.java:22)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:292)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)*
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)*
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)*
12-14 15:11:18.647 17774-17828/com.example.g E/AndroidRuntime: at java.lang.Thread.run(Thread.java:818)*
Как подключить библиотеки для работы с файлами?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru