Я создал одно демо, основанное на вызове mashape api. Но я получаю сообщение об ошибке. Я попробовал много предложений, но не получил никакого решения.java.lang.NoClassDefFoundError: org.apache.http.impl.conn.PoolingHttpClientConnectionManager
Java код:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new CallMashapeAsync().execute();
}
private class CallMashapeAsync extends AsyncTask<String, Integer, HttpResponse<JsonNode>> {
protected HttpResponse<JsonNode> doInBackground(String... msg) {
HttpResponse<JsonNode> request = null;
try {
request = Unirest.get("https://indianpost.p.mashape.com/getOffices.php?pincode=394101")
.header("X-Mashape-Key", "My API")
.header("Accept", "application/json")
.asJson();
} catch (UnirestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return request;
}
protected void onProgressUpdate(Integer...integers) {
}
protected void onPostExecute(HttpResponse<JsonNode> response) {
String answer = response.getBody().toString();
TextView txtView = (TextView) findViewById(R.id.textview1);
txtView.setText(answer);
}
}
}
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.hungama3.myapplication"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile files('libs/gson-2.2.4.jar')
compile files('libs/httpclient-4.3-beta1.jar')
compile files('libs/mashape-java-client-2.0.10.jar')
compile files('libs/unirest-java-1.3.0.jar')
compile files('libs/org.apache.commons.logging-1.1.1.jar')
}
Ошибка:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NoClassDefFoundError: org.apache.http.impl.conn.PoolingHttpClientConnectionManager
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:459)
at com.mashape.unirest.http.options.Options.refresh(Options.java:41)
at com.mashape.unirest.http.options.Options.<clinit>(Options.java:27)
at com.mashape.unirest.http.HttpClientHelper.prepareRequest(HttpClientHelper.java:138)
at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:121)
at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:64)
at com.example.hungama3.myapplication.MainActivity$CallMashapeAsync.doInBackground(MainActivity.java:33)
at com.example.hungama3.myapplication.MainActivity$CallMashapeAsync.doInBackground(MainActivity.java:27)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Я пробовал много Я.А. r для библиотеки http apache, но не получая никакого решения. Если у кого-нибудь есть предложение, то скажите мне.
Ошибка линии фокуса 37, которая указывает «запрос» в try catch.
Я сменил строку compile 'org.apache.httpcomponents: httpclient: 4.3.6', но при этом появилась такая же ошибка .... – kishan
проверить мое редактирование, возможно, потому что у андроида есть свой собственный httpclient уже –
любые изменения в build.gradle файл? если затем объяснить изменения .. – kishan