Spanish [SOLUCIONADO]alguien ha trabajado con okhttp?

mvera

Active Member
Licensed User
Longtime User
hola necesito saber si alguien ha podido trabajar con okhttp.

uno vez lo intente de manera rápida y no logre realizarlo.

tengo un proyecto que va en la mitad de su desarrollo y necesito que ahora ocupe el okhttp.

gracias.
 

dar2o3

Active Member
Licensed User
Longtime User
Funciona igual que httpUtils, es totalmente compatible.
 
Last edited:

rscheel

Well-Known Member
Licensed User
Longtime User
hola necesito saber si alguien ha podido trabajar con okhttp.

uno vez lo intente de manera rápida y no logre realizarlo.

tengo un proyecto que va en la mitad de su desarrollo y necesito que ahora ocupe el okhttp.

gracias.
Pero que buscas hacer específicamente con okhttp?
 

mvera

Active Member
Licensed User
Longtime User
miren actualmente utilizo asi httputil2

B4X:
Sub Globals

    Dim envio_registro As HttpJob
  
End Sub




Sub Activity_Create(FirstTime As Boolean)  
  
    Activity.LoadLayout("registro")
    envio_registro.Initialize("carga",Me)   

End Sub






Sub bvalidar_Click
  
  
  
        miniruta=""&acciones.ruta_s&"validar_usuario.php"
        envio_registro.PostString(miniruta, "")
        
      
  
End Sub








'JOBDONE
Sub JobDone(Job As HttpJob)




    Dim m As Map
    Dim respuesta,query As String
  
  
    m.Initialize()
  
    Log("entramos....."&Job.Success)
  
  
  
    If Job.Success Then
    Dim res As String
        res = Job.GetString
      
        Log("Response from server: " & res)
        Dim parser As JSONParser
      
      
        parser.Initialize(res)
      
        Log("NOMBRE....."&Job.JobName)
          
        Select Job.JobName
      
          
                  
                  
                  
                Case "carga"
              
              
                  
                  Dim tipo_i As List
                  tipo_i= parser.NextArray 'returns a list with maps
                
                
                For i = 0 To tipo_i.Size - 1
                  
                  
                    Dim m As Map
                    m = tipo_i.Get(i)
                  
                              
                      
                    respuesta= m.Get("respuesta")
                    nombre= m.Get("nombre")
                  
                                          
                    Log("TOTAL"& respuesta)
                  
                  
                                      
                    If (respuesta="validado") Then
                      
                      'accion
                      
                       end if
                  
                  
                  
                  
                  
                    If (respuesta="noregistrado") Then
                                              
                           'accion
              
                    End If
                  
                  
                  
                  
                  
              
                    m.Clear  
                Next
              
              
                ProgressDialogHide
          
                
      
                  
        End Select
  
      
  
      
    End If
    Job.Release
  
  
  
  
  
End Sub


Mi duda es como cambiar lo que tengo hecho , ahora para usar okhttp


Muchas gracias.
 

Descartex

Well-Known Member
Licensed User
Longtime User
Hola.
En teoría, HttpUtils y OKHttp son completamente compatibles, por lo que no deberías cambiar tu código.
Es más, yo adapté 5 de mis aplicaciones que usaban HttpUtils a OkHttp simplemente cambiando la referencia a la librería.
Un saludo.
 

sirjo66

Well-Known Member
Licensed User
Longtime User
que tiene OkHttp màs de HttpUtils ?

porque cambiaste ??

Un saludo
Sergio
 

mvera

Active Member
Licensed User
Longtime User
me preguntas porque cambie?

la verdad me gusta como esta ahora , pero el problema que esta obsoleto en android 6 o eso he leido.
 

mvera

Active Member
Licensed User
Longtime User
bueno siguiendo como el tema descargue la libreria de este post
https://www.b4x.com/android/forum/threads/okhttp-replaces-the-http-library.54723/

puse todas las librerias en mi descarga en c: de ba4a.

-Compilo sin problema
-ejecuto sin problema
-pero al momento de ir a la parte donde lo ocupo la libreria me sale el siguiente error:
B4X:
java.lang.NoClassDefFoundError: anywheresoftware.b4a.objects.ServiceHelper$StarterHelper
    at anywheresoftware.b4a.samples.httputils2.httputils2service.onCreate(httputils2service.java:48)
    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2414)
    at android.app.ActivityThread.access$1700(ActivityThread.java:140)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4921)
    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:1027)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)


Alguna idea del porque?
 

mvera

Active Member
Licensed User
Longtime User
ademas baje el fuente que incluye y noto:
-que tiene marcada la libreria okhttp y hace Dim job1 As HttpJob
-si yo hago lo mismo marcando la libreria okhttp puedo hacer Dim job1 As HttpJob , ya que HttpJob no me sale
-si yo marco okhttputils2 , si me sale la opcion , pero igual me marca el error ya mencionado
-tengo la version 5.2 de b4a
 

rscheel

Well-Known Member
Licensed User
Longtime User
ademas baje el fuente que incluye y noto:
-que tiene marcada la libreria okhttp y hace Dim job1 As HttpJob
-si yo hago lo mismo marcando la libreria okhttp puedo hacer Dim job1 As HttpJob , ya que HttpJob no me sale
-si yo marco okhttputils2 , si me sale la opcion , pero igual me marca el error ya mencionado
-tengo la version 5.2 de b4a

Tienes que tener seleccionada la librería okhttp y okhttputils2 ambas librerias.
 

mvera

Active Member
Licensed User
Longtime User
ahora lo intente agregando las dos librerias(okhttp v1.01 y okhttputils v2.20) y sacando httputils2

B4X:
RUTA :
http://servicios.xxx.cl/xxxx/script/mialrededor.php /latitud=-33.60210022889078&longitud=-70.86914520710707

java.lang.NoClassDefFoundError: anywheresoftware.b4a.objects.ServiceHelper$StarterHelper
    at anywheresoftware.b4a.samples.httputils2.httputils2service.onCreate(httputils2service.java:48)
    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2414)
    at android.app.ActivityThread.access$1700(ActivityThread.java:140)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)


Al parecer falta algo pero no se que podria ser...

gracias por todo
 

Attachments

  • liberias.png
    liberias.png
    8.6 KB · Views: 232

mvera

Active Member
Licensed User
Longtime User
estas son las librerias que agrego a la carpeta:

C:\Program Files (x86)\Anywhere Software\Basic4android\Libraries
 

Attachments

  • todo.png
    todo.png
    10.9 KB · Views: 231
Top