2016-04-14 4 views
2

Ich schreibe eine Android-App, die Twilio verwenden wird, aber offensichtlich bin ich neu bei Android. Ich möchte nur sehen, ob jemand erklären kann, wie man diese Beispielklassen von Twilio's site benutzt?Android Twilio Wie verwende ich diese Beispielklassen?

Wenn ich eine neue Java-Klasse namens CallRetriever mache, wie rufe ich sie in meiner Haupttätigkeit beim Senden in die ACCOUNT_SID und AUTH_TOKEN oder andere Parameter?

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()); 
     } 
    } 
} 

UPDATE Hier wird der Code gehen.

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); 
      } 
     }); 
    } 
} 

Jede Hilfe wäre großartig!

+0

einfach Ihre Haupt Logik hinzufügen, in 'Aktivität onCreate (....)' und wenn es ein 'Netzwerk 'rufen Sie dann tun es im Hintergrund, indem Sie' Asynctask' –

+0

@MD, Danke, obwohl ich nicht weiß, wie man die Klasse tatsächlich in meinem 'onCreate' nennt. Ich bin mir nicht sicher, was ich suchen soll, weil ich den Begriff nicht einmal kenne. Bisher habe ich einfach alles in meiner Haupttätigkeit gemacht – ntgCleaner

+0

ok zuerst poste deinen Aktivitätscode. Wenn überhaupt, hast du –

Antwort

3

Wenn Angenommen, ich habe ein 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()); 
    } 
} 
} 

Jetzt CallRetriever wie maßgeschneiderte unter

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

Ok, schau dir das an. Ich denke, ich verstehe jetzt, ich muss nur die Links machen – ntgCleaner

+0

@ntgCleaner hmm gut, es ist großartig. –

+0

Ich frage mich jetzt, wie übergebe ich Parameter an die Klasse? Beispielsweise. Ich muss die Authentifizierungstoken und Konto SID an die Klasse – ntgCleaner

Verwandte Themen