sviluppo l'app di chat di gruppo utilizzando android-xmpp, nel senso che non so come inviare e ricevere immagini-immagine o posizione (usando la mappa).android come inviare e ricevere immagine e posizione (utilizzando la mappa) nella chat di gruppo utilizzando xmpp-smack
Quindi chiunque può darmi modo di farlo.
attualmente, ho ottenuto un messaggio di testo e aggiungere alla lista di vista, come seguire,
Message msg = new Message(to, Message.Type.groupchat);
msg.setBody(text);
if (Constants.connection != null) {
try {
Constants.connection.sendPacket(msg);
Log.d("Send to room : Name : ", to);
Log.d("store", "store data to db");
//DBAdapter.addUserData(new UserData(text, "", "1" ,beam_id));
} catch (Exception e) {
Log.d("ooo", "msg exception" + e.getMessage());
}
messages.add(text);
runOnUiThread(new Runnable() {
public void run() {
// set to listview
setMyChatAdapter();
}
});
}
e ricevere usando StanzaTypeFilter. Quindi, come per l'immagine e la condivisione della posizione?
Provo il codice seguente per l'immagine utilizzando FileTransferManager, utilizzando smack-extensions-4.1.3-sources.jar.
private void sendImage()
{
FileTransferManager mg=new FileTransferManager(Constants.connection);
OutgoingFileTransfer transfer = mg.createOutgoingFileTransfer(beam_id+"@"+Constants.conference_name + "/" + Constants.resources);
File file = new File(selectedImagePath);
try {
transfer.sendFile(file, "test_file");
} catch (Exception e) {
e.printStackTrace();
}
while(!transfer.isDone()) {
if(transfer.getStatus().equals(FileTransfer.Status.error)) {
System.out.println("ERROR!!! " + transfer.getError());
} else if (transfer.getStatus().equals(FileTransfer.Status.cancelled)
|| transfer.getStatus().equals(FileTransfer.Status.refused)) {
System.out.println("Cancelled!!! "+ transfer.getError());
}
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if(transfer.getStatus().equals(FileTransfer.Status.refused) || transfer.getStatus().equals(FileTransfer.Status.error)
|| transfer.getStatus().equals(FileTransfer.Status.cancelled)){
System.out.println("refused cancelled error"+ transfer.getError());
} else {
System.out.println("Success");
}
}
Ma quando accedo il file utilizzando seguito,
FileTransferManager Mg = new FileTransferManager (Constants.connection);
che mi dia errore ... ha un accesso privato di ... Quindi, trovo costruttore di quel file è privata, questo è il file jar quindi non posso cambiarlo a pubblico.
Quindi, come posso accedere a quella classe di file nella mia classe?
Quindi, come posso condividere (inviare-ricevere) immagine e messaggio di posizione in chat?
Per favore aiutatemi il prima possibile.
Grazie in anticipo.
ciao @ kiturk3 conosco questo codice, ma come accedere se ** FileTransferManager ** ha un accesso privato, che ho chiaro menzione nella mia domanda. –
Questa interfaccia è stata modificata. Ora devi chiamare FileTransferManager.getInstance (Connection) –
che il mio file non invia. ho ottenuto System.out.println ('refused cancelled error' + transfer.getError()); Puoi dirmi quali dovrebbero essere le cause – Rajat