14
四川大学锦江学院毕业论文(设计)
4.2.2 聊天界面
在客户端,通过创建Socket 来实现和服务器的连接,通过一个按钮来实现客户端向服务器发送消息,在接通后 ,TextView显示来自服务器的消息。界面如图4-2:
图4-2聊天界面
关键代码:
private void sendVoiceMessage(String local, int length) { manager.sendVoiceMessage(targetUser, local, length, new UploadListener() { @Override public void onStart(BmobMsg msg) { // TODO Auto-generated method stub refreshMessage(msg); } @Override public void onSuccess() { mAdapter.notifyDataSetChanged(); } @Override
14
15
四川大学锦江学院毕业论文(设计)
}
});
public void onFailure(int error, String arg1) { // TODO Auto-generated method stub ShowLog(\上传语音->arg1:\ mAdapter.notifyDataSetChanged(); }
4.2.3 好友信息界面
显示的条目:好友头像、昵称、账号、性别,两个按钮-发起会话、黑名单,如果加入了黑名单,就不能聊天,通过一个布尔值判断,单独一张表存放黑名单。
布尔值是“真” True 或“假” False 中的一个。动作脚本也会在适当时将值 True 和 False 转换为 1 和 0。布尔值经常与动作脚本语句中通过比较控制脚本流的逻辑运算符一起使用。
界面如图4-3:
图4-3好友信息界面
关键代码:
private void showBlackDialog(final String username) {
15
16
四川大学锦江学院毕业论文(设计)
DialogTips dialog = new DialogTips(this, \加入黑名单\加入黑名单,你将不再收到对方的消息,确定要继续吗?\确定\ dialog.SetOnSuccessListener(new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int userId) { // 添加到黑名单列表 userManager.addBlack(username, new UpdateListener() { @Override public void onSuccess() { // TODO Auto-generated method stub ShowToast(\黑名单添加成功!\ btn_back.setVisibility(View.GONE); layout_black_tips.setVisibility(View.VISIBLE); // 重新设置下内存中保存的好友列表 CustomApplcation.getInstance().setContactList(
CollectionUtils.list2map(BmobDB.create(SetMyInfoActivity.this).getContactList())); } @Override public void onFailure(int arg0, String arg1) { // TODO Auto-generated method stub ShowToast(\黑名单添加失败:\ } }); } }); 4.2.4 设置界面
本界面的条目有:接收或者屏蔽消息,开启声音,开启震动,退出登录。界面如图4-4:
16
17
四川大学锦江学院毕业论文(设计)
图4-4设置界面
关键代码:
public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); mSharedUtil = mApplication.getSpUtil(); }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return inflater.inflate(R.layout.fragment_set, container, false); }
@Override
public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); initView(); initData(); }
17
相关推荐: