2014-07-06 15 views
19

Używam klasy, którą serializuje w mojej aplikacji na Androida i deserializacji w mojej aplikacji Android Wear. Oba znajdują się w tym samym projekcie Android Studio i są wdrożone jako jeden.Jaka jest najlepsza metoda udostępniania zajęć między aplikacją Wear a aplikacją na Androida?

Jak mogę udostępnić klasę między dwoma bez posiadania kopii klasy w każdym pakiecie? Teraz kopiuję/wklejam to, ale czy jest jakiś sposób, aby włączyć go do obu aplikacji?

Struktura katalogu jest:

./ 
    mobile/ 
      ...src/etc 
    wear/ 
      ...src/etc 

Jak obsługiwać wspólne zajęcia?

Odpowiedz

29

Możesz utworzyć nowy moduł "Biblioteka Android" w projekcie i umieścić tam swoje wspólne klasy.

Następnie dodajemy to jako zależność zarówno od modułów Mobile i Wear (w strukturze projektu -> zależności -> Add -> zależność od modułu). W ten sposób możesz tworzyć/używać instancji tych klas z obu modułów.

+0

Tak, to zrobiło :) To wiele plików stworzonych po to, by dołączyć kilka klas między dwoma projektami. Po prostu porównuję do rozwiązania C++ w Visual Studio, gdzie dwa projekty mogą współdzielić klasę z prostym #include. W każdym razie dziękuję, to działa idealnie. –

+1

@RobinEisenberg heh, masz rację. W Javie istnieje znacznie ściślejsze powiązanie między plikami/katalogami i jednostkami kompilującymi. Jednak jako bonus, klasa powinna być skompilowana tylko raz z takim podejściem (to jest, powiedzmy, lib w C/C++). – matiash

+0

Czy możemy usunąć AndroidManifest.xml z tego modułu biblioteki? – rudakovsky

Powiązane problemy