作者nonebelieve (天)
看板AndroidDev
标题[开发] MYSQL & Android 连接方式
时间Thu Jan 13 23:38:26 2011
这是之前在安卓板上我发的文
转过来这边跟大家分享
因为是直接转录 所以程式码没有贴去版主建议的分享网站
和板主说声抱歉啦~ 如果真的很难懂 我再来修改
======================================================================
大家好~!
原po因为要做专题 研究了这部分好一阵子
google 还找不太到很完整的办法 只能慢慢摸索
现在终於有小成果了 来跟大家分享一下连接方式
希望会帮助到需要的人:)
我只说明 比较重要的部分
========================================================================
***.java
String uriAPI = "
http://(这里填sever ip)/***(php档名称).php";
HttpPost httpRequest = new HttpPost(uriAPI); //我是用httppost
List <NameValuePair> params = new ArrayList <NameValuePair>();
params.add(new BasicNameValuePair("CatchNumber","2"));
//这行的参数会自动加在uriAPI後面 以此例子来说 会变成
http://(这里填sever ip)/***(php档名称).php?CatchNumber=2
如果後面还需要其他参数 方法相同
而此处的2为字串 如果需要int 再php还要再转过(後面说明)
try
{
httpRequest.setEntity(
new UrlEncodedFormEntity(params,HTTP.UTF_8));
这边设成utf8 中文才不会乱码 (但我还是乱码目前还没解决
HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
if(httpResponse.getStatusLine().getStatusCode()==200)
{
String strResult = EntityUtils.toString
(httpResponse.getEntity()); //资料库抓过来後 我使用text列出
txv_Title.setText(strResult);
}
else
{
txv_Title.setText("Error
Response:"+httpResponse.getStatusLine().toString());
}
}
catch (ClientProtocolException e)
{
txv_Title.setText(e.getMessage().toString());
e.printStackTrace();
}
catch (IOException e)
{
txv_Title.setText(e.getMessage().toString());
e.printStackTrace();
}
catch (Exception e)
{
txv_Title.setText(e.getMessage().toString());
e.printStackTrace();
}
======================================================================
***.php
<?php
$link = mysql_connect("localhost","使用者名称","密码");
mysql_query("use (db名称)");
$CatchNumber = $_POST["CatchNumber"]; //使用post接收java传过来的CatchNumber
intval("CatchNumber"); //String 转 Int
$result = mysql_query("select * from (表单) where No between '$CatchNumber'
and '3'",$link); //此PHP语法很基本 不懂自己翻
//我要注明的是 这边把CatchNumber的值 也就是2 从java抓过来使用了
while ($row = mysql_fetch_row($result)){
for($i=1;$i<count($row);$i++){
echo $row[$i];
echo " ";
}
}
//上述为输出方式 可依需要格式更改
mysql_free_result($result);
mysql_close($link);
?>
======================================================================
大概是这样子
有什麽问题可以再询问 (虽然我也不是很厉害XD
※ 编辑: nonebelieve 来自: 61.227.117.253 (01/13 23:44)
1F:→ uranusjr:直接输出如果资料比较复杂有点麻烦, 我在自己的 project 01/13 23:58
2F:→ uranusjr:里是用 JSON 包起来 01/13 23:58
3F:推 nowar100:感谢分享,不照格式没关系,只要确定版友看得懂就可以 01/14 00:35
4F:→ nowar100:收录至 z-4-1-1 01/14 00:42
5F:→ qrtt1:一句话就是把 DB Access 转成 Web Service 相仿的形式 01/14 00:56
6F:推 a1234957:推荐用RESTful 01/14 01:32
不是很懂楼上几位在说什麽 囧"
我是一定要用网路资料库 因为东西需要更新
所以另架了一个SEVER
7F:推 nomeans:原po用的方式跟我们专题连mysql的方式一样 01/14 09:31
8F:推 drdsmile:0.0 !! 楼上跟原PO 谁是组长阿?? XD 01/14 21:36
当然是我 (挺!! 话说我们专题 没有所谓组长耶..
※ 编辑: nonebelieve 来自: 114.39.213.88 (01/14 21:48)