Jak automatycznie generować programy pobierające i ustawiające w Android Studio

294

Czy w Android Studio jest skrót do automatycznego generowania programów pobierających i ustawiających w danej klasie?

Ajay S.
źródło

Odpowiedzi:

522

Używając Alt+ Insertdla Windows lub Command+ Ndla Maca w edytorze, możesz łatwo wygenerować metody pobierające i ustawiające dla dowolnych pól swojej klasy. Ma to taki sam efekt, jak użycie paska menu -> Code->Generate...

wprowadź opis zdjęcia tutaj

a następnie za pomocą przycisku Shift lub Control wybierz wszystkie zmienne potrzebne do dodania pobierających i ustawiających

Ajay S.
źródło
77
W przypadku komputerów Mac to kontrola + Enter.
anita
jakakolwiek możliwość utworzenia gettera i settera, takiego jak ivar _username i getter and setter to getUsername i setUsername?
Nicolas Manzini
Na Mac Control + n
Alon Kogan
2
Dla java działa dobrze. Ale używam kotlin w Android Studio do tworzenia aplikacji. A potem jak wygenerować getter / setter jak Java?
SIVAKUMAR.J
2
jak generować pobierające i ustawiające dla klasy Kotlin
Ashik Azeez
29

Android Studio i OSx :

Naciśnij przycisk cmd+ n> Generate>Getter and Setter

Android Studio i Windows :

Naciśnij przycisk Alt+ Insert> Generate>Getter and Setter

Jorgesys
źródło
Właśnie przetestowane w systemie Windows Alt + Shift + S + R nie działa i prawy przycisk myszy nie zawiera źródła. Czy to może konfiguracja niestandardowa?
Anthea
Naprawiłem sekcję Win! :)
Jorgesys,
8

Możesz wygenerować getter i setter, wykonując następujące czynności:

  • Najpierw zadeklaruj zmienne.
  • kliknij ALT+ Insertna klawiaturze, umieszczając kursor w dół do części deklaracji zmiennej
  • teraz wybierz konstruktora i naciśnij Ctrl+ Ana klawiaturze i kliknij, Enteraby utworzyć konstruktora.
  • Teraz ponownie umieszczając kursor w następnym wierszu nawiasu zamykającego konstruktora, kliknij ALT+ INSERTi wybierz getter i setter i ponownie naciśnij CTRL+, Aaby zaznaczyć wszystkie zmienne i nacisnąć Enter.

Otóż ​​to. Miłego kodowania !!

Rushi Ayyappa
źródło
8
  • utwórz zmienną
  • kliknij prawym przyciskiem myszy
  • wybierz „Generuj”, a następnie opcję „Getter and Setter”

Kliknij prawym przyciskiem menu

Ângelo Polotto
źródło
Jakikolwiek skrót do konstruktorów Kotlin ? Alt + Ins nie pokazuje mi opcji generowania konstruktorów.
Arbaz
Próbowałeś Alt + Enter?
Ângelo Polotto
w takim razie nie wiem, co się dzieje. Czy opublikowałeś swój problem na forum Intellij?
Ângelo Polotto
Gdy znajdziesz rozwiązanie, udostępnij je tutaj.
Ângelo Polotto
8

Android Studio i Windows:

fn+ alt+insert

Obraz menu

użytkownik6696469
źródło
1
Twoje zdjęcie nie pojawiło się poprawnie w poście i nie ukończyłeś opisu zdjęcia - napis „wpisz opis zdjęcia tutaj”.
LordWilmore,
6

Ustaw kursor pod zmiennymi -> kliknij prawym przyciskiem myszy -> Wygeneruj -> Getter and Setter -> Wybierz zmienne, aby uzyskać i ustawić

lub

Alt + Insert -> Getter and Setter -> Wybierz zmienne

Dziecko
źródło
Pytanie brzmiało, czy możliwe jest generowanie programów pobierających i ustawiających za pomocą jednego skrótu, więc nie można znaleźć tej opcji w menu.
R Pelzer
Nie zrozumiałem. Alt + Insert -> Getter and Setter -> Wybierz zmienne
Baby
5

