我试图通过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 + '\'' +
'}';
}
}