1、简单聊天通信软件1. 题目基于 Android 的简单聊天通信软件设计(1)欢迎界面(2)登录界面,登录界面中选择对方的 IP 地址和端口号(3)与对方实现连接。实现点对点的通信。即点对点的聊天。(4)聊天界面中,包括显示对方信息、聊天内容显示框、聊天内容输入框,以及发送按钮等(5)扩展 1:实现表情的发送和显示,或者实现图片的发送和显示。(5)扩展 2:实现多人聊天。1.1 需求分析设计一个基于安卓系统的简单聊天通信软件,软件要实现点对点的通信。UI:自己设计好符合软件的界面,使软件成熟化。拓展:如有能力可使软件实现多人聊天,发生图片等。1. 概要设计2.1 流程图欢迎界面账号密码登陆接受信
2、息输入判断是否正确主菜单1进行相对应操作点对点聊天退出软件1.2 详细设计main.xml: 欢迎界面,延迟 2 秒左右自动跳转。Hello.java 为其响应目录。 password.xml: 登录界面,验证用户输入信息,错误时用户可重新输入,正确后方可进password.java 为其响应目录。findpassword.xml: 在登录界面中点击 “忘记密码 ”后的跳转页面,可通过注册时的邮箱找回密码,但此功能目前还未实现,只有界面。findpassword.java 为其响应目录。create_id.xml: 在登录界面中点击 “创建新账号”后的跳转页面,也还未实现其功能。create_
3、id为其应目录。main_menu.xml: 登录后的主菜单,包括“聊天” 、 “联系人” 、 “查找”等功能,均为图片按main_menu.java 为其响应目录。chat.xml: 在主菜单中点击“聊天”后的聊天界面,输入 IP 地址后联系,可与进入相同服务器的用户聊天,聊天内容显示在对话框中。chat.java 为其响应目录。 profile.xml: 在主菜单中点击“我的资料”的跳转页面,显示用户的一些信息。profile.java 为其响应目录。feedback.xml: 在主菜单中点击“反馈我们”的跳转页面,用户可在此页面告诉我们一些意见,但此功能目前还未实现。feedback.j
4、ava 为其响应目录。about.xml: 在主菜单中点击“关于”的跳转页面,显示一些版本信息。 about.java 为其响应目录。setting.xml: 在主菜单中点击设置按钮后的跳转页面,其内容包括“切换账号”和“退出” 。setting.java 为其响应目录。22.3 操作界面软件图标:3欢迎界面:4登录界面:5忘记密码界面:6主菜单界面:7聊天界面:8正在聊天:9反馈界面:10设置界面:11关于界面:附 录源程序main.xml:欢迎界面代码12password.xml:登录界面代码findpassword.xml:忘记密码界面代码create_id.xml:创建新账号界面代码m
5、ain_menu.xml:主菜单界面代码chat.xml:聊天界面代码1921profile.xml:我的资料界面代码android:layout_below=“id/return_button“android:layout_alignParentLeft=“true“android:layout_marginLeft=“10dip“android:layout_marginTop=“25dip“android:src=“drawable/myphoto“/feedback.xml:反馈我们界面代码about.xml:关于点滴界面代码setting.xml:设置界面代码hello.java:欢
6、迎界面(main.xml)响应代码package com.android.hello;import android.app.Activity;26import android.os.Bundle;import android.os.Handler;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import android.view.Gravity;import android.content.Intent;publi
7、c class hello extends Activity/* Called when the activity is first created. */Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);new Handler().postDelayed(new Runnable()Overridepublic void run()Intent intent = new Intent();intent.s
8、etClass(hello.this, password.class);startActivity(intent);hello.this.finish();,2500);password.java:登录界面(password.xml)响应代码package com.android.hello;27import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import androi
9、d.widget.CheckBox;import android.widget.Toast;import android.widget.CompoundButton; import android.view.Gravity;import android.content.Intent;public class password extends Activitypublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.password);But
10、ton login = (Button) findViewById(R.id.login);login.setOnClickListener(new View.OnClickListener()public void onClick(View v)EditText name = (EditText) findViewById(R.id.name);EditText password = (EditText) findViewById(R.id.password);String entername = name.getText().toString();String enterpassword
11、= password.getText().toString();if(entername.equals(“abc“)intent.setClass(password.this,main_menu.class);startActivity(intent);password.this.finish(); else28Toast toast = Toast.makeText(getApplicationContext(),“账号或密码错误,请重新输入。“,Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();In
12、tent intent = new Intent();intent.setClass(password.this,password.class);startActivity(intent);password.this.finish(); );Button forgetpassword = (Button) findViewById(R.id.forgetpassword);forgetpassword.setOnClickListener(new View.OnClickListener()public void onClick(View v)Intent intent = new Inten
13、t();intent.setClass(password.this, findpassword.class);startActivity(intent); );Button createid= (Button) findViewById(R.id.createid);createid.setOnClickListener(new View.OnClickListener()public void onClick(View v)Intent intent = new Intent();intent.setClass(password.this, create_id.class);startAct
14、ivity(intent); );29findpassword.java:忘记密码界面(findpassword.xml )响应代码package com.android.hello;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import android.view.Gravity;public class f
15、indpassword extends Activity/* Called when the activity is first created. */Overridepublic void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.findpassword);Button reset=(Button)findViewById(R.id.reset);reset.setOnClickListener(new View.OnClickListener()public void onClick(View v)Toast toast = Toast.makeText(getApplicationContext(),“密码重设邮件已发出,请登录邮箱检查“,Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show(););