PubNub:无法解析方法订阅
问题描述:
我是新来的Android编程,我使用PubNub首次。 我在lib中包含了.jar文件。我也导入了它。PubNub:无法解析方法订阅
我下面在这里给出的步骤 - http://www.pubnub.com/docs/android-java/pubnub-java-sdk#copy_and_paste_examples
,但我收到此错误信息。 - “无法解析方法”订阅(java.lang.String,匿名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();
}
}
我gradle这个 -
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')
}
请让我知道如何使用PU bnub,如果我完全是这样做的错误..即
答
import javax.security.auth.callback.Callback;
这是你的问题。 Pubnub使用自己的回调。你的代码的其余部分看起来不错,但它说,它不能得到解决的原因是因为没有订阅这需要在String
和javax.security.auth.callback.Callback
实现。
删除您的代码,进口和一切都应该工作,因为你已经包括com.pubnub.api.*
。如果你想明确地包含它,import语句如下:
import com.pubnub.api.Callback;
一说给我造成了很大的麻烦,当我与PubNub在Android上启动其他错误是忘记正确的请求互联网权限。请确保以下线在<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的工作室识别功能的gradle的进口应该没问题。为了使将来更容易,请使用以下依赖项来随意包含PubNub托管的库。
compile 'com.pubnub:pubnub:3.7.2'
祝你好运,让我知道如果你有任何进一步的问题!