java - <anonymous> 不是抽象的,不会覆盖 AsyncHttpResponseHandler 中的抽象方法 onFailure(int,Header[],byte[],Throwable)

标签 java android eclipse android-studio abstract-class

大家晚上好。我真的需要一些帮助。过去我在编译应用程序时遇到过一些问题,但目前的情况几乎足以让我不想辞掉我的日常工作。

我有一个在 eclipse 中运行良好的 Android 应用程序。但是,自从上周升级以来,我一直无法让它恢复运行。太糟糕了,我决定将应用程序导入 Android Studio。

现在我已经将应用程序导入到 Android studio 中,顺便说一下,我确实喜欢这样做,但我遇到了一个我似乎无法弄清楚的错误。

如果我在没有“android-async-http-1.4.5.jar”的情况下编译应用程序,我会收到以下错误信息:

Error:(29, 30) error: package com.loopj.android.http does not exist

对于应用程序中存在异步函数的每个区域都会被调用。但是,一旦我添加“android-sync-http-1.4.5.jar”,每次调用该函数时,整个应用程序都会出现以下错误:

Error:(74, 104) error: <anonymous com.peekatucorp.peekatu.ChatActivity$1> is not abstract and does not override abstract method onFailure(int,Header[],byte[],Throwable) in AsyncHttpResponseHandler
Error:(75, 13) error: method does not override or implement a method from a supertype

请帮忙。我不知道我错过了什么。

ChatActivity.java

package com.peekatucorp.peekatu;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import java.util.Random;
public class ChatActivity extends Activity {
    private com.peekatucorp.peekatu.DiscussArrayAdapter adapter;
    private ListView lv;
//  private LoremIpsum ipsum;
    private EditText editText1;
    private static Random random;
    private String selected_room;
    private String last_message;
    private Document responseDoc;
    @Override protected void onResume() { 
        super.onResume(); // setText() here 
        Log.v("response", "request");

        Intent i = this.getIntent();
        String type = i.getExtras().getString("type");
        Log.v("response ", "messages type "+type);
        if(type.equalsIgnoreCase("1"))


        getChatMessages();
        else if(type.equalsIgnoreCase("2"))
            getInboxMessages();
        else if(type.equalsIgnoreCase("3"))
            getUserMessages(i.getExtras().getString("conv_user"));
    }
    public void getUserMessages(final String forUserID){
        final SharedPreferences preferences = this.getSharedPreferences("MyPreferences", MODE_PRIVATE);
        AsyncHttpClient  client = new AsyncHttpClient();
        RequestParams params = new RequestParams();
        params.put("action", "get");
         params.put("room", preferences.getString("selected_room", "Lobby"));
         params.put("dist", "0");
         params.put("pmsgid", "1");
         params.put("msgid", "9999999999999");
         params.put("private_toid", forUserID);
         params.put("webversion", "1");
         params.put("censor", "0");
         params.put("email", preferences.getString("loggedin_user", ""));
         /* pmsgid:906588*/

    ///  params.put("profile_picture", new File("pic.jpg")); // Upload a File
    //   params.put("profile_picture2", someInputStream); // Upload an InputStream
    //   params.put("profile_picture3", new ByteArrayInputStream(someBytes)); // Upload some bytes

        client.post("http://peekatu.com/apiweb/messagetest.php",params, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(String response) {
            //  Log.v("response", response);
                 XMLParser parser = new XMLParser();

                 Document doc = parser.getDomElement(response); // getting DOM element


                NodeList nl = doc.getElementsByTagName("PMESSAGE");
                Log.v("response ", "messages count "+nl.getLength());
                // looping through all item nodes <item>
                for (int i = 0; i < nl.getLength(); i++) {
                    // creating new HashMap

                    Element e = (Element) nl.item(i);
              //      Log.v("response ", "messages  "+parser.getValue(e, "TEXT"));
                   // adapter.add(new OneComment(true, "OKOKOK"));
                    Boolean dir = true;
                    if(!parser.getValue(e, "USERID").equalsIgnoreCase(forUserID)){
                        dir = true;
                    }
                    adapter.add(new OneComment(dir, 
                            parser.getValue(e, "TEXT"),
                            parser.getValue(e, "USERID"),
                            parser.getValue(e, "ALIAS"),
                            parser.getValue(e, "GENDER"),
                            parser.getValue(e, "PIC"),
                            parser.getValue(e, "TDATE"),
                            parser.getValue(e, "ONLINE"),
                            parser.getValue(e, "MSGPIC")));
                    // adding HashList to ArrayList
                   // menuItems.add(map);
                }
                lv.setSelection(adapter.getCount() - 1);
            }
        });
    }

构建.gradle

 build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion '20.0.0'
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE.txt'

    }
    defaultConfig {
        applicationId "com.peekatucorp.peekatu"
        minSdkVersion 8
        targetSdkVersion 19
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:20.0.0+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:gridlayout-v7:+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:20.0.0+'
    compile files('libs/apache-mime4j-0.6.jar')
    compile files('libs/httpclient-4.0.1.jar')
    compile files('libs/httpcore-4.0.1.jar')
    compile files('libs/httpmime-4.0.1.jar')
    compile files('libs/mobclix.jar')
    compile files('libs/universal-image-loader-1.8.4-with-sources.jar')
    compile files('libs/urlimageviewhelper-1.0.4.jar')
    compile files('libs/gcm.jar')
    compile files('libs/android-async-http-1.4.5.jar')
}

我需要帮助。我一直在尝试让这个应用程序再次运行 72 小时。有人请帮助我。提前谢谢你。我已经阅读了我可以在网上找到的所有资源,但现在我陷入了死胡同。

最佳答案

您只需在成功和失败方法 header 中将 org.apache.http.Header 替换为 cz.msebera.android.httpclient.Header

关于java - <anonymous> 不是抽象的,不会覆盖 AsyncHttpResponseHandler 中的抽象方法 onFailure(int,Header[],byte[],Throwable),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25636517/

相关文章:

java - 我可以在多大程度上依赖 Java 的垃圾收集(Groovy)?

javafx:如何创建一个显示包含文件路径的工具提示的 TreeItem 并在双击时加载文件路径?

android - 元素共享的过渡有效,但是共享的多个元素不起作用[Android]

java - Ljava.lang.String 类无法在 persistence.xml 中解析

java - E/libEGL:调用未实现的OpenGL ES API

java - 是否存在包含 Joda Time/iBATIS 集成类的库?

java - Android React Native ReactRootView 应该使用 Activity 还是 Application context?

android - Xamarin Android 使用自定义皮肤和点击事件从数据库构建自定义动态按钮

eclipse - 尝试调试 D 程序时出错

java - 请帮助我解决我的 Ant + Ivy + Java 构建/依赖问题