Tu masz całą klasę odpowiedzialną za pobieranie tego JSON-a
package bjd.adrian.shopserach;
import android.content.Context;
import android.os.AsyncTask;
import android.util.JsonReader;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
public class BackgroundWorker extends AsyncTask<String, Void, String>
{
Context context;
public BackgroundWorker(Context ctx)
{
context = ctx;
}
ArrayList<JSONArray> mNames = new ArrayList<JSONArray>();
@Override
protected void onPreExecute()
{
super.onPreExecute();
}
@Override
protected String doInBackground(String... params)
{
String type = params [0];
String name = params[1];
String result = "";
if(type.equals("serach"))
{
try
{
URL serachURL = new URL("http://192.168.100.8/szukajProduktu.php");
HttpURLConnection httpURLConnection = (HttpURLConnection) serachURL.openConnection();
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String data = URLEncoder.encode("name_product", "UTF-8")+"="+URLEncoder.encode(name, "UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
// Implementacja BufferedReader-a aby nadpisał zmienną result informacjami otrzymanymi od serwera
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
String line = "";
while ((line = bufferedReader.readLine()) != null)
{
result += line;
}
inputStream.close();
httpURLConnection.disconnect();
JsonReader jsonReader = new JsonReader(bufferedReader);
jsonReader.
JSONArray jsonArray = new JSONArray(result);
for (int i = 0;i<jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
mNames.add(jsonObject.getJSONArray("nazwa"));
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (JSONException e) {
e.printStackTrace();
}
}
return result;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
int sizeINT = mNames.size();
String sizeS = Integer.toString(sizeINT);
Toast.makeText(context, sizeS, Toast.LENGTH_LONG).show();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}