openfire+asmack搭建的安卓即時通訊(四) 15.4.10

來源:互聯網
上載者:User

標籤:

之前的教程不知道你們成功了沒,,,沒成功可以問我啊=-=

第四篇博文是要實現發送訊息的功能。首先在我們登陸後的活動的layout裡添加這樣的兩個控制項,一個EditText和一個Button用於發送資料
 1  <EditText android:id="@+id/edit_text_out" 2             android:layout_width="0dp" 3             android:layout_height="wrap_content" 4             android:layout_weight="1" 5             android:layout_gravity="bottom" 6             android:hint="說點什麼呢?"     7             /> 8  <Button 9             android:id="@+id/button_send"10             android:layout_width="wrap_content"11             android:layout_height="wrap_content"12             android:scaleType="centerCrop"13             android:text="sent"14             android:layout_gravity="bottom"15             android:background="#00000000"16             />

然後回到該活動,添加Button和Button的監聽事件:

 1         Button button=(Button)findViewById(R.id.button_send);  //找到Button 2         button.setOnClickListener(new View.OnClickListener() { 3             @Override 4             public void onClick(View v) { 5                 EditText input=(EditText) findViewById(R.id.edit_text_out);  //找到EditText 6                 final String content=input.getText().toString();         //把裡面的東西去出來轉化為字串 7                 Log.i(username+"說===", content);                  //列印在日誌裡 8                 try { 9                     XMPPConnection connection = connect.getConnection();    //與伺服器進行串連10                     ChatManager cm = connection.getChatManager();        11                     Chat chat=cm.createChat(“[email protected]/Spark 2.6.3”, new MessageListener() {//傳入兩個參數一個是說話對象:這裡我們放入我們伺服器管理員的名字寫的時候要加ip和版本號碼,第二個參數是訊息的監聽者12                         @Override13                         public void processMessage(Chat chat, Message msg) {  //設定訊息的監聽14                             msg.setBody(content);                  //msg(注意是asmack包裡的)把我們取出的輸入內容放進去15                             Log.i(msg.getFrom() + "說:" + msg.getBody());    //列印日誌16                   17                         }18                     });19                     Message m = new Message();                //把資訊發送給對方20                     m.setBody(content);        21                     chat.sendMessage(m.getBody());22                 } catch (XMPPException e) {23                     e.printStackTrace();24                 }25             }26         });

在編輯欄輸入一堆東西

我們就能看到伺服器端的列印資料了,一次是發送監聽到的,一次是接收監聽到的

 

我們在開啟Spark的用戶端給我們的虛擬機器登入使用者發送一條資料:

 我們在Spark的用戶端登入admin就能接收到這條訊息了!

這樣我們就既能發送資料,又能接收資料了!用戶端的初級功能就基本完成

明天或者下午有空的話會寫下一篇,進行簡單的美化和修整,畢竟總不能介面這麼醜,接受發送還靠列印日誌啊!

求推薦=-=!

openfire+asmack搭建的安卓即時通訊(四) 15.4.10

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.