V dalším dílu našeho seriálu na téma Xamarin se pustíme do představení struktury Android projektu, která je od iOS zcela odlišná.
Xamarin: Struktura Android projektu (díl 5)
Android projekt je opět součástí celého solutionu, stejně jako v případě iOS. Opět jsou zde k dispozici známé položky z iOS projektu Properties a References. A ani jejich struktura se příliš neliší. Properties obsahuje soubor AssemblyInfo s matadaty a verzí projektu. Navíc je v něm tzv. AndroidManifest. Tento soubor má obdobnou funkci jako Info.plist v iOS. Je v něm definice verze aplikace, permissions pro přístup k různým senzorům, aplikačním ikonám apod. V rámci References jsou k dispozici lokální knihovny, projekty a nuget balíčky k projektu.
Resources
Složka obsahující složky s definici UI. To zahrnuje layouty, obrázky, definice barev atd. (veškeré definice jsou napsané v XML). Google zvolil pro rozdělení pro různé definice zobrazení rozšířené názvy složek. Jako příklad bych uvedl složky pro definice ikonek:
- drawable
- drawable-mdpi
- drawable-hdpi
- drawable-xhdpi
Definice všech složek:
- Drawable – složka obsahující obrázky. Protože Android podporuje několik druhů displejů, je nutné obrázky připravit pro různá rozlišení.
- Layout – definice layoutů obrazovek
- Colors – složka s definicí barev
- Arrays – definice statických polí např. pro preferences
- Values – složka obsahující definice jazykových stringů
Kromě těchto složek a jejich souborů je zde vidět i soubor Resource.Designer, který automaticky přiřazuje definovaným resourcům identifikátor. Pokud se identifikátor automaticky nepřiřadí, je potřeba REBUILD projektu.
Ostatní
Ostatní soubory jsou tvořené už jen .cs soubory. Například MainActivity, která definuje logiku základní obrazovku v Androidu. Stejně jako v iOS je zde přítomná i obrazovka s komponenty.
Další krok
V dalším díle se podíváme na principy psaní společného kódu.
Předchozí díly seriálu:
Xamarin: Struktura iOS projektu (díl 4)
Xamarin: Hello world ve Visual Studiu (díl 3)
Xamarin: Představujeme nástroj pro multiplatformní vývoj mobilních aplikací (díl 1)