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();
}
});
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.