Android,기관실 좌석 예약 시스템 구현

본 논문 의 사례 는 안 드 로 이 드 가 예약 시스템 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
 

 

이번 주 에 무한 에 가서 회 의 를 하려 면 다음 주 에 프로젝트 를 써 야 하기 때문에 비교적 빡빡 하 다.게다가 멘 토 가 안 드 로 이 드 개발 을 몰라 서 회의 만 하면 수 요 를 바 꿔 요.그래서 기능 이 실현 되 는 것 은 비교적 간단 하지만 코드 가 쉽게 확장 되 고 인 터 페 이 스 를 남 겼 으 며 나중에 업데이트 하 는 것 도 좋 습 니 다.이 공 사 를 통 해 Struts 2 의 차단기 에 대해 새로운 경험 을 하 게 되 었 다.프로젝트 가 커지 면서 코드 양 이 많아 지면 서 자 연 스 럽 게 디자인 모델 을 사용 하 는 것 이 생각 난다.안 그러면 코드 를 볼 수가 없어 요.
전체적으로 4 개의 fragment 이 고 모든 fragment 에는 과정 표 의 구조 가 있 으 며 과정 은 서버 에서 동적 으로 생 성 될 수 있 습 니 다.사실 재 활용 할 수 있 는 레이아웃 이 많 습 니 다.코드 구조 가 뚜렷 하기 위해 따로 썼 습 니 다.그렇지 않 으 면 컨트롤 러 가 필요 해서 디 버 깅 하기 가 힘들다.글 을 잘 쓰 지 못 했 으 니,여러분 의 많은 가르침 을 바 랍 니 다.아직 완벽 하 게 하지 못 했 으 니 다 한 후에 다시 올 려 라.
응용 프로그램 에서 데 이 터 를 지속 적 으로 진행 하 였 는데,이렇게 하면 프로그램 이 비교적 쉽게 제어 할 수 있 게 되 었 다.
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();
  }
 });
}

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기