第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

獲取 XMPPConnection 的空指針異常

獲取 XMPPConnection 的空指針異常

慕容3067478 2021-05-31 10:05:37
我在本地主機(jī)上運(yùn)行 openfire 服務(wù)器,Smack 版本 4.2.4.GetAllContacts() 方法中的異常。下面是我的類(lèi) XmppConnection 的代碼,它擴(kuò)展了類(lèi) org.jivesoftware.smack.ConnectionListener。  public class XmppConnection implements ConnectionListener{  private  XMPPTCPConnection mConnection;  public List<Contact> getAllContacts() throws SmackException.NotLoggedInException, InterruptedException, SmackException.NotConnectedException {    Log.d(TAG,"getAllContats called()");    List<Contact> contacts = new ArrayList<>();    if(XmppConnectService.sConnectionState == ConnectionState.AUTHENTICATED){        Roster roster = Roster.getInstanceFor(mConnection);  //exception here            Collection<RosterEntry> entries = roster.getEntries();            Presence presence;            for (RosterEntry entry : entries) {                Contact c = new Contact(entry.getJid().toString());                presence = roster.getPresence(entry.getJid());                contacts.add(c);                       }    return contacts;}public XmppConnection( Context context){    mApplicationContext = context.getApplicationContext();    String jid = PreferenceManager.getDefaultSharedPreferences(mApplicationContext)            .getString("xmpp_jid",null);    mPassword = PreferenceManager.getDefaultSharedPreferences(mApplicationContext)            .getString("xmpp_password",null);    if( jid != null)    {        mUsername = jid.split("@")[0];        mServiceName = jid.split("@")[1];    }else    {        mUsername ="";        mServiceName="";    }}上面的代碼在 logcat 中顯示了這個(gè)錯(cuò)誤:java.lang.NullPointerException: XMPPConnection must not be null我從另一個(gè)類(lèi)調(diào)用 getAllContacts() 作為XmppConnection xmpp = new XmppConnection(this);contacts = xmpp.getAllContacts();getAllContacts() 方法是從另一個(gè)活動(dòng)調(diào)用的,并在 authenticated() 方法之后調(diào)用。因?yàn)樗窃?authenticated() 方法之后調(diào)用的,所以 mConnection 應(yīng)該已經(jīng)初始化了。
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

為 XmppConnection 類(lèi)創(chuàng)建一個(gè)新對(duì)象會(huì)將其變量初始化為 null。將 XMPPTCPConnection 聲明為靜態(tài)工作:

private static XMPPTCPConnection mConnection;


查看完整回答
反對(duì) 回復(fù) 2021-06-02
?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

如您的代碼所示,您在方法 connect() 內(nèi)初始化 mConnection 變量。并且您的方法authenticated() 不會(huì)調(diào)用connect() 方法。您能否確保在調(diào)用方法 authenticated() 之前或在方法內(nèi)調(diào)用 connect() 方法


查看完整回答
反對(duì) 回復(fù) 2021-06-02
  • 2 回答
  • 0 關(guān)注
  • 230 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)