2016-05-04 5 views
-3

enter image description hereкак разбирать данные из Json String, используя залп?

В первом действии мы покажем только дату купленного и общего количества в виде списка. И когда пользователь нажмет на элемент списка, мы покажем детали и количество деталей в следующем действии.

[после нажатия на сегодняшний день пользователь будет перейти к следующей деятельности, где он будет показывать название продукта п количество]

Вот код для того, что я попробовал

private ArrayList<parse> milkParss; 


    //for Adapter 
    private DateAdapter adapter ; 
    //Initializing the listview 
     listView_1 = (ListView) findViewById(R.id.listView_1); 
     //to get the data from method getData 
     adapter = new DateAdapter(this,R.layout.simple_list,); 

     listView_1.setAdapter(adapter); 

     listView_1.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Intent intent2 = new Intent(MonthlySummaryActivity.this, UpdateDailySupply.class); 
       intent2.putExtra(KEY_DATE,); 
       startActivity(intent2); 
      } 
     }); 


     //initializing the milkpar 
     milkPar = new ArrayList<parse>(); 

       private void sendRequest() { 

     //for processing dialog box 

     final ProgressDialog loading = ProgressDialog.show(this, "Fetching Data", "Please wait...", false, false); 

     // JSONArrayRequest req = new JsonObjectRequest(Request.Method.GET, urlJsonArray, null, new Response.Listener<JSONObject>() { 
     JsonArrayRequest req = new JsonArrayRequest(Request.Method.GET, urlJsonArray, null, new Response.Listener<JSONArray>() { 
      @Override 
      public void onResponse(JSONArray response) { 
       Log.d(TAG, response.toString()); 
       try { 
        //parsing the value of jsaon array 
        for (int i = 0; i < response.length(); i++) { 
         JSONObject person = (JSONObject) response.get(i); 
         String da = person.getString("date"); 
         String pr = person.getString("product"); 
         String na = person.getString("Person"); 
        } 

       } catch (JSONException e) { 
        e.printStackTrace(); 
        Toast.makeText(MonthlySummaryActivity.this, "ERROR" + e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 

       }, 
        new Response.ErrorListener() { 

        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(MonthlySummaryActivity.this, "error::" + error.getMessage(), Toast.LENGTH_LONG).show(); 
        } 
       }); 
} 





public class DateAdapter extends BaseAdapter { 

    private List<parse> list = new ArrayList<parse>(); 
    private Context context ; 

    public DateAdapter(List<parse> list, Context context) { 
     this.list = list; 
     this.context = context; 
    } 

    @Override 
    public int getCount() { 
     return list.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return list.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View view = convertView ; 
     if (view == null){ 
      LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.simple_list,null); 

     } 
     return convertView ; 
    } 
} 

[2]

+0

Сообщите свой код, который вы пробовали. – Masum

+1

залп предназначен для создания http-запросов. для сетей. для анализа данных вы не имеете никакого отношения к волейболу –

+0

Пожалуйста, отредактируйте свой вопрос с помощью кода и вопроса, пожалуйста. –

ответ

0

Привыкание к волейболу андроида может сначала ввести в заблуждение, но как только вы его повесите, это будет легко. После того, как у вас есть данные от разбора JSON, вы можете передать его другому действию с помощью пакета или дополнительного с Intent.

RequestQueue queue = Volley.newRequestQueue(getActivity()); 
    StringRequest sr = new StringRequest(Request.Method.POST, myUrl, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String s) { 
        //getting the response 
        try { 
         JSONArray jsonArray = new JSONArray(s); 
         for (int i = 0; i < jsonArray.length(); i++) { 
          String name; 
          JSONObject jsonObject = jsonArray.getJSONObject(i); 
          name= jsonObject.getString("name"); 
         } 
        } catch (Exception e) { 
         e.printStackTrace(); 
         Log.wtf("error", e.getMessage()); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError volleyError) { 

     } 
    }) { 
//sending a request 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("id", id); 
      return params; 
     } 
    }; 
    queue.add(sr); 
+0

Почему 's.toString()'? 's' уже является String ... –

+0

@fmpsagara Мне нужно сохранить все значение синтаксического анализа в массиве ??? или не требуется –

Смежные вопросы