其他分享
首页 > 其他分享> > android-PubNub:无法解析方法订阅

android-PubNub:无法解析方法订阅

作者:互联网

我是android编程的新手,并且是第一次使用PubNub.
我已将.jar文件包含在lib中.我也导入了它.

我正在按照此处给出的步骤操作-
http://www.pubnub.com/docs/android-java/pubnub-java-sdk#copy_and_paste_examples

但我收到此错误消息. —
“无法解析方法’subscribe(java.lang.String,anonymous javax.security.auth.callback.Callback)’

我正在使用Android Studio.另外,我将整个代码放在mainActivity中.我不确定pubnub的代码到底在哪里.

我的主要活动-

 package com.example....<hidden>;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import com.parse.Parse;
import com.parse.ParseObject;
import com.pubnub.api.Pubnub;
import com.pubnub.api.PubnubError;
import com.pubnub.api.PubnubException;
import com.pubnub.api.*;
  import org.json.*;

  import javax.security.auth.callback.Callback;

  public class MainActivity extends ActionBarActivity {
private TextView testing;
Pubnub pubnub = new Pubnub("<mypubkey>", "<mysubkey>");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main)

    /* Subscribe to the demo_tutorial channel */
    try {
        pubnub.subscribe("demo_tutorial", new Callback() {
            public void successCallback(String channel, Object message) {
                System.out.println(message);
            }

            public void errorCallback(String channel, PubnubError error) {
                System.out.println(error.getErrorString());
            }
        });
    } catch (PubnubException e) {
        e.printStackTrace();
    }

}

我的摇篮-

 dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
compile fileTree(dir: 'libs', include: 'Pubnub-*.jar')
}

如果我完全做错了,请让我知道如何使用pubnub.

解决方法:

import javax.security.auth.callback.Callback;

有你的问题. Pubnub使用其自己的回调.您的其余代码看起来不错,但是它说它无法解决的原因是因为没有实现带有String和javax.security.auth.callback.Callback的订阅实现.

从代码中删除该导入,由于包含了com.pubnub.api.*,因此一切正常.如果要显式包含它,则import语句如下:

import com.pubnub.api.Callback;

当我在android上开始使用PubNub时,导致我遇到很多麻烦的另一个错误是忘记请求适当的Internet权限.确保在< manifest>之后的清单中有以下几行标记,并且在< application>之前标签:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

另外,我相信,如果Android Studio能够识别功能,则可以导入gradle.为了将来使事情变得更轻松,请使用以下依赖项随意包含PubNub的托管库.

compile 'com.pubnub:pubnub:3.7.2' 

祝您好运,如果您还有其他疑问,请告诉我!

标签:pubnub,android
来源: https://codeday.me/bug/20191028/1950531.html