Kilka pytań początkującego

0

Cześć

Mam kilka pytań. Jestem programistą Delphi, z Javą mam kontakt z doskoku. Wiem że google moim przyjacielem jest - ale jakby tak jakaś uprzejma duszyczka napisała mi po polsku jak krowie na rowie to będę zobowiązany (P.S. pytania dotyczą przygody z androidem).

  1. Jest taka klasa AsyncTask w której zwykle przepisuje się metodę:

protected String doInBackground(String... args)

co oznacza taki zapis parametrów z tymi trzema kropkami ? Jak się do nich odwołać ?

  1. Jeśli w definicji klasy

    class LoadData extends AsyncTask<String, String, String> {

użyję czegoś innego niż String, to w tym doInBackground też muszę to zmienić ? Co w zasadzie oznacza ten zapis - że definiuję klasę dziedziczącą po klasie parametrycznej, skonkretyzowanej z trzema parametrami typu String ?

  1. Wielowątkowość. Zakładając że klasa LoadData (pkt 2) jest wewnętrzną klasą innej klasy to czy w ciele metody doInBackground() mogę odwoływać się bezpośrednio do pól tej nadrzędnej klasy i nimi manimupować (zmieniać wartości) ? Czy to jest bezpieczne ?

  2. cd. Czy takie rozwiązanie:

     protected void onPreExecute() {
         super.onPreExecute();
         pDialog = new ProgressDialog(TestActivity.this);
         pDialog.setMessage("Wczytywanie danych ...");
         pDialog.setIndeterminate(false);
         pDialog.setCancelable(false);
         pDialog.show();
     }
    

jest w porządku ? Czy można tworzyć z poziomu wątku okna dialogowe ?

  1. Czy w Javie funkcjonuje coś jak konstruktor kopiujący ? Chodzi mi o sytuację, że prezkazuję do jakiejś metody jakis obiekt bez żadnych modyfikatorów - nie wiem czy jest jakiś odpowiednik & - w każdym razie czy wtedy powstaje kopia obiektu ?

Z góry dziękuję za cierpliwość.
b

0
  1. Oznacza to , że metoda przyjmuje dowolną ilość argumentów, każdy jest typu String. Można się do nich odwołać tak
for(arg:args)
{
...
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1