当Web服务器的结果为空时,处理结果发送回android studio

时间:2015-09-20 12:15:02

标签: php android

我正在开发一个Android应用程序,在那里我查询我的api并返回值。

这样可以正常工作,但是当查询没有找到任何值(数据库中没有结果)时,我有点卡住了

这是我的api中返回结果的一部分

if (empty($rows))
        {

            //deliver_response(404,"Item not found",NULL);
            $encode = array("List" => $rows);
            $json_response=json_encode($encode);

        }
    else
        {
            $encode = array("List" => $rows);

            $json_response=json_encode($encode);
                    echo $json_response;
        }

和我的Android代码的一部分

   if (status == 200) {
                    HttpEntity entity = httpResponse.getEntity();
                    String data = EntityUtils.toString(entity);

                      if (data.equals(""))
                      {
                          Toast.makeText(getBaseContext(),"No Results Found",Toast.LENGTH_LONG).show();
                      }else {
                          JSONObject jobj = new JSONObject(data);


                          JSONArray jsonArray = jobj.getJSONArray("List");

当我在String data = EntityUtils.toString(entity);上放置一个断点时,数据为data="\n\n"但是,当我有if (data.equals(""))if (data.equals("\n\n"))时,忽略if并进入其他地方。 想知道是否有人可以协助我纠正这个问题。

谢谢

1 个答案:

答案 0 :(得分:0)

我认为在您的Web服务响应中使用消息密钥更为明智,因此消息密钥将始终具有来自服务器的消息,即未找到记录,成功,失败(如果查询执行中出现某些错误)

在Android中,您应该始终检查消息,并根据该消息向用户显示相应的消息。

示例json响应

  

{“list”:[       1,       2,       3],“消息”:“没有找到记录”}