一些简单的android与sae服务器数据库交互代码

android端

如果选择在ui线程下进行网络操作,可以在setcontentview前添加下列代码,否则必须在非UI线程进行网络操作

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectDiskReads()
        .detectDiskWrites()
        .detectAll()   // or .detectAll() for all detectable problems
        .penaltyLog()
        .build());
		StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
        .detectLeakedSqlLiteObjects()
        .detectLeakedClosableObjects()
        .penaltyLog()
        .penaltyDeath()
        .build());

写入数据:

将需要post的数据以键值对的形式存入一个arraylist,随后发送相关数据。



ArrayList<BasicNameValuePair> nameValuePairs = new ArrayList<BasicNameValuePair>();
  nameValuePairs.add(new BasicNameValuePair("jsb",Integer.toString(re[0])));
  nameValuePairs.add(new BasicNameValuePair("matheng",Integer.toString(re[1])));
  nameValuePairs.add(new BasicNameValuePair("music",Integer.toString(re[2])));
  nameValuePairs.add(new BasicNameValuePair("cdoe",Integer.toString(re[3])));
  nameValuePairs.add(new BasicNameValuePair("huang",Integer.toString(re[4])));
  nameValuePairs.add(new BasicNameValuePair("aixin",Integer.toString(re[5])));
  //http post
  try{
       HttpClient httpclient = new DefaultHttpClient();
       HttpPost httppost = new HttpPost("http://xxxx.sinaapp.com/yyyy.php");
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
       httpclient.execute(httppost);

  }catch(Exception e){
       Log.e("log_tag", "Error in http connection"+e.toString());
  }<span>	</span>

 

服务器端php代码,采用sae

<?php
$mysql = new SaeMysql();

mysql_query("SET NAMES 'gb2312'" , $mysql); 

$jsb =  $_REQUEST['jsb'];
$matheng =  $_REQUEST['matheng'];
$music =  $_REQUEST['music'];
$cdoe =  $_REQUEST['cdoe'];
$huang =  $_REQUEST['huang'];
$nosix =  $_REQUEST['mosix'];
$flag =  $_REQUEST['flag'];
$caidan =  $_REQUEST['caidan'];


$sql2="INSERT  INTO `caicai` (`jsb`,`matheng`,`music`,`cdoe`,`huang`,`nosix`,`flag`,`caidan`) VALUES ('$jsb','$matheng','$music','$cdoe','$huang','$nosix','$flag','$caidan')" ;


	$mysql->runSql($sql2);



$mysql->closeDb();

?>

即可将相关数据写入mysql的数据库


获取数据

直接通过get方法,获取简单数据,get的方法可以写在url后面 yyyy.php?name=abcd

InputStream is = null;
String result = null;
StringBuilder sb = null;
try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpGet httpget = new HttpGet(
                   "http://xxxx.sinaapp.com/yyyy.php");
            HttpResponse response = httpclient.execute(httpget);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
        } catch (Exception e) {
            Log.e("log_tag", "Error in http connection" + e.toString());
        }
        // convert response to string
        try {
            BufferedReader reader = new BufferedReader(
                   new InputStreamReader(is, "iso-8859-1"), 8);
            sb = new StringBuilder();
            sb.append(reader.readLine() + "\n");


            String line = "0";
            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());
        }

服务器端搜索数据库并进行输出

<?php
$mysql = new SaeMysql();

 $sql    =   "SELECT * FROM `Zuomo`";
     
    $result =   $mysql->getData($sql);
     
    foreach ($result as $row)
    {
        foreach ($row as $key=>$value)
        {
            echo $value."#";
        }
    }


    
$mysql->closeDb();

?>

附:基本的sql语句(sae)

$mysql = new SaeMysql();//与sae的mysql数据库连接


$sql    =   "DELETE FROM Location WHERE id='1'";//删除条目
$sql    =   "INSERT  INTO `Location` (`id`,`lat`,`lon`) VALUES ('1','$lat','$lon')" ;//插入条目
<pre name="code" class="php">$mysql->runSql($sql); //运行mysql语句


$sql    =   "SELECT * FROM `Zuomo`";//选择条目
     
$result =   $mysql->getData($sql);//获取查询结果
     
    foreach ($result as $row)//输出查询结果
    {
        foreach ($row as $key=>$value)
        {
            echo $value."#";
        }
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值