Jak zauważono tutaj , można również dostosować generowanie gettera / settera tak, aby uwzględniało prefiksy i sufiksy (np. M np. Zmienne). Idź do File->Settingsi rozwiń Code Style, wybierz Javai dodaj swoje prefiksy / sufiksy w Code Generationzakładce.

Shane Spoor
źródło
4

Możesz użyć AndroidAccessorswtyczki Android Studiodo generowania gettera i settera bez m jako prefiksu metod

Np .: MD; Wygeneruje getId()i setId()zamiast getmId()isetmId()

zrzut ekranu wtyczki

Zimna fuzja
źródło
4

Ta odpowiedź dotyczy twojego pytania, ale nie jest do końca odpowiedzią na to pytanie . =) To interesująca biblioteka, którą ostatnio odkryłem i chcę się z tobą podzielić.


Projekt Lombok może generować typowych metod, takich jak pochłaniacze, ustawiaczy, equals()i hashCode(), toString()dla swoich klas automatycznie. Zastępuje je adnotacjami zmniejszającymi kod bojlera. Aby zobaczyć dobry przykład kodu napisanego przy użyciu Lombok, obejrzyj film na stronie głównej lub przeczytaj ten artykuł .

Tworzenie Androida na Lombok jest łatwe i nie spowoduje, że aplikacja na Androida stanie się „cięższa”, ponieważ Lombok jest biblioteką przeznaczoną wyłącznie do kompilacji. Ważne jest prawidłowe skonfigurowanie projektu Androida.

Inny przykład:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

Możliwe jest tworzenie Androida z Lombok. Lombok powinien być zależny tylko od czasu kompilacji, ponieważ w przeciwnym razie cały plik Lombok trafi do plików DEX, marnując cenne miejsce. Fragment kodu:

dependencies {
    compileOnly "org.projectlombok:lombok:1.16.18"
}

Ponadto możesz dodać wtyczkę IntelliJ Lombok, aby wspierać funkcje Lombok w twoim IDE w czasie programowania. Istnieje również biblioteka Hrisey oparta na Lombok. Mówiąc najprościej, jest to wsparcie Lombok + do paczek.

naXa
źródło
1
Niestety Project Lombok psuje się w projektach bibliotek Androida. W tej chwili jest to zawodne.
IgorGanapolsky
1
@IgorGanapolsky jakiś dowód?
Artem Novikov,
1
@IgorGanapolsky Project Lombok działa dobrze z systemem Android. Zobacz przewodnik instalacji .
naXa
3

Użyj Ctrl+ Enterna Macu, aby uzyskać listę opcji do generowania settera, gettera, konstruktora itp

wprowadź opis zdjęcia tutaj

Naga Mallesh Maddali
źródło
2

użyj kodu => wygeneruj => okno dialogowe getter () i setter (), wybierz wszystkie zmienne, wygeneruj jednocześnie wszystkie metody getter (), setter ().

xiaoyifang
źródło
1

Kolejny zabawny sposób

Wpisz nazwę parametru w dowolnym miejscu w obiekcie po definicji, zobaczysz setter i getter, wystarczy wybrać i kliknąć enter :)

Próbowałem z Android Studio 2.3

Kadir Erturk
źródło
-1

Kliknij prawym przyciskiem myszy, Editora następnie wybierz Source -> Generate Getters and Setterslub naciśnij Alt+ Shift+S wprowadź opis zdjęcia tutaj

haszysz
źródło
2
To jest Eclipse. Poprosił o Android Studio.
WannaGetHigh
-2

Na wypadek, gdyby ktoś pracował z Eclipse

System operacyjny Windows 8.1 | Zaćmienie Idle Luna

Zadeklaruj zmienną najwyższego poziomu private String usernameZaćmienie uprzejmie wygeneruj ostrzeżenie po lewej stronie ekranu, kliknij to ostrzeżenie i pojawi się kilka sugestii, a następnie wybierz generuj.wprowadź opis zdjęcia tutaj

Jonathan Caceres Romero
źródło
1
Pytanie skierowano do Android Studio, a nie zaćmienia
Alberto M