PubNub:无法解析方法订阅
PubNub: Cannot resolve method subscribe
我是 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 的代码到底在哪里。
我的主要 Activity -
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')
}
如果我完全做错了,请告诉我如何使用 pubnub。即
import javax.security.auth.callback.Callback;
这是你的问题。 Pubnub 使用自己的回调。您的其余代码看起来不错,但它说无法解析的原因是因为没有实现接受 String
和 javax.security.auth.callback.Callback
的订阅。
从您的代码中删除该导入,因为您已经包含 com.pubnub.api.*
,所以一切都应该有效。如果你想显式包含它,导入语句如下:
import com.pubnub.api.Callback;
当我在 android 上开始使用 PubNub 时,另一个给我带来很多麻烦的错误是忘记请求适当的互联网权限。请确保以下行位于清单中 <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'
祝你好运,如果您还有其他问题,请告诉我!
我是 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 的代码到底在哪里。
我的主要 Activity -
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')
}
如果我完全做错了,请告诉我如何使用 pubnub。即
import javax.security.auth.callback.Callback;
这是你的问题。 Pubnub 使用自己的回调。您的其余代码看起来不错,但它说无法解析的原因是因为没有实现接受 String
和 javax.security.auth.callback.Callback
的订阅。
从您的代码中删除该导入,因为您已经包含 com.pubnub.api.*
,所以一切都应该有效。如果你想显式包含它,导入语句如下:
import com.pubnub.api.Callback;
当我在 android 上开始使用 PubNub 时,另一个给我带来很多麻烦的错误是忘记请求适当的互联网权限。请确保以下行位于清单中 <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'
祝你好运,如果您还有其他问题,请告诉我!