“灵动校园”项目 (基于android客户端的学生社交平台)
“一起去”是基于android平台的学生社交软件,致力于提供好的校园活动,拉近不同学生心灵之间距离的一款产品。
-
主要功能就是发布活动和参与活动,通过手机端将活动参数提交到后台,增加活动记录。
- 主要使用Volley框架的get和post方法,发送请求。
- 支持活动上传图片。
-
支持活动的动态参与和评论
- 活动的参与者能够收到服务器的推送消息,主要是来自活动的参与和评论。
- 支持评价回复功能。
-
用户的登陆和活动的分享
- 支持三方登陆和分享。
- 短信验证和实名注册。
- smartImageVIew,支持从URL和通讯录中获取图像,可以替代Android标准的ImageView
- 特征
- 根据URL地址装载图像;
- 支持装载通讯录中的图像;
- 支持异步装载;
- 支持缓存;
- 开源项目下载地址
- 当需要在消息页中回复时,弹出键盘会把底部菜单栏顶上去的问题,以及弹出的edittext的如何监听返回键。
- 这个在我的个人博客中有提到,可以点击查看
- 对于时间格式的转换
- 由于项目的后台使用的是rails框架,其默认的时间格式是UTC格式,需要在手机端进行转换显示
- 转换代码
public static String getLocalTimeFromUTC(String UTCTime) { if (UTCTime == "") { return "时间获取失败"; } SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS Z"); UTCTime = UTCTime.replace("Z", " UTC"); Date dt = null; try { dt = sdf.parse(UTCTime); } catch (ParseException e) { e.printStackTrace(); } GregorianCalendar g = new GregorianCalendar(); int minutetime = 0; minutetime = Math.abs((int) (dt.getTime() - g.getTimeInMillis())) / (1000 * 60); if (minutetime <= 0) { return "刚刚"; } if (minutetime > 0 && minutetime < 60) { return minutetime + "分钟前"; } if (minutetime >= 60 && minutetime < 60 * 24) { return (int) minutetime / 60 + "小时前"; } else { return (int) minutetime / (60 * 24) + "天前"; } }
- 怎么在手机端保存用户的信息?
- 一种是采用SharedPreferences保存用户信息
SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); userName = username.getText().toString(); passWord = password.getText().toString(); editor.putString("UserName", userName); editor.putString("PassWord", passWord); editor.commit();
- 另一种是采用静态类的方法,保存user信息
public class UserInfo implements Serializable { public static UserInfo user = null; public Integer doctor_id; public String doctor_name; ... ...
- 项目主要采用静态类的方式,主要是通过gson解析用户的json数据,维护也更方便。
Gson gson = new Gson(); userInfo = gson.fromJson(response.toString(), UserInfo.class);