本项目是笔者利用十天的实训时间完成,之间掌握并学到了不少关于Android和web方面的知识,比如:json的数据交换,ListViewAdapter适配器的使用以及网络请求web端交互的问题。趁热打铁,就想拿出来分享一下。案例《黄河河道管理系统》:
此项目具有以下功能的实现:
1.登陆功能的实现
2.上传界面的所有功能上传成功的实现
3.上传历史的展示功能
4.退出功能
本项目是笔者利用十天的实训时间完成,之间掌握并学到了不少关于Android和web方面的知识,比如:json的数据交换,ListViewAdapter适配器的使用以及网络请求web端交互的问题。趁热打铁,就想拿出来分享一下。案例《黄河河道管理系统》:
登录功能:
在数据库中新建应用的表以及账号和密码等需要的属性,然后由web端注册一个手机用户。Android方面实现网络请求,利用Json解析数据进行交换,连接到web端,实现登录成功。Android主要实现代码如下:
//登录按钮的点击事件处理 public void btn_login_click(View view){ //1.调用网络访问进行登录 String loginid = et_number.getText().toString().trim(); String password = et_password.getText().toString().trim(); doLogin(loginid, password); } //调用网络访问进行登录 private void doLogin(String loginid, String password){ //1.调用网络进行登录 AsyncHttpClient asyncHttpClient = new AsyncHttpClient(); RequestParams params = new RequestParams(); params.put("user.loginid", loginid); params.put("user.password", password); //url: parmas:请求时携带的参数信息 responseHandler:是一个匿名内部类接受成功过失败 String url = UrlConst.LOGIN;//此登录地址为你数据库表里的属性与它相同,才能判断是否登录成功 asyncHttpClient.post(url, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody) { //statusCode:状态码 headers:头信息 responseBody:返回的内容,返回的实体 //判断状态码 if(statusCode == 200){ //获取结果 try { String result = new String(responseBody,"utf-8"); //Toast.makeText(LoginActivity.this, result, Toast.LENGTH_LONG).show(); Gson gson = new Gson(); JsonResult jsonResult = gson.fromJson(result, JsonResult.class); //Toast.makeText(LoginActivity.this, jsonResult.getMessage(), Toast.LENGTH_LONG).show(); //2.判断返回的json数据 //2.1若返回json数据success为true的话,调用保存密码与自动登录状态的方法 if(jsonResult.isSuccess()){ //2.1成功,则进入主界面 savePassAndAutoLogin(); Intent intent = new Intent(Login.this, History.class); startActivity(intent); }else{ //2.2失败则显示提示信息 new AlertDialog.Builder(Login.this).setTitle("信息提示") .setIcon(R.mipmap.ic_launcher) .setMessage(jsonResult.getMessage()) .setPositiveButton("确定", null) .setNegativeButton("取消", null) .create().show(); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } @Override public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody, Throwable error) { } }); }
侧重讲述一下Json的用法: JSON 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
通俗易懂的讲就是传输数据,易于解析数据进行数据格式的交换。关于数据的上传关注我下一篇博客。。。。