2016-04-14 20 views
2

Ben Twilio kullanacak bir android uygulaması yazıyorum, ama tabii ki, ben android için yeni. Birinin bu örnek sınıflarını Twilio's site'dan nasıl kullanacağını açıklayabileceğini görmek isterim?Android Twilio Bu örnek sınıfları nasıl kullanırım?

CallRetriever adlı yeni bir Java Sınıfı oluşturursam, ACCOUNT_SID ve AUTH_TOKEN veya diğer parametrelerde gönderirken ana etkinliğimde bunu nasıl arayabilirim? kod olacak nereye

import java.util.Map; 
import java.util.HashMap; 

import com.twilio.sdk.TwilioRestClient; 
import com.twilio.sdk.TwilioRestException; 
import com.twilio.sdk.resource.instance.Account; 
import com.twilio.sdk.resource.instance.Call; 
import com.twilio.sdk.resource.list.CallList; 

public class CallRetriever { 

    // The customer's Account Sid 
    public static final String ACCOUNT_SID = "AC123"; 

    // Your own Auth Token 
    public static final String AUTH_TOKEN = "456bef"; 

    public static void main(String[] args) throws TwilioRestException { 

     TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN); 
     Account mainAccount = client.getAccount(); 
     CallList calls = mainAccount.getCalls(); 
     for (Call call : calls) { 
      System.out.println("From: " + call.getFrom() + " To: " + call.getTo()); 
     } 
    } 
} 

GÜNCELLEME budur.

import... 
public class StartPage extends Activity { 
    ... 
    private String twilio_account_sid; 
    private String twilio_auth_token; 
    ... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     twilio_account_sid = booth_preferences.getString("twilio_account_sid", ""); 
     twilio_auth_token = getString(R.string.twilio_auth_token); 

     twilio_login_button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //Do a post to a PHP page to get user SID 
       twilio_web_view.getSettings().setJavaScriptEnabled(true); 
       twilio_web_view.setWebViewClient(new WebViewClient() { 
        public boolean shouldOverrideUrlLoading(WebView view, String url){ 
         requested urlredirect: 
         view.loadUrl(url); 
         if(url.contains("?")) { 
          String[] url_split = url.split("\\?"); 
          if(url_split[1].contains("&")){ 
           String[] url_values = url_split[1].split("&"); 
           //Get splits, probably not necessary 
          } else { 
           //GET SID from URL 
           String[] url_values = url_split[1].split("="); 
           String type = url_values[0]; 
           String value = url_values[1]; 
           Log.d("*******", type + "::" + value); 
           edit_preferences.putString("twilio_account_sid", value).apply(); 
           twilio_web_view.setVisibility(View.GONE); 
           Toast.makeText(getApplicationContext(), "Logged in to Twilio " + twilio_account_sid, Toast.LENGTH_LONG).show(); 
           twilio_login_button.setVisibility(View.GONE); 
           twilio_logout_button.setVisibility(View.VISIBLE); 

           //THIS IS WHERE I NEED THE CLASS TO RUN. 
           //I NEED TO SEND THE NEW SID AND AUTH TOKEN 
           TwilioRestClient client = new TwilioRestClient(twilio_account_sid, getString(R.string.twilio_auth_token)); 
           Account mainAccount = client.getAccount(); 
           CallList calls = mainAccount.getCalls(); 
           for (Call call : calls) { 
            System.out.println("From: " + call.getFrom() + " To: " + call.getTo()); 
           } 
          } 
         } 
         return false; // then it is not handled by default action 
        } 
       }); 

      twilio_web_view.loadUrl("https://www.twilio.com/authorize/CN546428ff3127adbab58eb73db7c7dc93"); 
       //setContentView(twilio_web_view); 
       twilio_web_view.setVisibility(View.VISIBLE); 
      } 
     }); 
    } 
} 

Herhangi bir yardım harika olurdu!

+0

Sadece Etkinlik onCreate (....) '' daki ana mantığı eklemek için aşağıdaki gibi CallRetriever özelleştirilmiş olması ve varsayalım Eğer bir 'Ağ buysa 'arama daha sonra 'Asynctask' –

+0

@MD'yi kullanarak arka planda gerçekleştirin, Teşekkür ederim, aslında' onCreate 'adımında sınıfı nasıl arayacağımı bilmiyorum. Ne arayacağımı bilmiyorum çünkü terimi bile bilmiyorum. Şimdiye kadar, sadece ana faaliyetimde her şeyi yapıyorum – ntgCleaner

+0

İlk önce faaliyet kodunuzu gönderin. Eğer bir şey varsa –

cevap

3

i bir Activity

public class MainActivity extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.Yourlayout); 

    CallList calls = CallRetriever.getAllCalls("ACCOUNT_SID_value","AUTH_TOKEN_value"); 
    //calls contains the final result 
    for (Call call : calls) { 
     System.out.println("From: " + call.getFrom() + " To: " + call.getTo()); 
    } 
} 
} 

Şimdi

public class CallRetriever { 

// The customer's Account Sid 
public static final String ACCOUNT_SID = "AC123"; 

// Your own Auth Token 
public static final String AUTH_TOKEN = "456bef"; 

public static CallList getAllCalls(String ACCOUNT_SID,String AUTH_TOKEN) throws TwilioRestException { 

    TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN); 
    Account mainAccount = client.getAccount(); 
    retrun mainAccount.getCalls(); 

    } 
} 
+1

Tamam, buna bir göz atıyorum. Ben şimdi anlıyorum düşünüyorum, sadece – ntgCleaner

+0

@ntgCleaner hmm iyi bağlantıları yapmak gerekiyor. –

+0

Sanırım şimdi merak ediyorum, parametreleri sınıfa nasıl geçirebilirim? Örneğin. Auth kodunu ve SID'yi – ntgCleaner

İlgili konular