基于Smack3.0.4+ Openfire3.10.2开发之Android 客户端之二

原创 2015年11月18日 23:33:57

我们在之前依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前面我所发布的OpenFire和Smack的相关文章。今天所讲解的文章只是 :基于Smack3.0.4+ Openfire3.10.2开发之Android 客户端之二(注册界面设计和实现)。

1、源代码结构介绍:


activity包下存放一些android页面交互相关的控制程序,还有一个些公共帮助类

application包存放时应用程序相关信息

util中存放一些常用的工具类

view中一些和android的UI相关的显示控件


AndroidManifest.xml为android功能清单的配置文件与(基于Smack3.0.4+ Openfire3.10.2开发之Android 客户端之一(登入界面设计和实习))一致,在此就不再做详细述说和截图。


2、核心代码介绍

package com.msn.activity;

import com.msn.R;
import com.msn.util.ToastUtil;
import com.msn.view.LoadingDialog;
import com.msn.view.TitleBarView;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class RegisterActivity extends Activity {
	private Context mContext;
	private Button btn_complete;
	private TitleBarView mTitleBarView;
	private EditText et_name,et_password;
	
	private String account,password;
	private LoadingDialog loadDialog;
	
	//private XmppConnectionManager xmppConnectionManager;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_register_userinfo);
		mContext=this;
		//对话框初始化
		loadDialog=new LoadingDialog(this);
		findView();
		initTitleView();
		init();
	}
	
	//相关组件初始化
	private void findView(){
		mTitleBarView=(TitleBarView) findViewById(R.id.title_bar);
		btn_complete=(Button) findViewById(R.id.register_complete);
		
		et_name=(EditText) findViewById(R.id.name);//账号
		et_password=(EditText) findViewById(R.id.password);//密码
		
	}
	
	private void init(){
		btn_complete.setOnClickListener(null);
	}
	
	private void initTitleView(){
		mTitleBarView.setCommonTitle(View.VISIBLE, View.VISIBLE,View.GONE, View.GONE);
		mTitleBarView.setTitleText(R.string.title_register_info);
		mTitleBarView.setBtnLeft(R.drawable.fft, R.string.back);
		mTitleBarView.setBtnLeftOnclickListener(new OnClickListener() {	
			@Override
			public void onClick(View v) {
				finish();
			}
		});
	}
	
	/**
	 * 点击注册
	 */
	private OnClickListener completeOnClickListener=new OnClickListener() {
		@Override
		public void onClick(View v) {
			doReg();
		}
	};
	
	void doReg(){
		account=et_name.getText().toString();
		password=et_password.getText().toString();
		if(TextUtils.isEmpty(account)){
			ToastUtil.showLongToast(mContext, "请填写昵称");
			return;
		}
		if(TextUtils.isEmpty(password)){
			ToastUtil.showLongToast(mContext, "请填写密码");
			return;
		}
		loadDialog.setTitle("正在注册...");
		loadDialog.show();
		new Thread(new Runnable() {
			@Override
			public void run() {
//				XMPPConnection mXMPPConnection=xmppConnectionManager.init();
//				try {
//					mXMPPConnection.connect();
//					int result=XmppUtil.register(mXMPPConnection, account, password);
//					mHandler.sendEmptyMessage(result);
//				} catch (XMPPException e) {
//					e.printStackTrace();
//					mHandler.sendEmptyMessage(4);
//				}
			}
		}).start();
	}
	
	

}

相关的资源文件,我就不一一做详细的述说,这里提供该项目的下载地址:源代码下载地址

3、相关展示:



相关文章推荐

android客户端xmpp & smack & openfire简单开发实例

最近闲的蛋疼,研究了下xmpp即时通讯,有些许收获,拿出来跟大家分享一下吧,欢迎指点和讨论!废话不多说,开始搞事情。 步骤一:测试环境配置。 1.下载openfire服务器相关配置 下载链接:http...

Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发送的消息

Demo需求:android客户端接收服务器发送来的消息。 第一,客户端代码如下: MainActivity未做改动,与之前两篇一样 Java代码   packa...

基于xmpp openfire smack开发之Android客户端开发[3]

在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前...

基于xmpp openfire smack开发之Android客户端开发[3]

] 基于xmpp openfire smack开发之Android客户端开发[3] 分类: Android开发2013-09-06 16:29 2219人阅读 评论(22) 收藏 举报 ...

基于xmpp openfire smack开发之Android客户端开发[3]

原文出自:http://blog.csdn.net/shimiso/article/details/11225873 在上两篇文章中,我们依次介绍openfire部署以及smack常...

3.基于xmpp openfire smack开发之Android客户端开发

基于xmpp openfire smack开发之Android客户端开发[3] 分类: Android开发2013-09-06 16:29 25529人阅读 评论(106) 收藏 举报 ...

基于xmpp openfire smack开发之Android客户端开发[3]

在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前...
  • shimiso
  • shimiso
  • 2013年09月06日 16:29
  • 76799

基于openfire+smack开发Android即时聊天应用[五]-简易IM客户端效果图

经过几天时间对Openfire+Smack的研究,写了一个简单的Android端的IM客户端,给大家看看我的客户端的效果图,支持发送文本、图片、语音三种消息,群聊功能暂时没有集成上去。整个应用做的比较...

基于xmpp openfire smack开发之Android客户端开发[3]

在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前...

XMPP客户端库Smack 4.0.6版开发之二

XMPP客户端库Smack 4.0.6版开发作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs三、Smack库的特征1、极度简单易用,API功能强大发送一条文...
  • chszs
  • chszs
  • 2014年11月28日 15:12
  • 12367
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于Smack3.0.4+ Openfire3.10.2开发之Android 客户端之二
举报原因:
原因补充:

(最多只允许输入30个字)