Android+PHP+MYSQL开发简单实例
前段时间做了一个安卓项目,需要用到数据库,之前有写过一点网页相关的东西,所以打算用MYSQL+PHP这个黄金搭档,虽然有点大材小用了。
本人是个货真价实的菜鸟,对安卓并不了解,这个项目纯属是赶鸭子上架,之所以写这篇博客,是想把我在项目中遇到的各种问题的解决方法分享给大家,希望对大家有所帮助。
接下来我将从三个方面介绍安卓客户端如何通过PHP与MYSQL数据库进行交互。
总述
简单的说,安卓客户端通过Http向本地服务器发出请求,访问指定的php代码,服务器端通过php代码执行数据库的操作,
返回相应的JSON数据。服务器可以理解为运行着某些服务器容器的电脑,比如你的电脑安装了Apache并保持运行,那么电脑就变成了一台服务器,只是这台服务器没有入网,只能本地访问。安卓客户端通过HttpURLConnection向服务器中指定的php文件提交POST或GET请求,服务器端相应php代码接受来自客户端的参数(如果是带参传递)进行数据库的操作,返回JSON数据给客户端。
下面我以安卓客户端通过用户名密码登陆为例进行说明。具体为:客户端通过POST方法向服务器提交2个参数:用户名(username)和密码(password)到指定login.php文件(这个文件写登陆验证的php代码),该文件中通过查询数据库中是否存在该用户以及密码是否正确来返回客户端相应的JSON数据。
既然选择了PHP+MYSQL,那么使用wamp server套件是比较方便的一种选择,用过它的朋友都应该轻车熟路了。
1.安卓客户端
安卓客户端所做的工作有:通过HttpURLConnection向服务器中指定的login.php文件提交POST或GET请求,服务器端接受来自客户端的参数执行login.php文件进行数据库的操作,返回JSON数据给客户端。
这里只贴出代码部分,至于界面只需要2个文本编辑框edittext用于输入用户名密码,一个button登陆按钮,其id自行设置即可。
登陆按钮响应函数如下
loginbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {//登陆按钮监听事件
/* ((App)getApplicationContext()).setTextData(et.getText().toString());
location_x.setText(((App)getApplicationContext()).getTextData());*/
new Thread(new Runnable() {
@Override
public void run() {
try {
int result = login();
//login()为向php服务器提交请求的函数,返回数据类型为int
if (result == 1) {
Log.e("log_tag"