解析从json到android的数据时数据丢失

时间:2016-11-15 08:25:35

标签: php android mysql json

我试图通过json在排球的帮助下将存储在phpmyadmin中的数据表示为android,但是在android上收到的数据是不完整的。数据库存在于下面

 sno     rname     mobile       email          address     opentiming       closetiming    menuid       type     averagecost         image
   1     abc     9876543212 sbjaca@gmail.com  fdsjdsfdnm    00:10:00          00:00:00        1         asian       120         http://gjsblog.esy.es/images/download.png
   2    abcdefc  9876543212  ajit@gmail.com    qwertym      00:00:03          00:00:04        2        chinese      120         http://gjsblog.esy.es/images/The_Table.png  

这是我的Json文件

 restaurants":[{"rid":"1","rname":"abc","mobile":"9876543212","email":"sbjaca@gmail.com","address":"fdsjdsfdnm","opentiming":"00:10:00","closetiming":"00:00:00","menuid":"1","type":"asian","averagecost":"120","image":"http:\/\/gjsblog.esy.es\/images\/download.png"},{"rid":"2","rname":"abcdefc","mobile":"9876543212","email":"sbjaca@gmail.com","address":"fdsjdsfdnm","opentiming":"00:00:03","closetiming":"00:00:04","menuid":"2","type":"chinese","averagecost":"120","image":"http:\/\/gjsblog.esy.es\/images\/The_Table_(restaurant)_logo.png"}],"success":1,"message":"Records Retrieved sucessfully"}

这是我在Android手机上收到的数据,因为你可以命名,opentime,closetime,icon1,icon2是空名,icon1,icon2是在mysql和opentime中初始化varchar,closetime是初始化时间

ResturantBean{rid=1,menuid=1,averagecost=120,name=",mobile='9876543212',email='sbjaca@gmail.com',opentime=",closetime=",type='asian',icon1=",icon2="},
ResturantBean{rid=2,menuid=2,averagecost=120,name=",mobile='9876543212',email='sbjaca@gmail.com',opentime=",closetime=",type='chinese',icon1=",icon2="},

这是我的java文件的代码

package com.gjs.resturant;

import android.app.DownloadManager;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.util.AsyncListUtil;

import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import com.android.volley.RequestQueue;
import com.android.volley.*;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

 public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{

   ListView listview;
    private ResturantAdapter adapter;
    private ArrayList<ResturantBean> restaurentlist;

StringRequest stringRequest;

// Executes the Request
RequestQueue requestQueue;

ProgressDialog pd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   listview = (ListView)findViewById(R.id.my_recycler_view);
    pd = new ProgressDialog(this);
    pd.setMessage("Please Wait...");
    pd.setCancelable(false);
    requestQueue = Volley.newRequestQueue(this);

    restaurentlist=new ArrayList<>();

    load_data_fromserver();

}

private void load_data_fromserver() {

    pd.show();
    stringRequest = new StringRequest(com.android.volley.Request.Method.GET, "http://gjsblog.esy.es/retrieveres.php",


            new com.android.volley.Response.Listener<String>() {

                @Override
                public void onResponse(String s) {
                    pd.dismiss();
                    try {
                        JSONObject jsonObject = new JSONObject(s);
                        int success = jsonObject.getInt("success");
                        String message = jsonObject.getString("message");

                        if (success == 1) {
                                                       Gson gson = new Gson();
                            JSONArray jsonArray = jsonObject.getJSONArray("Restaurants");

                            Type listType = new TypeToken<List<ResturantBean>>() {
                            }.getType();
                            restaurentlist = (ArrayList<ResturantBean>) gson.fromJson(jsonArray.toString(), listType);

                            adapter =new ResturantAdapter(MainActivity.this,R.layout.listview,restaurentlist);
                            listview.setAdapter(adapter);


                        listview.setOnItemClickListener(MainActivity.this);

                        } else {
                            pd.dismiss();
                           Toast.makeText(MainActivity.this, "No Persons Found", Toast.LENGTH_LONG).show();
                        }

                    } catch (Exception e) {
                        pd.dismiss();
                       Toast.makeText(MainActivity.this, "Some JSON Parsing Error", Toast.LENGTH_LONG).show();
                    }
                }
            },

            // failure
            new com.android.volley.Response.ErrorListener() {
          //  new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError volleyError) {
                   Toast.makeText(MainActivity.this, "Some Volley Error", Toast.LENGTH_LONG).show();
                    //Log.i("MainActivity", volleyError.toString());
                  //  Log.i("MainActivity", volleyError.getMessage());
                }
            }
        );

        requestQueue.add(stringRequest);

    }
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        ResturantBean p = restaurentlist.get(position);

        Intent i=new Intent(MainActivity.this,TabActivity.class);
        i.putExtra("extra_text",position);
        startActivity(i);

    }

}

RestaurantBean.java

public class ResturantBean {
int rid,averagecost;
 String name,type,icon1;
public ResturantBean() {
    rid=0;
    icon1="";
    name="";
    type ="";

}

     public ResturantBean(int rid, int averagecost, String name, String type, String icon1) {
    this.rid = rid;
    this.averagecost = averagecost;
    this.name = name;
    this.type = type;
    this.icon1 = icon1;
}

public int getRid() {
    return rid;
}

public void setRid(int rid) {
    this.rid = rid;
}

public int getAveragecost() {
    return averagecost;
}

public void setAveragecost(int averagecost) {
    this.averagecost = averagecost;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

public String getIcon1() {
    return icon1;
}

public void setIcon1(String icon1) {
    this.icon1 = icon1;
}

@Override
public String toString() {
    return "ResturantBean{" +
            "rid=" + rid +
            ", averagecost=" + averagecost +
            ", name='" + name + '\'' +
            ", type='" + type + '\'' +
            ", icon1='" + icon1 + '\'' +
            '}';
}
}

0 个答案:

没有答案
相关问题