Jak zaczac pisac programy na WM6.1 do samsung i900 omnia

  • 5 Odpowiedzi
  • 6794 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline heath

  • 36
Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« dnia: Sierpień 20, 2009, 12:05:03 »
Zdenerwowalem sie i stwierdzilem ze zrobie w miare przystepna kopie manili przy pomocy homescreen++ w rozdzialce dla omni.

No tak ale od checi do efektow daleko:D Zmodyfikowalem dolny slider na identyczny jak ma manila, tytuly ekranow tez mam takie jak w manili:D ale problem z aplikacjami do obsluci maili,kalendarza itp

Jestem programista wiec nauczenie sie nowego frmeworku nie powinno byc az takie trudne wiec postanowilem sam dopisac na poczatek program do obslugi kontaktow taki jak w manili ale nie mam na razie zielonego pojecia jak pisac programy na WM6.1

Znacie moze jakiegos eBooka albo strone z tutorialami??? Moze samo mozecie mi podpowiedziec jak zaczac? Wygooglalem ze musze miec VisualStudio min 2005 ale miscro$hit nie udostepnia tego za free. Jakis downloadzik;) ???

Odp: Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« Odpowiedź #1 dnia: Sierpień 20, 2009, 17:41:23 »
Jeśli chodzi o środowisko, to obsługa urządzeń mobilnych jest wspierana od wersji VS2005 Standard lub VS 2008 Professional. Obie wersje nie są darmowe, jednak wydaje mi się, że na początek warto spróbować z wersją trial. Do tego będzie Ci potrzebne odpowiednie SDK, które również jest do pobrania ze strony Microsoftu.
Jeśli chodzi o samo programowanie, to są dwa podejścia do tego tematu:
- niezarządzalne (WinAPI);
- zarządzalne (.NET Compact Framework).
Co początków z platformą Windows Mobile w wydaniu zarządzalnym, to polecam książkę "Microsoft Mobile Development Handbook" (http://www.microsoft.com/MSPress/books/authors/auth10294.aspx), oraz stronę http://msdn.microsoft.com/en-us/windowsmobile/default.aspx
Na początku w szczególności przydatne mogą być video tutoriale z serii "How do I?":
http://msdn.microsoft.com/en-us/windowsmobile/bb495180.aspx

 

*

Offline heath

  • 36
Odp: Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« Odpowiedź #2 dnia: Sierpień 20, 2009, 23:43:44 »
wielkie dzieki.

a co znaczy zarzadzalne i niezarzadzalne?

ktora metoda mozna pisac pluginy today?

Odp: Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« Odpowiedź #3 dnia: Sierpień 21, 2009, 10:09:33 »
Oba podejścia różnią się między sobą w sposobie zarządzania pamięcią. W skrócie, to w kodzie zarządzalnym nie martwisz się o to kiedy zostanie zwolniona pamięć, która wcześniej została przez Ciebie zaalokowana. Tym zajmuje się Garbage Collector. Natomiast w kodzie niezarządzalnym to programista jawnie alokuje pamięć (operator new, calloc) i musi ją zwolnić (operator delete, free).
Dodatkowo pisząc kod zarządzalny (VB, C#, C++) mamy do dyspozycji bardzo obszerny zestaw klas i komponentów (.NET CF), które można w łatwy i szybki sposób wykorzystywać. Natomiast w kodzie niezarządzalnym (głównie C++) większość rzeczy musimy robić samodzielnie przy użyciu WinAPI. Osobiście wydaje mi się, że pisanie w .NET CF jest znacznie bardziej przyjemne, efektywne i efektowne. Oczywiście z poziomu kodu zarządzalnego można odwoływać się do kodu natywnego (WinAPI) przy użyciu PInvoke.Więcej na temat różnic i korzyści z wykorzystania każdej z technologii  można znaleźć na stronie MSDN lub innych dotyczących tej tematyki.

Co do samych pluginów dla today screen'a, to pisze się je głównie w kodzie niezarządzalnym, czyli przy użyciu WinAPI. Przykład takiego prostego pluginu można znaleźć po zainstalowaniu SDK dla Windows Mobile w katalogu:
\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\memwatcher\
Projektu ten może posłużyć jako szablon do własnego projektu plugina.

Istnieje również sposób na stworzenie plugina w kodzie zarządzalnym i można o tym przeczytać w artykule na MSDN (http://msdn.microsoft.com/en-us/library/ms839442.aspx). Osobiście jednak z tej metody nie korzystałem.

*

Offline heath

  • 36
Odp: Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« Odpowiedź #4 dnia: Sierpień 24, 2009, 01:19:57 »
Wielkie dzieki!!! o to mi wlasnie chodzilo.

Pisze w Javie wiec C# wyglada dla mnie bardziej przyjaznie:) C++ znam ogolnie ale sposob nazywania i wykorzytania klas w c++ mnie troche denerwouje:( Taki malo przyajzny oku.

Najpierw wybrobuje c++ a potem c# i zobacze w czym sie fajnie pisze te luginy. Chce dopisac jakis pzyjazny palcu plugin do kontaktow, kalendarza a potem zstanowie sie z czego jeszcze korzystam z narzedzi windowsowych i zrobie do tego interfejs obslugiwany palcem. Wiem ze sa fajne kalendarze pod palec ale nie ma wersji pluginu today a ja chce rozszerzyc homescreen++

Jeszcze jedno male pytanko, wiesz jak latwo zrobic taki motyw zebym w takim pluginie mial tlo przezroczyste ktore pokazuje tapete z windy w miejscu gdzie nic sam nie narysuje?

PS: Porazka w Visual studio: trzeba zainstalowac na C:... a ja mam tam tylko 17GB i calosc zajeta przez progrmy ktore must have:(

*

Offline miba

  • *****
  • 4050
  • Płeć: Mężczyzna
  • Sprzęt: Toshiba G900, doszedł x51v
Odp: Jak zaczac pisac programy na WM6.1 do samsung i900 omnia
« Odpowiedź #5 dnia: Sierpień 24, 2009, 10:53:31 »
Nie za bardzo rozumiem o co Ci chodzi z tymi "sposobami nazywania i wykorzystywania klas" Akurat to jest w obu językach podobne i polemizowałbym czy jamnikowe nazwy z C# i javy są lepsze od przestrzeni nazw w C++. Kompilator C++ generuje natywny kod procesora - w C# kod pośredni, podawany interpretacji podczas wykonania. Może i "kompilacja w locie" trochę zasypuje tę przepaść, ale nigdy efektywność takiego kodu nie pobije kompilatora c++. Druga rzecz - kod zarządzalny wymaga załadowania środowiska wykonawczego do przestrzeni adresowej aplikacji, co trochę pamięci zabiera i czasu przy starcie. Jeśli jednak net masz w sekcji xip wgranego WM to nie powinno to specjalnie rzutować ( inicjalizacja ) na szybkość.
Wracając do wtyczek - interfejs wtyczek do today został zaprojektowany pod języki takie jak C++ raczej niż C#. Wtyczka to po prostu dll-ka ładowana przez proces today-a na podstawie wpisów z rejestru. Musi eksportować specjalną funkcję inicjalizującą, utworzyć okienko i obsługiwać odpowiednie komunikaty. Cały kod wtyczki działa w kontekście procesy today, co oznacza m. in., że wtyczka napisana w C# wymagałaby załadowania dll-ek środowiska wykonawczego przez proces today. Co więcej - jeśli podczas wysyłania komunikatu przez today do kodu wtyczki ta ostatnia ociąga się z odpowiedzią może to "zamrozić" cały today więc wtyczka powinna być napisana odpowiednio.
Jeśli chcesz robić coś poważniejszego we wtyczce i dodatkowo programować to w C#, to możesz zawsze napisać  aplikację - serwer w C# i malutką wtyczkę - pośrednika w C++. Proponowałbym tu komunikację przez plik odwzorowany w pamięci. :)