Autore Topic: Usare libreria \"import org.apache.http...;\" Android Studio 1.5.1  (Letto 1108 volte)

Offline Steve88RS

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S 2
  • Sistema operativo:
    Windows 7
0
Salve a tutti  :-)
Per la mia app, ho bisogno di connettermi in un database remoto.
In molti tutorial che ho visto, fanno uso delle librerie :

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.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

Ad ognuna mi da il seguente errore: Cannot resolve Symbol HttpEntity, e cosi via per le altre.
Ho letto diverse soluzioni al problema, come aggiungere delle righe in dependencies nel build.gradle, ma nessuna sembra funzionare, dandomi errore poi nel build.gradle stesso.
Conoscete qualche soluzione o tutorial da linkarmi?

Post unito: [time]29 Febbraio 2016, 15:02:25 CET[/time]
Risolto.
Ho scaricato il binary su Apache HttpComponents - Apache HttpComponents.
Ho estratto i files jar (httpclient-4.5.1.jar e tutte le altre), che si trovano nella cartella lib, dentro la libreria (libs) del progetto android.
Infine le ho caricate come libreria.
« Ultima modifica: 29 Febbraio 2016, 15:08:10 CET da Steve88RS, Reason: Merged DoublePost »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Usare libreria \"import org.apache.http...;\" Android Studio 1.5.1
« Risposta #1 il: 01 Marzo 2016, 10:44:38 CET »
0
Perchè non usi OKHttp? E' oramai la libreria standard :)

Ti basta aggiungere

Codice: [Seleziona]
compile 'com.squareup.okhttp3:okhttp:3.2.0'
alle dipendenze nel file build.gradle

Offline memmo77

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Redmi Note 2
  • Sistema operativo:
    windows 10
Re:Usare libreria \\\"import org.apache.http...;\\\" Android Studio 1.5.1
« Risposta #2 il: 19 Aprile 2016, 11:33:00 CEST »
0
Salve a tutti  :-)
Per la mia app, ho bisogno di connettermi in un database remoto.
In molti tutorial che ho visto, fanno uso delle librerie :

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.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

Ad ognuna mi da il seguente errore: Cannot resolve Symbol HttpEntity, e cosi via per le altre.
Ho letto diverse soluzioni al problema, come aggiungere delle righe in dependencies nel build.gradle, ma nessuna sembra funzionare, dandomi errore poi nel build.gradle stesso.
Conoscete qualche soluzione o tutorial da linkarmi?

Post unito: [time]29 Febbraio 2016, 15:02:25 CET[/time]
Risolto.
Ho scaricato il binary su Apache HttpComponents - Apache HttpComponents.
Ho estratto i files jar (httpclient-4.5.1.jar e tutte le altre), che si trovano nella cartella lib, dentro la libreria (libs) del progetto android.
Infine le ho caricate come libreria.

Ho seguito le tue indicazioni, aggiungendo i riferimenti alle librerie di apache attraverso:

File - Project Structure - Dependencies e poi facendo click su + file dependency

Aggiungendo tutti i file necessari.
Quando però tento di andare in debug mi solleva questo errore:

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/DEPENDENCIES
   File1: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\httpcore-4.4.4.jar
   File2: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\fluent-hc-4.5.2.jar
   File3: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\httpmime-4.5.2.jar
   File4: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\httpclient-win-4.5.2.jar
   File5: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\httpclient-4.5.2.jar
   File6: D:\CORSO ANDROID\Applicazioni\MyApplication\app\src\external_libs\httpclient-cache-4.5.2.jar

external_libs è la cartella che ho aggiunto per copiare tutti i riferimenti . jar, non capisco perchè dica duplicate
Grazie dell'attenzione
Ciao

Post unito: 19 Aprile 2016, 11:51:17 CEST
Perchè non usi OKHttp? E' oramai la libreria standard :)

Ti basta aggiungere

Codice: [Seleziona]
compile 'com.squareup.okhttp3:okhttp:3.2.0'
alle dipendenze nel file build.gradle

Ciao come posso utilizzare com.squareup.okhttp3:okhttp:3.2.0 per connettermi ad un db con la procedura descritta sopra?
Ho provato ad aggiungere la dipendenza e togliere le altre ma mi segnala la mancanza delle precedenti dipendenze
Grazie mille ciao
« Ultima modifica: 19 Aprile 2016, 11:51:17 CEST da memmo77, Reason: Merged DoublePost »