硅谷社交13--新建群页面

1)页面布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.hyphenate.easeui.widget.EaseTitleBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:titleBarTitle="新建群组">

    </com.hyphenate.easeui.widget.EaseTitleBar>

    <EditText
        android:id="@+id/et_newgroup_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:hint="群组名称"
        android:textSize="20sp" />

    <EditText
        android:id="@+id/et_newgroup_desc"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:layout_margin="5dp"
        android:gravity="start"
        android:hint="群组简介"
        android:textSize="20sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="是否公开"
            android:textSize="20sp" />

        <CheckBox
            android:id="@+id/cb_newgroup_public"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="是否开放群邀请"
            android:textSize="20sp" />

        <CheckBox
            android:id="@+id/cb_newgroup_invite"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <Button
        android:id="@+id/bt_newgroup_create"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@android:color/holo_green_light"
        android:text="创建"
        android:textColor="@android:color/white"
        android:textSize="20sp" />
</LinearLayout>

2)创建群按钮的监听

// 创建按钮的点击事件
bt_new_group_create.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View v) {
		// 跳转到联系页面获取联系人数据
		Intent intent = new Intent(NewGroupActivity.this, PickContactsActivity.class);
		startActivityForResult(intent, 110);
	}
});

3)选择联系人页面的回调监听

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	super.onActivityResult(requestCode, resultCode, data);
	if (resultCode == RESULT_OK) {
		// 创建群
		createGroup(data.getExtras().getStringArray("members"));
	}
}

4)创建群

// 创建群
private void createGroup(final String[] memberses) {
	// 获取群名称
	final String groupName = et_new_group_name.getText().toString();
	// 获取群的描述信息
	final String groupDesc = et_new_group_desc.getText().toString();

	// 联网
	Model.getInstace().getGolbalThreadPool().execute(new Runnable() {
		@Override
		public void run() {
			String reason = "申请加入群";
			EMGroupManager.EMGroupStyle groupStyle = null;

			// 群公开
			if (cb_new_group_public.isChecked()) {
				if (cb_new_group_invite.isChecked()) {// 群邀请公开
					groupStyle = EMGroupManager.EMGroupStyle.EMGroupStylePublicOpenJoin;
				} else {// 群邀请不公开
					groupStyle = EMGroupManager.EMGroupStyle.EMGroupStylePublicJoinNeedApproval;
				}
			} else {// 群不公开
				if (cb_new_group_invite.isChecked()) {// 群邀请公开
					groupStyle = EMGroupManager.EMGroupStyle.EMGroupStylePrivateMemberCanInvite;
				} else {// 群邀请不公开
					groupStyle = EMGroupManager.EMGroupStyle.EMGroupStylePrivateOnlyOwnerInvite;
				}
			}

			// 群参数设置
			EMGroupManager.EMGroupOptions options = new EMGroupManager.EMGroupOptions();
			// 群最多多少人
			options.maxUsers = 200;
			// 创建群的类型
			options.style = groupStyle;

			try {
				// 联网创建群
				EMClient.getInstance().groupManager().createGroup(groupName, groupDesc, memberses, reason, options);

				// 更新ui
				runOnUiThread(new Runnable() {
					@Override
					public void run() {
						Toast.makeText(NewGroupActivity.this, "创建群:" + groupName + "成功", Toast.LENGTH_SHORT).show();
						// 结束当前页面
						finish();
					}
				});

			} catch (HyphenateException e) {
				e.printStackTrace();

				// 更新ui
				runOnUiThread(new Runnable() {
					@Override
					public void run() {
						Toast.makeText(NewGroupActivity.this, "创建群:" + groupName + "失败", Toast.LENGTH_SHORT).show();
					}
				});
			}
		}
	});
}

  

时间: 2024-10-01 07:52:24

硅谷社交13--新建群页面的相关文章

硅谷社交14--选择联系人页面

1)页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&

硅谷社交10--会话详情页面

1)页面布局 会话页面.png 群聊天页面.png 2)创建环信提供的会话页面 // 创建会话页面的fragment easeChatFragment = new EaseChatFragment(); // 获取环信id hxid = getIntent().getExtras().getString(EaseConstant.EXTRA_USER_ID); // 获取聊天类型 chatType = getIntent().getExtras().getInt(EaseConstant.EXT

硅谷社交12--群列表页面

1)页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.c

硅谷社交3--登录页面

1.页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&

Ubuntu16.04安装kubernetes1.13集群

Ubuntu16.04安装kubernetes1.13集群 最新的安装可以使用以下方式:https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide 方便,快捷! 以下为正文. 前言 Docker容器化,虚拟化技术上的又一个猛将,可以极高提高软件部署的速度.运行一个Docker容器,这个容器作为一个进程分配了计算资源,不同容器之间资源隔离,仿佛每个容器都是一台机器, 并且通过宿主机网桥,可以模拟一个局域网.可以

Eclipse 新建.jsp页面后,页面头部标签报错的解决方法

Eclipse 新建.jsp页面后,页面头部标签报错的解决方法 1.报错地方: 2.解决方法: .jsp页面右键==>BUild Path ==>Configure Build Path... 3.接着 4.按步骤操作后.jsp页面就不会报错了 版权声明:本文为CSDN博主「爱吃狼的羊」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/weixin_39890531/article/details/78

硅谷社交9--邀请信息列表页面

1.页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&

硅谷社交8--联系人列表页面

1.是否有邀请信息红点的设置 // 获取当前是否有新的邀请信息 boolean is_notify = SpUtils.getInstace(IMApplication.getGlobalApplication()).getBoolean(SpUtils.IS_INVITE_NOTIY, false); iv_contact_notify.setVisibility(is_notify ? View.VISIBLE : View.GONE); 2.注册联系人邀请信息变化的广播 private B

硅谷社交2--欢迎页面

SplashActivity public class SplashActivity extends Activity { private Handler handler = new Handler(){ public void handleMessage(Message msg){ // 如果当前activity已经退出,那么我就不处理handler中的消息 if(isFinishing()) { return; } // 判断进入主页面还是登录页面 toMainOrLogin(); } };