android移动开发课程设计报告学生姓名:XX学号:XXXXXXX专业:计算机科学与技术班级:XXXXXXX设计题目:口袋微博学年学期:2015年秋季学期指导教师:XX目录(示例)一、设计题目....................................................................................................................................1二、设计目的....................................................................................................................................1三、设计原理及方案........................................................................................................................11使用的软件工具和环境............................................................................................................12需求分析与概要设计................................................................................................................13数据库设计(若有)................................................................................................................24详细设计和关键问题................................................................................................................3四、实现效果....................................................................................................................................8五、设计体会..................................................................................................................................69参考文献.............................................................................................................................................................711一、设计题目Android社交分享平台——口袋微博设计目的二、设计原理及方案首先要实现以下这些功能:Android端登录和注册模块的实现Android端个人中心模块的实现Android端快速发布模块的实现Android端查看联系人模块的实现Android端管理日志模块的实现Android端管理相册模块的实现1使用的软件工具和环境1)PC计算机2)JDK安装包3)Eclipse安装包4)AndroidSDK安装包5)ADT插件2需求分析与概要设计(详细描述系统的功能需求)Android端登录和注册模块的实现Android端个人中心模块的实现Android端快速发布模块的实现Android端查看联系人模块的实现Android端管理日志模块的实现Android端管理相册模块的实现(详细描述系统结构;例如总体架构设计、流程图、用例图等,并分别描述)说明:这里的用例图和类图的对应关系可以在下面的E-R图上找到,这里我就略了一下。2Android端总体架Web端的原理示意图登录注册退出快速发布管理个人查看联系查看联系搜索用户拍照上传发布日志更新心情博友主页uploadimage.jspfileuploadServlet.jsppersonnalinfo.jspregister.jspMyServletlogin.jspDBUtilalbum.jspdiary.jsp数据源数据库Android端3数据库设计(若有的必须给出,没有的给出其他重要设计过程)(给出ER关系图及数据库表)用powerdesigner设计对应关系,并生成表,E-R图3详细设计和关键问题(分功能模块描述设计细节,例如详细功能图、类图和关键流程图等。遇到的关键Android问题是如何解决的)相册列表:功能图4查看5修改权限6二、快速发布:78三、实现效果(包括系统描述和程序运行界面的截图)1.口袋微博用户登录界面2.口袋微博个人中心——快速发布功能界面93.口袋微博个人中心——我的好友功能界面104.口袋微博个人中心——最近访客功能界面11125.口袋微博个人中心——日志列表功能界面6.口袋微博个人中心——相册列表功能界面137.口袋微博——搜索好友界面14以下是部分重要代码由于代码太多无法容纳(1)LoginActivity.java登录界面packagewyf.wpf;importstaticwyf.wpf.ConstantUtil.SERVER_ADDRESS;importstaticwyf.wpf.ConstantUtil.SERVER_PORT;importandroid.app.Activity;importandroid.app.ProgressDialog;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.os.Bundle;importandroid.os.Looper;importandroid.view.View;importandroid.widget.Button;importandroid.widget.CheckBox;importandroid.widget.EditText;importandroid.widget.ImageButton;15importandroid.widget.Toast;publicclassLoginActivityextendsActivity{MyConnectormc=null;ProgressDialogpd;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.login);checkIfRemember();ButtonbtnLogin=(Button)findViewById(R.id.btnLogin);btnLogin.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){pd=ProgressDialog.show(LoginActivity.this,请稍候,正在连接服务器...,true,true);login();}});ButtonbtnReg=(Button)findViewById(R.id.btnReg);btnReg.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=newIntent(LoginActivity.this,wyf.wpf.RegActivity.class);startActivity(intent);finish();}});ImageButtonibExit=(ImageButton)findViewById(R.id.ibExit);ibExit.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){android.os.Process.killProcess(android.os.Process.myPid());//结束进程,退出程序}});}16//方法:连接服务器进行登录publicvoidlogin(){newThread(){publicvoidrun(){Looper.prepare();try{if(mc==null){mc=newMyConnector(SERVER_ADDRESS,SERVER_PORT);}EditTextetUid=(EditText)findViewById(R.id.etUid);//获得帐号EditTextEditTextetPwd=(EditText)findViewById(R.id.etPwd);//获得密码EditTextStringuid=etUid.getEditableText().toString().trim();//获得输入的帐号Stringpwd=etPwd.getEditableText().toString().trim();//获得输入的密码if(uid.equals()||pwd.equals()){//判断输入是否为空Toast.makeText(LoginActivity.this,请输入帐号或密码!,Toast.LENGTH_SHORT).show();//输出提示消息return;}Stringmsg=#LOGIN#+uid+|+pwd;//组织要返回的字符串mc.dout.writeUTF(msg);//发出消息StringreceivedMsg=mc.din.readUTF();//读取服务器发来的消息pd.dismiss();if(receivedMsg.startsWith(#LOGIN_SUCCESS#)){//收到的消息为登录成功消息receivedMsg=receivedMsg.substring(17);String[]sa=receivedMsg.split(\\|);CheckBoxcb=(CheckBox)findViewById(R.id.cbRemember);//获得CheckBox对象if(cb.isChecked()){rememberMe(uid,pwd);}//转到功能面板Intentintent=newIntent(LoginActivity.this,FunctionTabActivity.class);intent.putExtra(uno,sa[0]);startActivity(intent);//启动功能Activityfinish();17}elseif(msg.startsWith(#LOGIN_FAIL#)){//收到的消息为登录失败Toast.makeText(LoginActivity.this,msg.substring(14),Toast.LENGTH_LONG).show();Looper.loop();Looper.myLooper().quit();}}catch(Exceptione){e.printStackTrace();}}}.start();}