数据库大作业总结 android+Java web+mysql

这是我第一次做和网络相关的程序。虽然之前做过app,但是都没有和网络交互,这次算是从零开始。废话不多说,直接上干货。


开发工具:

  • android:android studio
  • java web:myEclipse(提取密码:ia8f)各种版本,自选合适版本
  • mysql:参考这篇文章进行配置,我尝试了phpMyadmin和mysql
    workbench 来管理数据库,个人感觉phpMyadmin用的较为熟练。
  • 模拟器:genymotion,强烈推荐这个模拟器,速度快,打开android studio创建的模拟器我要开半个小时!(下载genymotion很顺利,但是下载模拟器十分艰难,具体可以参考本人的这篇文章)
  • 服务器:tomcat 7.x 配置方法参考这里

以上环境如果能配置好,基本成功一半。(学习者一定要有耐心,配置环境花个一周我认为很正常)
另外要强调的一点是要有充足的内存。本人是macbook pro 8g内存。如果是其它电脑,建议12g以上内存.


开发流程

其实可以说,要完成这个开发,你要走通3个helloworld:

  • android 端的helloworld,代表你的模拟器和android sdk配置完成
  • java web的helloworld代表你服务器端配置完成
  • 数据库端的helloworld(就是一些select语句,这里为了工整使用helloworld代表)

如果以上信息不会,可以参考android hellowrold程序java web helloworld程序

android端就是平时我们的手机客户端,java web程序放在服务器上,android与java web交互,获取信息,收到android客户端的信息后,java web向数据库请求信息。具体见下面的流程

接下来描述程序的整体流程
1. android端发出http请求(Get请求或者Post请求,不理解也没关系)
2. 服务器端java web程序接受请求。
3. 服务器端java web程序访问数据库,获得返回结果。
4. 服务器端java web程序将返回结果传输给客户端。
5. 客户端得到结果,显示给客户使用。

这里写图片描述

以上是最基本的概念,如果读者还没有跑通3个helloworld,请继续配置环境,如果是已经跑通了所有的helloworld但是对android或者java web的程序结构不太清楚可以参考一下文章,如果都已经完成,那么我们就可以开始开发了。

没有必要完全搞懂,一边做一边学习即可。


通讯过程工具+关键代码

到了这一部分,作者认为读者已经了解如何创建android和java web的程序,并且已经有了基本的sql语句的知识(增、删、查、改)。这一部分纷呈两个模块,第一个模块讲述android如何发送请求,第二个模块讲述java web如何接受请求。

使用的包:

  • gson(将数据打包成json文件格式、将json解析为对象、在android和java web端都可以使用,此包为谷歌工程师开发,必属精品)
  • xutils(此包集结了中国工程师们的智慧,帮助我们极大的简化了网络通讯,代码简化,各种高性能优点)
part one

以下是android端的核心代码,发出一个网络请求,收到查询结果。这是一个登录功能,界面就是两个EditText,当点击登录按钮时发送数据,当访问成功,接收返回数据,在responseInfo.result中,将用户信息存储在sharedPreferce中,并记住登录状态。里面用到了xutils的两个功能

  • HttpUtils:
    send函数

    * 参数:方法(Post或者Get)、访问的网址、参数、返回
    
  • ViewUtils:
    帮助我们方便的找到控件
    现在create方法中调用ViewUtils.Inject方法,在定义控件的时候采用注解的写法,就不需要使用findviewbyid了

SharedPerference是我引入的一个工具类,在后面提供工具类的代码。

LoginActivity.java

package com.example.wxc575843.hellotone.start;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.example.wxc575843.hellotone.Practice.PracticeMain;
import com.example.wxc575843.hellotone.R;
import com.example.wxc575843.hellotone.utils.SharePreferenceUtils;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.model.Global;
import
  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值