我正在尝试使用twilio
在Android中发送短信。但我无法发送它是异常
Fatel exception: java.lang.NoClassDefFoundError:com.twilio.sdk.TwilioRestClient
如果我试图在正常的java program.it工作正常。如果我在android中使用相同的代码,它给出了上述异常,我知道如何解决该异常。
和MainActivity.java
是
package com.example.smsthroughandroid;
import java.util.HashMap;
import java.util.Map;
import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.factory.SmsFactory;
import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.resource.instance.Sms;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
Button b1;
public static final String ACCOUNTSID = "AC126e8ddb3602a2ee77c1295c54b82fdc";
public static final String AUTHTOKEN = "04c75d5737fdd5cfb2d96f9678d1b4cd";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
/* Instantiate a new Twilio Rest Client */
try {
TwilioRestClient client = new TwilioRestClient(ACCOUNTSID, AUTHTOKEN);
// Get the account and call factory class
Account acct = client.getAccount();
SmsFactory smsFactory = acct.getSmsFactory();
Map<String,String> params = new HashMap<String,String>();
params.put("From","+13312096397");
params.put("To", "+918095083152");
params.put("Body", "Bad news " + "hai" + ", the server is down and it needs your help");
// send an sms a call
// ( This makes a POST request to the SMS/Messages resource)
Sms sms = smsFactory.create(params);
System.out.println("Success sending SMS: " + sms.getSid());
}
catch (TwilioRestException e) {
e.printStackTrace();
}
Toast.makeText(this, "hai", Toast.LENGTH_LONG).show();
}
}
我的activity_main.xml
是
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginLeft="36dp"
android:layout_marginTop="59dp"
android:text="Button" />
</RelativeLayout>
我使用以下罐子
commons-httpclient-3.1.jar
gwt-twilio-1.1.jar
jackson-core-asl-1.9.13.jar
jackson-mapper-asl-1.9.0.jar
org.apache.httpcomponents.httpclient_4.3.1.jar
twilio-java-sdk-3.3.14.jar
org.apache.commons.logging.jar
twilioclient-android-1.1.2-3635733.jar
答案 0 :(得分:0)
你必须只使用twilioclient-android的类,而不是你的Android应用程序上的twilio-java-sdk。您的导入必须以com.twilio.client开头。请参阅this
答案 1 :(得分:-1)
在提出任何问题之前,您必须在网上搜索。请参阅您找到答案的链接。
答案 2 :(得分:-2)
试试这个 - 1)项目 - &gt; config build path-&gt;订单和出口 - &gt;将依赖项目移到其他地方
2)项目 - &gt;属性 - &gt; Java构建路径 - &gt;订单&amp;导出并确保为您的项目以及您正在使用的所有其他库项目检查Android私有库。