cannot be resolved to a variable java_" 变量" 无法解析为变量 ("variable" cannot be resolved to a variable)...

2013-12-17 17:28:07

0

I am trying to follow a tutorial in creating an xmpp chat.

However, it kept showing "R cannot be resolved to a variable". After I inserted import.android.R, the error moved to all variables. SAying that all variables cannot be resolved to a variable.

Here is the code:

package com.demo.xmppchat;

import java.util.ArrayList;

import java.util.Collection;

import org.jivesoftware.smack.ConnectionConfiguration;

import org.jivesoftware.smack.PacketListener;

import org.jivesoftware.smack.Roster;

import org.jivesoftware.smack.RosterEntry;

import org.jivesoftware.smack.SASLAuthentication;

import org.jivesoftware.smack.XMPPConnection;

import org.jivesoftware.smack.XMPPException;

import org.jivesoftware.smack.filter.MessageTypeFilter;

import org.jivesoftware.smack.filter.PacketFilter;

import org.jivesoftware.smack.packet.Message;

import org.jivesoftware.smack.packet.Packet;

import org.jivesoftware.smack.packet.Presence;

import org.jivesoftware.smack.util.StringUtils;

import android.app.Activity;

import android.R;

import android.app.ProgressDialog;

import android.os.Bundle;

import android.os.Handler;

import android.util.Log;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ListView;

public class XMPPChatDemoActivity extends Activity {

public static final String HOST = "talk.google.com";

public static final int PORT = 5222;

public static final String SERVICE = "gmail.com";

public static final String USERNAME = "elvira.novellia@gmail.com";

public static final String PASSWORD = "xxx";

private XMPPConnection connection;

private ArrayList messages = new ArrayList();

private Handler mHandler = new Handler();

private EditText recipient;

private EditText textMessage;

private ListView listview;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

recipient = (EditText) this.findViewById(R.id.toET);

textMessage = (EditText) this.findViewById(R.id.chatET);

listview = (ListView) this.findViewById(R.id.listMessages);

setListAdapter();

// Set a listener to send a chat text message

Button send = (Button) this.findViewById(R.id.sendBtn);

send.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {

String to = recipient.getText().toString();

String text = textMessage.getText().toString();

Log.i("XMPPChatDemoActivity", "Sending text " + text + " to " + to);

Message msg = new Message(to, Message.Type.chat);

msg.setBody(text);

if (connection != null) {

connection.sendPacket(msg);

messages.add(connection.getUser() + ":");

messages.add(text);

setListAdapter();

}

}

});

connect();

}

/**

* Called by Settings dialog when a connection is establised with the XMPP

* server

*

* @param connection

*/

public void setConnection(XMPPConnection connection) {

this.connection = connection;

if (connection != null) {

// Add a packet listener to get messages sent to us

PacketFilter filter = new MessageTypeFilter(Message.Type.chat);

connection.addPacketListener(new PacketListener() {

@Override

public void processPacket(Packet packet) {

Message message = (Message) packet;

if (message.getBody() != null) {

String fromName = StringUtils.parseBareAddress(message

.getFrom());

Log.i("XMPPChatDemoActivity", "Text Recieved " + message.getBody()

+ " from " + fromName );

messages.add(fromName + ":");

messages.add(message.getBody());

// Add the incoming message to the list view

mHandler.post(new Runnable() {

public void run() {

setListAdapter();

}

});

}

}

}, filter);

}

}

private void setListAdapter() {

ArrayAdapter adapter = new ArrayAdapter(this,

R.layout.listitem, messages);

listview.setAdapter(adapter);

}

@Override

protected void onDestroy() {

super.onDestroy();

try {

if (connection != null)

connection.disconnect();

} catch (Exception e) {

}

}

public void connect() {

final ProgressDialog dialog = ProgressDialog.show(this,

"Connecting...", "Please wait...", false);

Thread t = new Thread(new Runnable() {

@Override

public void run() {

// Create a connection

ConnectionConfiguration connConfig = new ConnectionConfiguration(

HOST, PORT, SERVICE);

XMPPConnection connection = new XMPPConnection(connConfig);

try {

connection.connect();

Log.i("XMPPChatDemoActivity",

"Connected to " + connection.getHost());

} catch (XMPPException ex) {

Log.e("XMPPChatDemoActivity", "Failed to connect to "

+ connection.getHost());

Log.e("XMPPChatDemoActivity", ex.toString());

setConnection(null);

}

try {

// SASLAuthentication.supportSASLMechanism("PLAIN", 0);

connection.login(USERNAME, PASSWORD);

Log.i("XMPPChatDemoActivity",

"Logged in as " + connection.getUser());

// Set the status to available

Presence presence = new Presence(Presence.Type.available);

connection.sendPacket(presence);

setConnection(connection);

Roster roster = connection.getRoster();

Collection entries = roster.getEntries();

for (RosterEntry entry : entries) {

Log.d("XMPPChatDemoActivity",

"--------------------------------------");

Log.d("XMPPChatDemoActivity", "RosterEntry " + entry);

Log.d("XMPPChatDemoActivity",

"User: " + entry.getUser());

Log.d("XMPPChatDemoActivity",

"Name: " + entry.getName());

Log.d("XMPPChatDemoActivity",

"Status: " + entry.getStatus());

Log.d("XMPPChatDemoActivity",

"Type: " + entry.getType());

Presence entryPresence = roster.getPresence(entry

.getUser());

Log.d("XMPPChatDemoActivity", "Presence Status: "

+ entryPresence.getStatus());

Log.d("XMPPChatDemoActivity", "Presence Type: "

+ entryPresence.getType());

Presence.Type type = entryPresence.getType();

if (type == Presence.Type.available)

Log.d("XMPPChatDemoActivity", "Presence AVIALABLE");

Log.d("XMPPChatDemoActivity", "Presence : "

+ entryPresence);

}

} catch (XMPPException ex) {

Log.e("XMPPChatDemoActivity", "Failed to log in as "

+ USERNAME);

Log.e("XMPPChatDemoActivity", ex.toString());

setConnection(null);

}

dialog.dismiss();

}

});

t.start();

dialog.show();

}

}

And here is the error list:

Description Resource Path Location Type

toET cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 54 Java Problem

main cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 52 Java Problem

chatET cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 55 Java Problem

listMessages cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 56 Java Problem

sendBtn cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 60 Java Problem

listitem cannot be resolved or is not a field XMPPChatDemoActivity.java /XMPPChatDemo/src/com/demo/xmppchat line 117 Java Problem

I have tried Project -> Clean, but its still not working.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值