Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Парсинг Json - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android BaseAdapter http://www.cyberforum.ru/android-dev/thread1820152.html
Есть контейнер для фрагментов (container), есть фрагмент (fragment), есть BaseAdapter и Product Я хочу сделать адаптер из списка в котором есть картинка, 1\2 TextView и кнопка. Код нашёл в гугле,...
Программирование Android Предотвратить выключение программы при загрузке и парсинге сайтов средствами Jsoup Есть вот такой код для загрузки и парсинга сайтов. Если сюда скормить левый адрес для загрузки или при обработки Jsoup будет непойми что, естественно, выползает ошибка и приложение крашится. public... http://www.cyberforum.ru/android-dev/thread1819969.html
Push уведомления без сторонних сервисов Программирование Android
Есть форма php, на которой располагается одна кнопка, при нажатии на эту кнопку на мобильный телефон (android) должно прийти push уведомление. Вопрос: можно ли это организовать без сторонних...
Программирование Android Телефон в качестве ПУ для Arduino
В общем, идея в том, чтобы использовать телефон в качестве ПУ для Arduino. Сам модуль Bluetooth еще не пришел, поэтому "тренируюсь" на коннекте с другими андроидами. Взял пример программы отсюда....
Программирование Android Узнать количество строк ListView, которое помещается в Linear Layout http://www.cyberforum.ru/android-dev/thread1819773.html
Подскажите плз. Как узнать какое целое кол-во строк listView может поместиться в Linear Layout. Если у мну такая разметка. <LinearLayout android:layout_weight="1" ...
Программирование Android Не находит файл Не могу понять, что не так в коде. Пишет, что файл не найден, хотя через файл экслорер в андроид студио он виден >>>: Error occured. java.io.FileNotFoundException: FileSend.txt: open failed: ENOENT... подробнее

Показать сообщение отдельно
талраш
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33

Парсинг Json - Программирование Android

06.10.2016, 08:30. Просмотров 324. Ответов 4
Метки (Все метки)

Здравствуйте подcкажите как сделать: нужно данные из Json засунуть в массив, чтобы его дальше передавать по активностям. Json парсится в Parse Task.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.DialogFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
 
public class MainActivity extends Activity {
 
    public static String LOG_TAG = "my_log";
    public static final String BASE_URL = "http://medkey2.youweb.su/";
    public static final String ARTICLE_URL= "api/index.php?type=catalog";
    private static final List<DataO> dataOrder = new ArrayList<DataO>();
 
    static {
        dataOrder.add(new DataO("Test", "10000"));
        dataOrder.add(new DataO("test 2", "15000"));
        dataOrder.add(new DataO("Test 3", "25000"));
        dataOrder.add(new DataO("Услуга", "12999"));
        dataOrder.add(new DataO("Рыба услуга", "39999"));
        dataOrder.add(new DataO("Просто услуга", "28500"));
    }
    private static class DataO {
        public final String name;
        public final String price;
 
        public DataO(String name, String price) {
            this.name = name;
            this.price = price;
        }
    }
 
    GridView gvMain;
    DialogFragment modal;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new ParseTask().execute();
        modal= new Dialog1();
 
        ArrayAdapter<DataO> adapter = new DataAdapter(this);
        gvMain = (GridView) findViewById(R.id.gridView1);
        gvMain.setAdapter(adapter);
        gvMain.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
                // TODO Auto-generated method stub
                modal.show(getFragmentManager(), "Dialog1");
            }
        });
    }
    private void adjustGridView() {
    }
    private class ParseTask extends AsyncTask<Void, Void, String> {
 
        HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        String resultJson = "";
 
        @Override
        protected String doInBackground(Void... params) {
            // получаем данные с внешнего ресурса
            try {
                URL url = new URL(BASE_URL+"api/index.php?type=catalog");
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();
 
                InputStream inputStream = urlConnection.getInputStream();
                StringBuffer buffer = new StringBuffer();
 
                reader = new BufferedReader(new InputStreamReader(inputStream));
 
                String line;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                }
 
                resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
        }
 
        @Override
        protected void onPostExecute(String strJson) {
            super.onPostExecute(strJson);
            // выводим целиком полученную json-строку
 
            JSONObject dataJsonObj = null;
 
 
            try {
                dataJsonObj = new JSONObject(strJson);
                JSONArray events = dataJsonObj.getJSONArray("events");
                for (int i = 0; i < events.length(); i++) {
                    JSONObject info = events.getJSONObject(i);
 
                    String name = info.getString("name");
                    String price = info.getString("price");
                    String id = info.getString("id");
                    String description = info.getString("description");
                    String picture = info.getString("picture");
                    DataO dataJson = new DataO(name, price);
 
 
                }
 
            } catch (JSONException e) {
                e.printStackTrace();
            }
 
        }
    }
 
    public void next(View view) {
        /*Intent intent = new Intent(Order.this, basket.class);
        startActivity(intent);
        finish();*/
    }
 
    public void onClick(View v) {
        modal.show(getFragmentManager(), "Dialog1");
    }
 
    private class DataAdapter extends ArrayAdapter<DataO> {
 
        public DataAdapter(Context context) {
            super(context,R.layout.grid_item, (List<DataO>) dataOrder);
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            DataO data = getItem(position);
 
            if (convertView == null) {
                convertView = LayoutInflater.from(getContext())
                        .inflate(R.layout.grid_item, null);
            }
            ((TextView) convertView.findViewById(R.id.label))
                    .setText(data.name);
            ((TextView) convertView.findViewById(R.id.price))
                    .setText(data.price);
            return convertView;
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru