4. O Mnie
• Nazywam się Andrzej Piotrowski aka Sir Anen
• Jestem po Rolnictwie – Kadży orze jak Może
• Pracowałem dla Credit Swiss, Viessmann R&D czy
IBM’ie + Agencje Kreatwyne – Wrocław
• Przeprowadze dla was wstęp techniczny
• Czemu nikt mi za to nie płaci
• Wiem że Umiem – Ty też to Umiesz (siła woli)
• Zaczynamy przygode – pytanie to ręka w górę
5. Agenda
• Xamarin – Z czym sie to wiąże w Mobile
• Android – Jak wygląda praca z Nim
• Android Design Patterns – Budujemy z głową i dla ludzi
a nie dla własnego dobra (community)
• Google Play – Jak to wygląda od strony Dev
• Xamarin Android Aplikacja - Przygoda
• Zadanie domowe - Rozdzielenie
• Ustalenie współpracy ze mną
6. XAMARIN?
“The best damn mobile team,
building the best damn mobile platform.”
MY TEŻ TAK MOŻEMY
7. Mono?
•
•
“The Mono runtime contains a code execution engine that
translates ECMA CIL byte codes into native code and
supports a number of processors: ARM, MIPS SPARC,
PowerPC, S390 , x86, x86-64 and IA-64 for 64-bit modes.”
•
• Windows
Mono 1.0 was released on June 30,
2004
Runs on Linux, OSX, Windows, PS3,
XBox 360, Wii
Phone 7 i 8 + Android + iOS
8. Jak działa Mono?
Pamiętajmy o
certyfikacji :
Apple ma duże
restrykcje
Pamiętajmy o
certyfikacji :
Google ma duże
możliwości
Pamiętajmy o certyfikacji : Windows ma duże
pretensje że wógle coś wrzucasz na Sklep
9. Struktura - Core
Piszemy tylko kod (core code) RAZ, możemy skupić na
dopasowawniu do UI danego systemu operacyjnego.
14. Komponenty Androida czyli
jak żyć na Google Play
Omówienie zasad projektowania od zera javy do .net
codera. Android to jakieś 11000 urządzeń do wsparcia.
Obecnie jest wersja APK 19 – my piszemy od APK 11.
15. Architecture of Android
Applications
Application Framework
Libraries
Android Runtime
Linux Kernel
Android Runtime
Libraries
Linux Kernel
• Dalvik Virtual machine
Application Framework
Applications
C/C++ Libraries
• Work asfile (Hardware Abstraction Layer)
• .dex HAL
• API Interface application
Built in and User
Interface through Java
• Device Drivers Efficient
• Compact and
• Activity manager.apk files
Can install using
• Limited memory & Power
Handling User Interface
• memory management
• Content ->Phone-> .jar ->WeChat, Web Browser,
Providers
Example: .class Dialer, .dex
• .java
2D/3D Management
• ProcessGraphics others
Hello Android or
• Location Manager etc
• Core LibrariesBrowser Engine, SQLite
Media Acces,
Networking
•
Java Standard Edition
32. Pro tip: need for speed
You can specify hardware acceleration for the app or for
specific activities.
http://developer.android.com/guide/topics/graphics/hard
ware-accel.html
42. layouts for orientations
By creating a directory “layout-land,” Activities will use
this as content when orientation changes.
http://docs.xamarin.com/guides/android/application_fund
amentals/handling_rotation/
43. layouts for screen sizes
“layout-large” is for Android apps below API-13, “layoutswXXXdp” is for 13 and above.
50. Units of measure
px
Pixels - corresponds to actual pixels on the screen.
in
Inches - based on the physical size of the screen.
mm
Millimeters - based on the physical size of the screen.
pt
Points - 1/72 of an inch based on the physical size of the screen.
dp
Density-independent Pixels - an abstract unit that is based on the physical density of the screen. These units are
relative to a 160 dpi screen
80. - Android SDK w Xamarinie nie jest specialnie
trudny ale trzeba mieć background z
aplikacjami – dobrze znać ADB.
- Ilość urządzeń do przetestowania – o matkoale da się dzięki usługą (TestCloud) czy
(TestDroid)
- Emulatory są do bani. Testować na
urządzeniu bo nakładki.
- Planować z głową swoj LayoutUX/Design
Programoanie to nie tylko czysty kod – to też interface / grafiki / sposoby interakcji.
Pokazanie projektu MWC – omówienie co to jest – jak działa i dlaczego korzystamy z gotowca
Wytłumaczyć poszczególne pola
Różnica pomiędzy minium android version a target (packagename)
Omoiwc android:smallScreensIndicates whether the application supports smaller screen form-factors. A small screen is defined as one with a smaller aspect ratio than the "normal" (traditional HVGA) screen. An application that does not support small screens will not be available for small screen devices from external services (such as Google Play), because there is little the platform can do to make such an application work on a smaller screen. This is "true" by default.android:normalScreensIndicates whether an application supports the "normal" screen form-factors. Traditionally this is an HVGA medium density screen, but WQVGA low density and WVGA high density are also considered to be normal. This attribute is "true" by default.android:largeScreensIndicates whether the application supports larger screen form-factors. A large screen is defined as a screen that is significantly larger than a "normal" handset screen, and thus might require some special care on the application's part to make good use of it, though it may rely on resizing by the system to fill the screen.android:xlargeScreensIndicates whether the application supports extra large screen form-factors. An xlarge screen is defined as a screen that is significantly larger than a "large" screen, such as a tablet (or something larger) and may require special care on the application's part to make good use of it, though it may rely on resizing by the system to fill the screen.
Beginning in Android 3.0 (API level 11), the Android 2D rendering pipeline supports hardware acceleration, meaning that all drawing operations that are performed on a View's canvas use the GPU. Because of the increased resources required to enable hardware acceleration, your app will consume more RAM.Hardware acceleration is enabled by default if your Target API level is >=14, but can also be explicitly enabled. If your application uses only standard views and Drawables, turning it on globally should not cause any adverse drawing effects. However, because hardware acceleration is not supported for all of the 2D drawing operations, turning it on might affect some of your custom views or drawing calls. Problems usually manifest themselves as invisible elements, exceptions, or wrongly rendered pixels. To remedy this, Android gives you the option to enable or disable hardware acceleration at multiple levels. See Controlling Hardware Acceleration.
Masa możliwości dla danej aktywności – coś jak properties ale inaczej interpertowane
Mowa o aktywnościach – co to jest i dlaczego istnieją
Bardzo ważne !!!!
Jak się z tego korzysta w Xamarin
Teraz czas na pytania o coś – powrot do jakiegoś slajdu