本文實例為大家分享了Android實現預約系統(tǒng)的具體代碼,供大家參考,具體內容如下
這周要去武漢開會,下周項目就得用上,所以,比較緊。加上導師不懂Android開發(fā),只要開會就改需求,/(ㄒoㄒ)/~~反正他說先讓學校用著,移動端和服務器的開發(fā)就給了兩周時間。所以功能實現的比較簡單,但代碼做的比較容易擴展,都留了接口,后面更新起來也好做一些。通過這個工程,對Struts2的攔截器有了一些新體會。隨著項目變大代碼量變多,自然而然就會想起用一些設計模式了。不然代碼根本沒辦法看。
整體是4個fragment,每個fragment里都有課程表的布局,課程可以從服務器傳過來動態(tài)生成。其實很多都可以復用的布局,為了代碼結構清晰,都分開寫了。不然需要加控制器,調試起來心累。寫的不好,還請大家多指教。做的還不完善,弄完以后再傳上來。
Application里對數據進行持久化,這么做發(fā)現程序變得比較容易控制了。
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請求 // 符合接口規(guī)范 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(); } });}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答