- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
堆栈上有很多关于此的主题,但没有一个起作用:/
我正在运行android studio,我在gradle中添加了这个库,然后gradle clean,构建项目和运行应用程序。
不幸的是,每次我运行应用程序时都会失败
Process: com.example.gta.fab1, PID: 5775
java.lang.NoClassDefFoundError: com.loopj.android.http.AsyncHttpClient
at com.example.gta.fab1.TabFragments.WhoFragment.uploadToServer(WhoFragment.java:129)
at com.example.gta.fab1.TabFragments.WhoFragment.access$100(WhoFragment.java:41)
at com.example.gta.fab1.TabFragments.WhoFragment$1.onClick(WhoFragment.java:85)
at com.facebook.FacebookButtonBase.callExternalOnClickListener(FacebookButtonBase.java:216)
at com.facebook.share.widget.ShareButtonBase.access$000(ShareButtonBase.java:39)
at com.facebook.share.widget.ShareButtonBase$1.onClick(ShareButtonBase.java:167)
at com.facebook.FacebookButtonBase$1.onClick(FacebookButtonBase.java:385)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
我的gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.gta.fab1"
multiDexEnabled true
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.loopj.android:android-async-http:1.4.9'
}
我的类(class):
package com.example.gta.fab1.TabFragments;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.loopj.android.http.*;
import org.json.JSONObject;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.UUID;
import cz.msebera.android.httpclient.entity.StringEntity;
import cz.msebera.android.httpclient.message.BasicHeader;
import cz.msebera.android.httpclient.protocol.HTTP;
import cz.msebera.android.httpclient.Header;
public class WhoFragment extends Fragment {
CallbackManager callbackManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final RelativeLayout mRelativeLayout = (RelativeLayout) inflater.inflate(
R.layout.who_fragment, container, false);
JSONObject post_json = jSonBuilder(facebook_id, activity);
try{
uploadToServer(post_json);
Log.d("output", post_json.toString(2));
} catch(java.io.IOException | org.json.JSONException e){
throw new RuntimeException(e);
}
return mRelativeLayout;
}
private JSONObject jSonBuilder(String fb_id,FragmentMain activity ){
JSONObject parent = new JSONObject();
try{
parent.put("user_fb_id",fb_id);
parent.put("locations", activity.serialize.getArrayOfRestaurants());
parent.put("time_propositions", activity.serialize.getArrayOfTimeSchedule());
return parent;
}catch(org.json.JSONException e){
throw new RuntimeException(e);
}
}
private void uploadToServer(JSONObject post_json) throws IOException, org.json.JSONException {
AsyncHttpClient client = new AsyncHttpClient();
String url = "http://myurl/api/postjson/1";
StringEntity se = null;
try {
se = new StringEntity(post_json.toString());
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
client.post(null, url, se, "application/json", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody) {
System.out.print("success");
}
@Override
public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody, Throwable error) {
System.out.print("fail");
}
});
}
}
一些答案正在谈论手动添加 jar 库并在 gradle.build 中引用它,但也没有起作用,在插件的网站上,文档很清楚:
https://guides.codepath.com/android/Using-Android-Async-Http-Client
我在这里没有看到我的错误:/
提前非常感谢
编辑:将 jar 文件导入到 libs 文件夹中,然后添加到库中,并在 gradle 中手动导入 header 的 libs:
compile 'cz.msebera.android:httpclient:4.3.+'
给出不同的错误:
java.lang.NoClassDefFoundError: com.loopj.android.http.LogHandler
一定有一个错误:(我没有看到任何其他选项
编辑2:在 API 21 上运行良好...,这个库与 API 19 不兼容吗?
最佳答案
启用多重索引
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
添加依赖项
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
在您的应用程序中添加代码
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
这对我有用,希望对你有帮助。
关于AsyncHttpClient 的 java.lang.NoClassDefFoundError - API 19,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553014/
我的应用程序使用 AsyncHttpClient 库进行网络操作。我的问题是我需要指定带有端口的代理才能连接到远程服务器。有什么想法可以指定它吗?? 最佳答案 这样试试 AsyncHttpClien
我的应用程序使用 AsyncHttpClient 库进行网络操作。我的问题是我需要指定带有端口的代理才能连接到远程服务器。有什么想法可以指定它吗?? 最佳答案 这样试试 AsyncHttpClien
我正在使用 AsyncHttpClient 2.3.0 和默认配置。 我注意到 AHC 创建了两种类型的线程(来自线程转储): 1) AsyncHttpClient-timer-478-1" - Th
我是 power mock 的新手, 在我的程序中,我使用 org.asynchttpclient.AsyncHttpClient 进行 HTTP 请求。 我想用 power mock 模拟那个请求,
我试图了解之间的区别: setRequestTimeout-设置AsyncHttpClient等待响应完成的最长时间(以毫秒为单位)。 setReadTimeout-设置AsyncHttpClient
我正在使用宁 AsyncHttpClient从命令行程序。我需要等待所有请求结束,这样我才能安全地调用 close()在客户端。挑战在于我从程序的许多不同部分提出了许多请求。下面剥离了自己的代码,显示
我正在用java做库,库用于调用外部服务API。为此,我使用 AsyncHttpClient 部分代码: public CompletableFuture> clientCredentialsGra
我遇到了 AsyncHttpClient 的问题,因为它在某些情况下会响应,而在某些情况下则不会。当我在下面运行此函数时,我没有收到任何数据,并且在 logcat 中我可以看到以下警告: JsonHt
在AsyncHttpClient JDKFuture.get()中 public V [More ...] get(long timeout, TimeUnit unit) {
我正在使用HttpAsyncClient来GET一些url。在某些情况下,假设当我收到状态 HTTP-304 时,我想放弃正在进行的调用。我不想等待尸体,我不想在它上面花费机器资源。有什么办法可以取消
我正在尝试使用: AsyncHttpClient client = new AsyncHttpClient(); 它说: cannot resolve symbol 'AsyncHttpClient'
我使用 AsyncHttpClient 创建一个 http POST 请求: AsyncHttpClient.BoundRequestBuilder reqBuilder; r
我正在尝试从网站进行身份验证。我正在使用 AsyncHttpClient。这是我正在尝试的代码。 这是我的代码, public class LoginActivity extends Activity
嗨,我正在尝试做这样的事情。知道如何知道哪个请求对应于哪个项目吗? for (int i=0; i) } } } 最佳答案 我想您可以在创建 JsonHttpResponseH
我尝试使用 AsyncHttpClient 一次发送多个请求,将每个响应添加到列表中,然后在所有响应返回后在列表上执行一些逻辑。 到目前为止我已经: //I have a private static
我正在使用Zendesk Java Client 。当我提供正确的凭据时,它会按预期工作。但是,我偶然发现了一种情况,如果传入错误的凭据,线程就会挂起并抛出错误。无论我使用或不使用调试器运行代码,代码
我需要一些帮助来使用 com.ning.http.client.AsyncHttpClient 创建一个 java 客户端,该客户端将使用下面的其余服务上传文件 我尝试使用具有此 cod 的客户端,但
我知道这一定很简单,但我很困惑。我正在使用AsyncHttpClient在我的项目中。我想创建一个新类,例如 AsyncHttpClient2 ,它将扩展 AsyncHttpClient。该类当前正在
我正在使用 AsyncHttpClient 编写 REST 服务使用者类。该服务返回一个 JSON 响应字符串,其中包含许多我不需要的额外数据。我只对收到的回复的特定部分感兴趣。 例如,考虑以下 JS
我是 AsyncHttpClient 新手,无法实现 AsyncHttpResponseHandler。每当我实现它时,我都必须重写 onSuccess 和 onFailure 两个方法。 这两种方法
我是一名优秀的程序员,十分优秀!