2016-02-11 2 views
1

Я использую OkHttp библиотеку многоэлементных данных и все хорошо у меня нет какой-либо ошибки, но когда я скомпилировать программу, то он дает мне ошибкуOkHTTP ошибка не может получить доступ к байтовой строки

Error:(172, 40) error: cannot access ByteString class file for okio.ByteString not found

Ошибка возникает здесь RequestBody.create(MEDIA_TYPE_JPG, new File(data.getFileParam())))

Here is the whole code of method that implements multipart request

public static String makeRequest(RequestConstructor data, String a, String b) { 
    final MediaType MEDIA_TYPE_JPG = MediaType.parse("image/jpg"); 
    try { 
     OkHttpClient client = new OkHttpClient(); 

     Log.d("test",data.getFileParam()); 

     RequestBody requestBody = new MultipartBody.Builder() 
       .setType(MultipartBody.FORM) 
       .addFormDataPart("bunting", data.getParam("bunting")) 
       .addFormDataPart("dangler", data.getParam("dangler")) 
       .addFormDataPart("poster", data.getParam("poster")) 
       .addFormDataPart("tearPad", data.getParam("tearPad")) 
       .addFormDataPart("leafLet", data.getParam("leafLet")) 
       .addFormDataPart("outlet_category", "") 
       .addFormDataPart("dealerName", data.getParam("dealerName")) 
       .addFormDataPart("brouchers", data.getParam("brouchers")) 
       .addFormDataPart("wobblers", data.getParam("wobblers")) 
       .addFormDataPart("tentCard", data.getParam("tentCard")) 
       .addFormDataPart("others", data.getParam("others")) 
       .addFormDataPart("photo", "1.jpg", 
         RequestBody.create(MEDIA_TYPE_JPG, new File(data.getFileParam()))) 
       .build(); 

     Request request = new Request.Builder() 
       .url(data.getUrl()) 
       .post(requestBody) 
       .build(); 

     Response response = client.newCall(request).execute(); 
     if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); 
     Log.d("From OkHTTP Response", response.toString()); 
     System.out.println(response.body().string()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    return null; 
} 

у меня нет никакого импорта для Окио класса, так что я пытался добавить manully прикольных андроида синтаксической ошибки студии шоу cannot resolve symbol okio

ответ

4

Это отдельный пакет, который нам нужно включить самим. Имя: Окио.

Вы можете найти последнюю банку или Java файл здесь: https://github.com/square/okio