Android Studio连接云服务器数据库

  • 写在开始
  • 1.Navicat连接云服务器数据库
  • 2.MyEclipse开发服务端servlet的相关步骤
  • Android Studio端代码编写


写在开始

这篇教程用于记录一下我的一次Android Studio连接数据库的过程。在网上找别人的教程的时候看到了一篇很详细的教程,链接附在下方了,这里想针对在按照这篇链接制作的时候的一些问题做一些解释。
按步骤一共可以分为五步(其实是六步,最开始还要去申请自己的云服务器,这里我用的是阿里云的学生的服务器,比较便宜哈哈,服务器系统选择的是ubuntu,官网注册完后就可以开始下面的步骤了):

  1. Xshell及Xftp配置连接到服务器Xshell及Xftp配置连接到服务器.
  2. 安装配置JDK以及Tomcat服务器安装配置JDK以及Tomcat服务器.
  3. 安装MySQL数据库的相关内容安装MySQL数据库的相关内容.
  4. MyEclipse开发服务端servlet的相关步骤
  5. Android Studio端代码编写Android Studio端代码编写.

这个项目需要的jar文件和安装包在:(来自于网络,仅供学习使用)
https://pan.baidu.com/s/1maw3apyoqpZcABf6HV3_MQ 提取码:mp5p

前三个步骤和第五个步骤那位大神的教程已经讲的很详细了,点击链接照做就可以了。PS:第三步需要去下载一个Navicat软件,用于可视化数据库管理。一般你在本地下载的MySQL安装包会包括这个软件在内的,直接安装即可。安装完后要连接你在第三步安装到阿里云服务器的数据库,教程如下:

1.Navicat连接云服务器数据库

这一步我也是遇到了一些问题,所以在这里也记录一下:

注意要用SSH的方式进行连接,直接连接是连接不上的。这跟数据库连接的权限有关。

Android服务器端JAVA androidstudio服务器_数据库

Android服务器端JAVA androidstudio服务器_Android服务器端JAVA_02


连接上数据库后就可以在这个软件里面直接对自己的数据库进行可视化操作啦,就不用麻烦的去打代码了。

在这里再讲一下Navicat的一些基础配置,红框内的为系统一些初始的数据库,你需要右键新建一个新的数据库来使用,蓝色框内的就是我新建的数据库。双击进去,就可以在里面新建自己的表,来存放数据了。

为了后面步骤的进行,这里需要先把你的表给构建起来,需要什么属性都先建好,再进行后面的步骤。

ps:如果要在数据库中插入中文字符,需要将编码方式更改为utf8(数据库、表、属性三个地方都要更改!)

Android服务器端JAVA androidstudio服务器_android_03

2.MyEclipse开发服务端servlet的相关步骤

接下来就是要在写服务器端的代码了,这里选用任意一款 java IDE 都行,本教程用的是 MyEcilpse 进行代码的编写。

开始吧:

点击左上角的 File -> New -> Web Project 创建一个web项目,这里注意创建的时候要点击next进入下一步,不要直接点击finish

Android服务器端JAVA androidstudio服务器_Android服务器端JAVA_04


点击两下next后:注意勾选上Generate web.xml deployment descriptor 这样创建完后你的目录里面才会有web.xml文件

Android服务器端JAVA androidstudio服务器_android_05


创建后目录组织如下:(红框内的即为web.xml项目,后面创建的servlet java文件都需要在里面进行声明,一般新建servlet是系统会自动帮你在web.xml里面进行声明)

Android服务器端JAVA androidstudio服务器_Android_06

接下来就是编写代码了:
一般需要创建两种类型的文件,(两种文件均在src文件夹下创建即可。)

  1. 一种是普通的java class文件(不需要对数据库进行访问的基础配置文件)
  2. 一种是servlet.java项目,里面用于放置访问云端数据库的相关代码。

具体的服务端代码我也是copy那位大神的改了一下:大神代码.
有几个地方需要注意的是,他的DBManager这个用于连接数据库的代码(如下图)有获取web.xml中的字符,需要提前配置好:

