Android端与web端以及数据库的建立它们之间的交互详解与案例分析
来源:互联网 发布:重庆大学数据图书馆 编辑:程序博客网 时间:2024/06/16 18:42
本项目是笔者利用十天的实训时间完成,之间掌握并学到了不少关于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 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
通俗易懂的讲就是传输数据,易于解析数据进行数据格式的交换。关于数据的上传关注我下一篇博客。。。。
阅读全文
1 0
- Android端与web端以及数据库的建立它们之间的交互详解与案例分析
- iOS端与网页之间的交互
- JavaScript与Android之间的交互
- Android WebView与javaScript之间的交互
- JavaScript与Android之间的交互
- Android 与Html5之间的交互
- unity与Android之间的简单交互
- android 与JS之间的交互
- android与js之间的交互
- android 与JS之间的交互
- Web 后端--PHP 与数据库的交互
- Web与数据库的简单交互
- Android_Android与Web端的数据交互
- JSP中转发与重定向的原理以及它们之间的区别
- Android串口设备的应用实现方案以及与WEB的交互
- Android串口设备的应用实现方案以及与WEB的交互
- JSP如何与数据库交互?即JSP与后台Servlet之间的关系,如何交互
- Android中网络编程以及与服务器上Web项目的基础交互
- 协程-gevent(python版)
- 解决搜索结果排序问题
- Git系列学习(1)-基础配置
- https证书的配置
- Android Studio3.0版本gradle配置
- Android端与web端以及数据库的建立它们之间的交互详解与案例分析
- Codeforces #443 (div 2)
- js随机点名系统
- python数据存储系列教程——python操作sqlite数据库:连接、增删查改、指令执行
- 跟踪类
- HDU 1087(动态规划-最大上升序列)
- JavaSE学习之路
- ISIS邻居路由器的类型对形成邻接类型的规则
- iTunes Connect-提交应用屏幕快照图片尺寸