Как правильно вытянуть данные с таблицы в интернете?
Учу Java,хочу написать типа приложение на телефон. Столкнулся с проблемой. Пытаюсь вытянуть данные с таблицы о курсах валют но в том столбце 4 значения т.е. покупка/продажа и рост/падение показателя по сравнению с предыдущим днем, автоматически я вытаскиваю все 4, но мне нужно только рост и падение. Как правильно это сделать?
public class CursApp extends AppCompatActivity {
private Document doc;
private Thread sec_thread;
private Runnable runnable;
private ListView listView;
private CustomArrayAdapter adapter;
private List<ListItemClass> arrayList;
private Calendar calend;
private SimpleDateFormat formatter;
private TextView txt_calendar_vivod;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.currency);
init();
}
private void init(){
txt_calendar_vivod = findViewById(R.id.calendar_tv);
formatter = new SimpleDateFormat("dd.MM.yyyy",Locale.ENGLISH);
String date = formatter.format(new Date());
txt_calendar_vivod.setText(date);
listView = findViewById(R.id.listview);
arrayList = new ArrayList<>();
adapter = new CustomArrayAdapter(this,R.layout.list_item_currency,arrayList,getLayoutInflater());
listView.setAdapter(adapter);
runnable = new Runnable() {
@Override
public void run() {
getWeb();
}
};
sec_thread = new Thread(runnable);
sec_thread.start();
}
private void getWeb(){
try {
doc = Jsoup.connect("https://minfin.com.ua/currency/").get();
Elements tables = doc.getElementsByTag("tbody");
Element curs_table = tables.get(0);
Elements rows_curs_table = curs_table.children();
Element dollar = rows_curs_table.get(0);
Elements dollar_element = dollar.children();
Log.d("MyLog","Tbody size " + curs_table.children().get(0).text() );
for (int i = 0; i <curs_table.children().size() ; i++) {
ListItemClass items = new ListItemClass();
items.setData_1(curs_table.children().get(i).child(0).text());
// items.setData_2(curs_table.children().get(i).child(1).text().substring(0,5).concat(" / ").concat(curs_table.children().get(i).child(1).text().substring(22,27)));
items.setData_2(curs_table.children().get(i).child(1).text());
items.setData_3(curs_table.children().get(i).child(2).child(0).text().substring(0,6));
items.setData_4(curs_table.children().get(i).child(3).text());
arrayList.add(items);
}
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}
[![На скрине выделено то что мне нужно взять, а под этими данными еще то что вытаскивается автоматом, как избавиться от этого?][1]][1]
Ответы (1 шт):
Автор решения: Вадим Киричук
→ Ссылка
проблема решила путем изменения команды .text() на команду .ownText(), только вытягивает без разделителя, поэтому писал цикл на поиск пробела в строке и туда установил разделитель