且每次重启tomca运行时需要先运行这个文件来初始化连接数据库,才能运行其他的文件。(这句话这里看不懂没关系,后面就知道了)

Android服务器端JAVA androidstudio服务器_Android服务器端JAVA_07


Android服务器端JAVA androidstudio服务器_Android服务器端JAVA_08

代码中会涉及到部分jar的包需要在MyEclipse中导入:

方法如下:

第一步:将jar文件直接拖到在WebRoot/WEB-INF/lib下

Android服务器端JAVA androidstudio服务器_数据库_09


第二步:右键项目 Build Path -> Configure Build Path,在弹出框左侧中选择Java Build Path -> 点击右侧Libraries -> 点击Add External JARs…将jar包导入即可

Android服务器端JAVA androidstudio服务器_android_10


Android服务器端JAVA androidstudio服务器_数据库_11

编写好相关项目之后,(要记得解决完项目的warning,右键warning会有quick fix,按照quick fix能自动解决掉很多问题)需要将web项目导出。

建议先在本地服务器测试自己的代码,看看能不能正常运行。

需要提前下载java.jdk和tomcat压缩包,并将它们解压。解压完后就OK了,不需要进行安装什么的。

本地测试教程:

MyEclipse在本地的web上面测试的话,需要配置java.jdk和tomcat。 配置方法:window->Preferences->在搜索框里搜索java或tomacat,将路径指向解压后的文件夹的位置即可。

如:

Android服务器端JAVA androidstudio服务器_数据库_12


本地基础配置完后,可以用浏览器登录http://localhost:8080看一下有没有Tomcat配置成功页面(注意要先启动Tomcat,如下:

在MyExclipse下方,选中Servers选择Tomact后,点击下图按钮Add Deployment将项目部署到本地的Tomacat上后点击运行

Android服务器端JAVA androidstudio服务器_android_13

点击下图按钮就可以打开MyEclipse 自带的web浏览器了,在里面输入框里面输入url即可实现测试。Url格式为:http://localhost:8080/项目名/servlet项目路径名称

Android服务器端JAVA androidstudio服务器_Android_14


本地测试无误后,然后将web项目导出:(导出教程图来自百度)

Android服务器端JAVA androidstudio服务器_数据库_15


Android服务器端JAVA androidstudio服务器_Android服务器端JAVA_16

接下来需要将导出的项目部署到云服务器端:

方法:通过Xftp连接上数据库之后将刚刚那一步骤生成的war文件发送到/usr/java/tomcat/apache-tomcat-8.5.51/webapps路径下(即安装tomcat的地方)

Android服务器端JAVA androidstudio服务器_android_17


此时在浏览器输入 http://你的IP/项目名称/要打开的java文件名称 即可运行对应的java文件。

注意:下图红框内的url即你要在《要打开的java文件名称》处填写的

Android服务器端JAVA androidstudio服务器_数据库_18

预览效果:

Android服务器端JAVA androidstudio服务器_mysql_19


账户存在:

Android服务器端JAVA androidstudio服务器_数据库_20


Android服务器端JAVA androidstudio服务器_mysql_21


注册后数据库更新:

Android服务器端JAVA androidstudio服务器_android_22

一些错误预告:

  1. 如果访问后网页显示404,说明是路径不正确,按照上面步骤检查一下自己的路径是否正确。
  2. 如果你的url里有中文字符需要更换低版本的Tomcat(版本在6及以下就可以了),且不要使用IE浏览器测试,用其他浏览器测试。(将中文的字符插入数据库也是需要进行一系列的配置的,要将数据库的编码方式更改为utf8,具体百度吧)

Android Studio端代码编写

具体可以看大神教程,这一步骤没有什么问题,代码根据自己的需要来改就好了。Android Studio端代码编写.

注意,要使编写的代码能运行,需要先让Android Studio获取上网权限:
向AndroidManifest.xml文件中加入:

<uses-permission android:name="android.permission.INTERNET" />

如图所示:

Android服务器端JAVA androidstudio服务器_Android_23