2014-11-07 4 views
1

내 안드로이드 응용 프로그램에 twilio 단축 코드를 사용하고 싶습니다. 이 오류가 발생합니다. 그것에 대한 해결책이 있습니까? 나는이 문제에 붙어있다.ANDROID에서 TWILIO shortcodes API를 통합하는 방법은 무엇입니까?

11-07 18:04:54.442: E/AndroidRuntime(474): FATAL EXCEPTION: Thread-10 
11-07 18:04:54.442: E/AndroidRuntime(474): java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init> 
11-07 18:04:54.442: E/AndroidRuntime(474): at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:47) 
11-07 18:04:54.442: E/AndroidRuntime(474): at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:93) 
11-07 18:04:54.442: E/AndroidRuntime(474): at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:147) 
11-07 18:04:54.442: E/AndroidRuntime(474): at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:117) 
11-07 18:04:54.442: E/AndroidRuntime(474): at com.example.twil.MainActivity$1.run(MainActivity.java:51) 
11-07 18:04:54.442: E/AndroidRuntime(474): at java.lang.Thread.run(Thread.java:1019) 

내 코드는 다음과 같습니다 :

public static final String ACCOUNT_SID = "XXXXXXXXXXXX"; 
public static final String AUTH_TOKEN = "XXXXXXXXXXXXX"; 
public String url = "https://api.twilio.com/2010-04-01/Accounts/"; 

    private void getData() { 

    new Thread(new Runnable() { 

     @Override 
     public void run() { 

      TwilioRestClient cl = new TwilioRestClient(ACCOUNT_SID,AUTH_TOKEN); 

      String urls = url + ACCOUNT_SID + "/Messages.json"; 

      List<NameValuePair> params = new ArrayList<NameValuePair>(); 
      params.add(new BasicNameValuePair("Body", "Hello")); 
      params.add(new BasicNameValuePair("To", "+919638038525")); 
      params.add(new BasicNameValuePair("From", "+12027938259")); 
      //params.add(new BasicNameValuePair("", ACCOUNT_SID+":"+AUTH_TOKEN)); 

      String paramString = URLEncodedUtils.format(params, "utf-8"); 
      //String newurls = urls + paramString + "/" + ACCOUNT_SID + ":" + AUTH_TOKEN; 
      String newurls = urls + paramString; 
      Log.e("cat URL", newurls); 
      String json = post(newurls); 
      Log.e("json", json); 
     } 
    }).start(); 
} 


private String post(String url) { 
    InputStream inputStream = null; 
    String result = ""; 
    try { 

     // 1. create HttpClient 
     HttpClient httpclient = new DefaultHttpClient(); 

     // 2. make POST request to the given URL 
     HttpPost httpPost = new HttpPost(url); 

     String json = ""; 
     JSONObject jsonObject = new JSONObject(); 
     // jsonObject.accumulate("X-Mashape-Key", 
     // "zgLkefJL03msh7C1P8bTXYXWykrLp1EFzJJjsnzcFhkwB63em9"); 
     json = jsonObject.toString(); 
     StringEntity se = new StringEntity(json); 

     // 6. set httpPost Entity 
     httpPost.setEntity(se); 

     // 7. Set some headers to inform server about the type of the 
     // content 
     httpPost.setHeader("Accept", "application/json"); 
     httpPost.setHeader("Content-type", "application/json"); 

     // 8. Execute POST request to the given URL 
     HttpResponse httpResponse = httpclient.execute(httpPost); 

     // 9. receive response as inputStream 
     inputStream = httpResponse.getEntity().getContent(); 

     // 10. convert inputstream to string 
     if (inputStream != null) 
      result = convertInputStreamToString(inputStream); 
     else 
      result = "Did not work!"; 

    } catch (Exception e) { 
     Log.d("InputStream", e.getLocalizedMessage()); 
    } 

    // 11. return result 
    return result; 
} 

private static String convertInputStreamToString(InputStream inputStream) 
     throws IOException { 
    BufferedReader bufferedReader = new BufferedReader(
      new InputStreamReader(inputStream)); 
    String line = ""; 
    String result = ""; 
    while ((line = bufferedReader.readLine()) != null) 
     result += line; 

    inputStream.close(); 
    return result; 

} 

라이브러리 사용 : twilio - 자바 SDK-3.4.6-항아리 -와 - dependencies.jar

답변

0

당신이 메시지를 보낼 안된다 안드로이드에서 제공되는 SDK는 JAVA 용입니다. 백엔드 서버에서 사용해야하며 메시지를 보내도록 서버를 트리거하십시오.

관련 문제