介绍Android开发中,如何连接MySQL数据库。
Android开发中,大多数连接到远程MySQL数据库的方法是加入特定的Service到代码中。由于MySQL通常是和PHP一起使用的,最简单以及最常见的方法是写PHP脚本管理数据连接,以及从Android系统上使用HTTP协议运行这个脚本。
可以以JSON格式的方式编写数据,Android和PHP之间,两种语言都很容易嵌入JSON函数。
我演示的示例代码,根据给定的条件从数据库读取数据,在Android开发平台上创建日志消息接收数据。
假设我们有个命名为PeopleData的MySQL数据库,并且使用以下的SQL语句创建了一个数据表:
CREATE TABLE `people` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,`name` VARCHAR( 100 ) NOT NULL ,`sex` BOOL NOT NULL DEFAULT '1',`birthyear` INT NOT NULL)

想要读取people数据表中出生日期在指定年份之后的的所有数据。PHP代码是非常简单的:
1. 连接到数据库
2. 运行SQL查询,其中有个块依据于JSON格式的POST/GET值的数据。

比如,在getAllPeopleBornAfter.php文件中有这个功能:
'".$_REQUEST['year']."'");while($e=mysql_fetch_assoc($q))        $output[]=$e;print(json_encode($output));mysql_close();?>

Android部分比较复杂一些:
1. 使用HttpPost获取数据,发送年份值
2. 响应的信息转化成字符
3. 解析JSON数据,读取你想要的数据。
String result = "";//the year data to sendArrayList nameValuePairs = newArrayList();nameValuePairs.add(new BasicNameValuePair("year","1980"));//http posttry{        HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = newHttpPost("http://example.com/getAllPeopleBornAfter.php");   httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));        HttpResponse response = httpclient.execute(httppost);        HttpEntity entity = response.getEntity();        InputStream is = entity.getContent();}catch(Exception e){        Log.e("log_tag", "Error in http connection "+e.toString());}//convert response to stringtry{        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);        StringBuilder sb = new StringBuilder();        String line = null;        while ((line = reader.readLine()) != null) {                sb.append(line + "\n");        }        is.close();        result=sb.toString();}catch(Exception e){        Log.e("log_tag", "Error converting result "+e.toString());}//parse json datatry{        JSONArray jArray = new JSONArray(result);        for(int i=0;i

当然也可能使用HTTPS,发送密码,访问数据,或是在每一边做更多复杂的数据处理,写更多代码。

更多相关文章

  1. Android(安卓)Uri命名格式
  2. 阿里技术沙龙第17期·杭州站-无线技术专场 记录
  3. 观摩Android最高权力的Context通用性接口
  4. Android(安卓)JetPack学习笔记之ViewModel
  5. 关于Android自定义相机进行拍照(小米手机出现异常的原因)
  6. [置顶] android中自定义View
  7. Android的种类与应用
  8. Android创建和使用数据库SQLIte
  9. 基于xmpp openfire smack开发之Android客户端开发[3]

随机推荐

  1. Android按钮文字变色(使用 ColorStateList
  2. 用android控制arduino(wifi版)
  3. Android遇上打印机
  4. android 访问web端与解析json,模拟用户登
  5. Android应用程序入口和出口(sundy深入浅出
  6. Android仿新浪微博底部布局TabHost
  7. C++和android进行socket通信小结
  8. Android(安卓)开发中,有哪些坑需要注意?
  9. Android(安卓)系统中camera中 自动对焦的
  10. android播放提示音工具类(SoundConfigUti