Reputation: 1
Its my first program in java. Im writing simple application on Tablet. Application connect to SQL server in my laptop and get some data. At this moment i get data from SQL when i push button.
public class ZawodnicyWyniki extends AppCompatActivity {
// Connection conn = null;
private String SQLQuery;
private Statement st = null;
private ResultSet rs = null;
private ArrayList<classWyniki> myListWyniki = new ArrayList<>();
private classWidokListaWynikow listaWynikowAdapter;
private ListView lvWyniki;
private TextView tvWybraneZawody, tvOkrazenia,tvWystartowani,tvUkonczyli;
private Thread mThread; // watek odpalajacy czytanie wynikow
final Handler handler = new Handler(); // handler do powtarzania operacji w odstepie kilku sekund
Runnable runnable;
final int delay = 2000; // czas opoznienia, 1000 milliseconds == 1 second
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_zawodnicy_wyniki);
lvWyniki = (ListView)findViewById(R.id.lvWyniki);
tvWybraneZawody = (TextView)findViewById(R.id.txtGetWybraneZawody);
tvOkrazenia = (TextView)findViewById(R.id.txtGetOkrazenia);
tvWystartowani = (TextView)findViewById(R.id.txtGetWystartowani);
tvUkonczyli = (TextView)findViewById(R.id.txtGetUkonczyli);
tvWybraneZawody.setText(UstawieniaPolaczenia.wybraneZawody.getNazwaZawodow());
tvOkrazenia.setText(UstawieniaPolaczenia.wybraneZawody.getIloscOkrazen());
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
public void WyswietlajWyniki(View view) throws SQLException { // REAKCJA NA WCISNIETY PRZYCISK // public void WyswietlajWyniki(View view) throws SQLException
try {
if (UstawieniaPolaczenia.wybraneZawody.getId() > 0 ) {
if (UstawieniaPolaczenia.polaczenieWyniki != null) {
System.out.println("myHandler: here!"); // Do your work here
SQLQuery = "Select Zawodnicy.Prefer_Start_number,Zawodnicy.imie, Zawodnicy.nazwisko, Zawodnicy.miasto, Zawodnicy.klub, CONVERT(varchar(50),Wyniki.Czas,14) as Czas, Wyniki.Lap FROM [Gepard_2].[dbo].[Runners] as Zawodnicy INNER JOIN [Gepard_2].[dbo].[ReadingTimes_Converted_Brutto] as Wyniki ON Zawodnicy.Tag_id = Wyniki.Tag_Id and Zawodnicy.zawody_id = '" + UstawieniaPolaczenia.wybraneZawody.getId() + "' and Wyniki.Lap <= '"+UstawieniaPolaczenia.wybraneZawody.getIloscOkrazen()+"'order by Wyniki.Czas desc";
st = UstawieniaPolaczenia.polaczenieWyniki.createStatement();
rs = st.executeQuery(SQLQuery);
while (rs.next()) {
classWyniki ListaWynikow = new classWyniki(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7));
myListWyniki.add(ListaWynikow);
}
listaWynikowAdapter = new classWidokListaWynikow(this, myListWyniki);
lvWyniki.setAdapter(listaWynikowAdapter);
}
}else{
Toast.makeText(getApplicationContext(), "Nie wybrano zawodów " + UstawieniaPolaczenia.wybraneZawody.getId().toString(), Toast.LENGTH_LONG).show();
}
}catch (Exception e) {
Log.e("Error", e.getMessage());
}
}
}
How can I do this using task and repiting this task. I tried to create a class and a task
Runnable myRunnable1 = new ThreadDisplayResults(); // new class
Thread t1 = new Thread(myRunnable1);
t1.start();
but I don't know how to pass the items
Upvotes: 0
Views: 38