使用Django搭建android后台(登录模块)
16lz
2021-01-24
序:以前一直想找到一个搭建app后台的框架,尝试过springboot,以及基于springboot的Guns(Guns官方的教程价格鄙视了我~)。直到回到最初的Django,之前很早使用过一点,还是觉得Django是真正的方便。
①创建项目以及app |
②基本设置,登录注册逻辑及反馈 |
③开启服务进行测试 |
①创建项目以及app
②基本设置,登录注册逻辑及反馈
public void sendRequest() { new Thread(new Runnable() { @Override public void run() { HttpURLConnection connection = null; BufferedReader reader = null; try { URL url = new URL(urlLoginOrSign); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setConnectTimeout(8000); connection.setReadTimeout(8000); DataOutputStream out = new DataOutputStream(connection.getOutputStream()); String user_id = id.getText().toString(); String user_password = password.getText().toString(); out.writeBytes("username="+user_id+"&password="+user_password); InputStream in = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(in)); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) response.append(line); Log.d(TAG, response.toString()); //!!!这是一个极大的错误:在线程里处理不能更新UI,Toast也是不能的 //Toast.makeText(LoginActivity.this,response.toString(),Toast.LENGTH_SHORT).show(); //如果登录成功,并且已经点击了“记住密码”,则会保存该密码 SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit(); if (response.toString().equals("登录成功") ){ //关闭等待登录窗口 progressDialog.dismiss(); Message msg = new Message(); msg.what = 0; handle.sendMessage(msg); if (rememberPass.isChecked()) { String ac = id.getText().toString(); String pa = password.getText().toString(); editor.putBoolean("Remember_password", true); editor.putString("Account", ac); editor.putString("Password", pa); } else { editor.clear(); } editor.apply(); }else if(response.toString().equals("登录失败") ){ //关闭等待登录窗口 progressDialog.dismiss(); Message msg = new Message(); msg.what = 1; handle.sendMessage(msg); if (rememberPass.isChecked()) { String ac = id.getText().toString(); String pa = password.getText().toString(); editor.putBoolean("Remember_password", true); editor.putString("Account", ac); editor.putString("Password", pa); } else { editor.clear(); } editor.apply(); }else if(response.toString().equals("用户不存在") ){ //关闭等待登录窗口 progressDialog.dismiss(); Message msg = new Message(); msg.what = 2; handle.sendMessage(msg); if (rememberPass.isChecked()) { String ac = id.getText().toString(); String pa = password.getText().toString(); editor.putBoolean("Remember_password", true); editor.putString("Account", ac); editor.putString("Password", pa); } else { editor.clear(); } editor.apply(); } } catch (MalformedURLException e) { Log.e(TAG, "url form wrong"); } catch (IOException e) { Log.e(TAG, "IOException 1:" + e.getMessage()); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { Log.e(TAG, "IOException 2:" +e.getMessage()); } } if (connection != null) { connection.disconnect(); } } } }).start(); } private Handler handle = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 0: Toast.makeText(LoginActivity.this,"登录成功!",Toast.LENGTH_SHORT).show(); LoginActivity.this.finish(); break; case 1: Toast.makeText(LoginActivity.this,"密码错误!",Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(LoginActivity.this,"用户不存在!",Toast.LENGTH_SHORT).show(); break; } } };
③开启服务进行测试
可以在浏览器上进行测试:
更多相关文章
- Android(安卓)Studio 4.0 New Class 窗口自定义修改
- Android(安卓)实现简单的登陆注册功能(SharedPreferences和SQLite
- 我对Android(安卓)Activity的生命周期是这样理解的
- android APP自动增量更新
- eclipse的graphical layout窗口工作不正常或者消失了
- 转 Android(安卓)SDK Manager国内无法更新的解决方案(亲测有效)
- WPF UI组件学习(一) - Window的外观实现及常用属性
- Android使用JobService实现后台服务
- Unity 导出 Gradle 工程及问题 (Please select a keystore and a