程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 硅谷社交13--新建群頁面,硅谷社交13--

硅谷社交13--新建群頁面,硅谷社交13--

編輯:關於PHP編程

硅谷社交13--新建群頁面,硅谷社交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();
					}
				});
			}
		}
	});
}

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved