Android实现机房座位预约系统

 更新时间:2018年04月27日 10:56:04   转载 作者:番茄发烧了  
这篇文章主要为大家详细介绍了Android实现机房座位预约系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android实现预约系统的具体代码,供大家参考,具体内容如下

 

 

这周要去武汉开会,下周项目就得用上,所以,比较紧。加上导师不懂Android开发,只要开会就改需求,/(ㄒoㄒ)/~~反正他说先让学校用着,移动端和服务器的开发就给了两周时间。所以功能实现的比较简单,但代码做的比较容易扩展,都留了接口,后面更新起来也好做一些。通过这个工程,对Struts2的拦截器有了一些新体会。随着项目变大代码量变多,自然而然就会想起用一些设计模式了。不然代码根本没办法看。

整体是4个fragment,每个fragment里都有课程表的布局,课程可以从服务器传过来动态生成。其实很多都可以复用的布局,为了代码结构清晰,都分开写了。不然需要加控制器,调试起来心累。写的不好,还请大家多指教。做的还不完善,弄完以后再传上来。

Application里对数据进行持久化,这么做发现程序变得比较容易控制了。

Application

package com.example.myapplication;
import android.app.Application;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class CustomApplication extends Application {
 public static final String serverAddress = "http://192.168.1.119";
// public static final String serverAddress = "http://10.187.86.63";
 public static final String serverPort = "8080/Person_proj/upload";
// public static final String serverPort = "8000";
 private static final String DEFAULT_NAME = "";
 private static final String DEFAULT_ID = "-1";
 private String name;
 private String id;
 private String room;
 private String myOrder="NULL";
 private boolean isLogin = false;


 public boolean isLogin() {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  return sp.getBoolean("islogin", false);
 }


 /**
  * 0为 未登录
  * 1为登录
  */
 public void setLogin(boolean isLogin) {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  Editor edit = sp.edit();
  edit.putBoolean("islogin", isLogin);
  edit.commit();
 }

 private int version;

 public int getVersion() {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  return sp.getInt("version",0);
 }

 public void setVersion(int version) {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  Editor edit = sp.edit();
  edit.putInt("version",version);
  edit.commit();
 }


 public String getMyOrder() {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  return sp.getString("order","NULL");
 }

 public void setMyOrder(String myOrder) {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  Editor edit = sp.edit();
  edit.putString("order",myOrder);
  edit.commit();
 }

 @Override
 public void onCreate() {
  super.onCreate();
  setName(DEFAULT_NAME); // 初始化全局变量
  setId(DEFAULT_ID);
 }

 public void setName(String name) {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  Editor edit = sp.edit();
  edit.putString("name", name);
  edit.commit();
 }

 public String getName() {
  SharedPreferences sp = getSharedPreferences("status", MODE_PRIVATE);
  return sp.getString("name", "none");
 }

 public String getId() {
  return id;
 }

 public void setId(String id) {
  this.id = id;
 }

 public void setRoom(String room) {
  this.room = room;
 }

 public String getRoom() {
  return room;
 }

}

做注册时的逻辑判断,onClick事件里:

boolean cancel = false;
  View focusView = null;

  String id = builder.getUserId().trim();
  String password = builder.getPassword().trim();
  String passwordConfirm = builder.getPasswordConfirm().trim();
  final String username = builder.getUsername().trim();

  // Check for a valid password.
  if (TextUtils.isEmpty(password)) {
   cancel = true;
   focusView = builder.getStuPwdEditText();
   }

  // Check for a valid password.
  if (TextUtils.isEmpty(passwordConfirm)) {
   cancel = true;
   focusView = builder.getStuPwdConfirmEditText();
   }

  if (!password.equals(passwordConfirm)) {
    cancel = true;
    focusView = builder.getStuPwdEditText();
    }

  // Check for a valid Id.
  if (TextUtils.isEmpty(id)) {
    cancel = true;
    focusView = builder.getStuIdEditText();
  }

  // Check for a valid username.
  if (TextUtils.isEmpty(username)) {
    cancel = true;
    focusView = builder.getStuNameEditText();
   }


  if(!MatchUtils.match(password)||!MatchUtils.match(passwordConfirm)){
   cancel = true;
   focusView = builder.getStuPwdEditText();
   ToastUtils.MyToast(getApplicationContext(), "密码只能为6位数字!");
    }

  if (cancel) {
   ToastUtils.MyToast(getApplicationContext(), "输入有误,请从新输入!");
   focusView.requestFocus();
   } else {
   //...这里做的网络请求
   // TODO signup 提交服务器Get请求
   // 符合接口规范
   final String url =app.serverAddress+":"+app.serverPort+"?"+"action=signin"+"&"+"username="+username+"&"+"oldpassword="+password;
   HttpUtils http = new HttpUtils();
   http.send(HttpMethod.GET, url, new RequestCallBack<String>() {

    @Override
    public void onSuccess(ResponseInfo<String> responseInfo) {
     Log.i("tag", "============success============"+responseInfo.result);
     ToastUtils.MyToast(getApplicationContext(), responseInfo.result);
     if(responseInfo.result.equals("success")){
    //注册成功,自动实现登录
     app.setLogin(true);
     app.setName(username);
    //更新UI
     Message m = Message.obtain();
     m.what=1;
     handler.sendMessage(m);
     ToastUtils.MyToast(getApplicationContext(), "注册成功,学号:"+username);
     }else{
     ToastUtils.MyToast(getApplicationContext(), responseInfo.result);
     }
    dialog.dismiss();
   }

  @Override
  public void onFailure(HttpException error, String msg) {
  ToastUtils.MyToast(getApplicationContext(), msg);
  dialog.dismiss();
  }
 });
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android Binder入门学习笔记

    Android Binder入门学习笔记

    这篇文章主要给大家介绍了关于Android Binder入门学习的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Kotlin超简单实现StepView的方法

    Kotlin超简单实现StepView的方法

    这篇文章主要介绍了Kotlin超简单实现StepView的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Android图片等比例缩放和填充屏幕效果

    Android图片等比例缩放和填充屏幕效果

    这篇文章主要为大家详细介绍了Android图片等比例缩放和填充屏幕效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android OkHttp的简单使用和封装详解

    Android OkHttp的简单使用和封装详解

    这篇文章主要介绍了Android OkHttp的简单使用和封装详解的相关资料,Android OKHttp的简单get、post的使用,再到它的封装,需要的朋友可以参考下
    2016-12-12
  • Android实现水波纹点击效果

    Android实现水波纹点击效果

    这篇文章主要为大家详细介绍了Android实现水波纹点击效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android中volley封装实践记录

    Android中volley封装实践记录

    这篇文章主要给大家介绍了关于Android中volley封装实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一学习学习吧
    2019-02-02
  • Android开发四大组件之实现电话拦截和电话录音

    Android开发四大组件之实现电话拦截和电话录音

    这篇文章给大家介绍Android开发四大组件之实现电话拦截和电话录音,涉及到android四大基本组件在程序中的应用,对android四大基本组件感兴趣的朋友可以参考下本篇文章
    2015-10-10
  • 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解

    浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解

    本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTouchEvent的区别详解。需要的朋友参考下
    2013-04-04
  • Android使用SharedPreferences存储数据的实现方法

    Android使用SharedPreferences存储数据的实现方法

    这篇文章主要介绍了Android使用SharedPreferences存储数据的实现方法,可实现针对短信的临时保存功能,非常简单实用,需要的朋友可以参考下
    2016-06-06
  • Android编程中File文件常见存储与读取操作demo示例

    Android编程中File文件常见存储与读取操作demo示例

    这篇文章主要介绍了Android编程中File文件常见存储与读取操作,结合实例形式分析了Android针对文件的打开、读写及布局等相关操作技巧,需要的朋友可以参考下
    2017-09-09

最新评论