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?

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


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


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 !!


8
  • utwórz zmienną
  • kliknij prawym przyciskiem myszy
  • wybierz „Generuj”, a następnie opcję „Getter and Setter”

Kliknij prawym przyciskiem menu


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


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


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.


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


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.


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


2

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


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


-1

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


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


1
Pytanie skierowano do Android Studio, a nie zaćmienia
Alberto M
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.