3.3系统流程图3.4 UI设计(1)注册界面和登录界面
(2)首页、帖子详情页、发帖页
1.个人中心
3.5关键技术和存在的问题关键技术1:注册非空验证和保存用户数据if(CheckInput()) {User user = new User();user.setUsername(tvStuNumber.getText().toString());user.setPassword(tvStuPwd.getText().toString());UserDbHelper dbHelper = new UserDbHelper(getApplicationContext(),UserDbHelper.DB_NAME,null,1);dbHelper.addUser(user);Toast.makeText(RegisterActivity.this,"恭喜你注册成功!",Toast.LENGTH_SHORT).show();//销毁当前界面finish();}关键技术2:登录验证//如果sqlite数据库可以找到,则输出登录成功,并跳转到主界面if(user.getUsername().equals(EtStuNumber.getText().toString()) && user.getPassword().equals(EtStuPwd.getText().toString()) ) {flag = true;Toast.makeText(LoginActivity.this,"恭喜你登录成功!",Toast.LENGTH_SHORT).show();Intent intent = new Intent(LoginActivity.this, MainActivity.class);Bundle bundle = new Bundle();username = EtStuNumber.getText().toString();bundle.putString("username",username);intent.putExtras(bundle);startActivity(intent);}关键技术3:发帖图片上传//把图片先转化成bitmap格式BitmapDrawable drawable = (BitmapDrawable) ivPhoto.getDrawable();Bitmap bitmap = drawable.getBitmap();//二进制数组输出流ByteArrayOutputStream byStream = new ByteArrayOutputStream();//将图片压缩成质量为100的PNG格式图片bitmap.compress(Bitmap.CompressFormat.PNG, 100, byStream);//把输出流转换为二进制数组byte[] byteArray = byStream.toByteArray();commodity.setPicture(byteArray);@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {if (requestCode == 1) {//从相册返回的数据if (data != null) {//得到图片的全路径Uri uri = data.getData();ivPhoto.setImageURI(uri);}}}存在的问题:帖子描述文字太多的话会导致首页排版混乱,需要列表项样式进行进一步修正4. 收获总结每次的项目都会出现一些的问题,但是都通过了百度或者问班上刻苦的同学,还是能将问题解决。我常常和我们宿舍的同学交流安卓,我们相互弥补我们的不足,这样我们就能在学习的路上越走越远,在互相的帮助中,我们相互学习了一些不一样的知识来增加专业知识的知识量。安卓这一科目对我们来说是非常重要的科目,在本学期的学科里面,安卓是最有代表性的科目,它是当今我们生活中最重要的一样东西之一的手机上所使用的代码,我们每天都要使用手机,而手机则需要使用代码程序,所以通过这次的学习,我对手机的开发又有了新的认识与理解。在安卓的开发中,首先学习了安卓的主资源布局控件,然后在学习到了java代码所使用的逻辑知识。从开始的单用布局activity_main再到后面的MainActivity,学习到了许多知识,但是我的自学能力和自觉性还是不够强,始终无法学习到非常精妙的程度,适配器也还是不够熟练,在假期的时候,我希望我更能系统化的学习安卓这门课程!