<?xml version="1.0" encoding="windows-1250" ?>
<rss version="2.0">
<channel>
<docs>https://www.mycity.rs/Obavestenja/MyCity-RSS-feeds.html</docs>
<title>MyCity :: Programiranje aplikacija za smart uređaje</title>
<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/</link>
<description>RSS feed 'Programiranje aplikacija za smart uređaje' foruma</description>
<language>sr</language>
<ttl>15</ttl>
<lastBuildDate>Sat, 18 Apr 2026 20:41:05 +0100</lastBuildDate>
<item>
	<title>Re: Portovanje Xamarin Forms aplikacije u .NET MAUI</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Portovanje-Xamarin-Forms-aplikacije-u-NET-MAUI.html#1969686</link>
	<guid>https://www.mycity.rs/?p=1969686</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>Godinu dana je prošlo od portovanja ovog projekta u MAUI i videh pre neki dan da je MAUI 8 dobio LTS.
&lt;br /&gt;
Rekoh, taman da probam sada da konačno prebacim aplikaciju u MAUI i da isprogramiram nove mogućnosti koje sam ubacio u XF projekat u međuvremenu.
&lt;br /&gt;

&lt;br /&gt;
Portujem aplikaciju sa .NET 7 na .NET 8 i vidim da nisu ništa popravili od ovih problema na koje sam naišao. 
&lt;br /&gt;

&lt;br /&gt;
Otvorim Github i pogledam moju prijavu baga, verifikovali su da postoji bag i pomerili ga u backlog posle par meseci i tako stoji tamo. Pogledam nove prijave, milion  prijava za osnovne kontrole, pogotovo za collection view. 
&lt;br /&gt;

&lt;br /&gt;
Baciću pogled na flutter kao mogućnost za portovanje XF aplikacije...</description>
	<pubDate>Sun, 08 Sep 2024 23:17:05 +0100</pubDate>
</item>
<item>
	<title>Re: Debagovanje Android Aplikacija uz Visual Studio,  Trikovi i Saveti</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Debagovanje-Android-Aplikacija-uz-Visual-Studio-Trikovi-i-Saveti.html#1964065</link>
	<guid>https://www.mycity.rs/?p=1964065</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>Portovah svoju Xamarin Forms aplikaciju u MAUI i sačekalo me je neprijatno iznenađenje koje nije moglo tako lako da se reši.
&lt;br /&gt;

&lt;br /&gt;
Naime, kada je aplikacija pokrenuta u debugging modu iz Visual Studia, radi očekivano, bez grešaka.
&lt;br /&gt;
Isto  tako i u release modu. Kada raskačim kabl i uklonim konekciju sa Visual Studiom, radi samo u release modu. 
&lt;br /&gt;

&lt;br /&gt;
Prilikom pokretanja debugging verzije aplikacije, bez kabla, aplikacija se skrši i ne vrati nikakvu grešku.
&lt;br /&gt;

&lt;br /&gt;
Skoro je nemoguće provaliti o čemu se radi jer je ta stranica koja se učitavala došla sa gomilom koda i nemamo debugger kako bi mogli da proverimo kod, a i da imamo - prosto se greška ne dešava u  toku rada aplikacije u tom slučaju. 
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-weight: bold&quot;&gt;Catlog to the rescue!&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Visual Studio ima ugrađeni Device Log Android uređaja.
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;https://www.mycity.rs/slika.php?slika=96967_58212030_Screenshot_3.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;

&lt;br /&gt;
Vaša aplikacija i ne mora da bude pokrenuta iz Visual Studia da bi videli grešku. 
&lt;br /&gt;

&lt;br /&gt;
Jedina začkoljica je što je ovaj log konstantan za vaš operativni sistem i prijavljuje velikom brzinom sve logove celog operativnog sistema, aplikacija itd.
&lt;br /&gt;

&lt;br /&gt;
Da bi rešili ovaj problem  i  shvatili gde dolazi do pucanja aplikacije:
&lt;br /&gt;

&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt;  prvo očistimo log klikom na Clear All dugme
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt;  a zatim namerno izazovemo bag koji skrši aplikaciju.
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Ubrzo nakon toga pauziramo log, da ne bi nastavio da spamuje unose.
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Rezultat je kompletna greška sa StackTrace-om koju možemo dalje da analiziramo i pokušamo da shvatimo šta je u  našem kodu izazvalo problem.
&lt;br /&gt;

&lt;br /&gt;
Štaviše, ako imate baš ogroman log koji je opširan i ne možete da se snađete ili vam je mrsko, možete da ga prekopirate u Chat GPT i da tražite analizu, vrlo je verovatno da će kroz par sekundi uočiti problem za koji bi vam trebalo nekoliko minuta da uočite sami. 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;https://www.mycity.rs/slika.php?slika=96967_80388056_Screenshot_1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
Prvo dugme u obeleženoj grupi čisti log, drugo se koristi za pauziranje loga.</description>
	<pubDate>Fri, 30 Jun 2023 19:27:03 +0100</pubDate>
</item>
<item>
	<title>Re: Upotreba emulatora i uređaja za debug Android aplikacija [Visual Studio/Xamarin]</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Upotreba-emulatora-i-uredjaja-za-debug-Android-aplikacija-Visual-Studi.html#1948822</link>
	<guid>https://www.mycity.rs/?p=1948822</guid>
	<author>nobody@mycity.rs (mrmr)</author>
	<description>Da obnovim temu  ... Iznenadjen sam poslednjom verzijom Blue Stack 5  ,,, Po meni sve preporuke inzvanredno radi i to u full screen  rezimu ... Preporuka za gotovo sve igrice i aplikacije sa App Store Android.</description>
	<pubDate>Thu, 05 Aug 2021 18:08:37 +0100</pubDate>
</item>
<item>
	<title>Pozivanje Platform Specific koda iz zajedničkog projekta - Xamarin.Forms</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Pozivanje-Platform-Specific-koda-iz-zajednickog-projekta-Xamarin-Forms.html</link>
	<guid>https://www.mycity.rs/?p=1919509</guid>
	<author>nobody@mycity.rs (Srki94)</author>
	<description>&lt;span style=&quot;font-style: italic&quot;&gt;Tutorijal koristi primer iz ovog zvaničnog tutorijala.
&lt;br /&gt;
Ja sam imao negde svoj primer napisan, ali se zagubio. Poenta je ista, samo se  razlikuje funkcionalnost koda.
&lt;br /&gt;
&lt;/span&gt;
&lt;br /&gt;
Xamarin.Forms nam omogućava da razvijamo nativne aplikacije za iOS, Android i UWP iz jednog zajedničkog C# projekta, bez brige da li će naš kod raditi na pojedinačnim platformama.
&lt;br /&gt;

&lt;br /&gt;
Zajednički projekat sadrži interfejs i kod koji radi na svim platformama.
&lt;br /&gt;
Međutim, zajednički projekat nije svemoguć i neretko ćete biti u situaciji da morate da izvršite neki kod koji je specifičan za svaku platformu. To možete uraditi tako što ćete u pojedinačnim projektima pisati platform specific kod, koji će se izvršiti prilikom pokretanja aplikacije, pre inicijalizacije Xamarin.Forms interfejsa i njegovog koda. Odlično ako treba da izvučete neke podatke iz uređaja, recimo.
&lt;br /&gt;

&lt;br /&gt;
No, šta ako treba da pozovemo neku funkcionalnost koja nije podržana u zajedničkom projektu, u toku rada aplikacije, ili koristi kod koji se razlikuje na svakoj platformi?
&lt;br /&gt;

&lt;br /&gt;
U tom slučaju možemo da koristimo Dependency Injection, što je i tema ovog tutorijala.
&lt;br /&gt;
Nakon što isti implementiramo, imaćemo mogućnost da funkcionalnost pozovemo iz zajedničkog projekta, a naš projekat će se pobrinuti da pronađe kod i izvrši isti.
&lt;br /&gt;

&lt;br /&gt;
Postupak počinje definisanjem interfejsa u zajedničkom projektu:
&lt;br /&gt;

&lt;br /&gt;
Desni klik na zajednički projekat -&amp;gt; Add -&amp;gt; New Item &amp;gt; Interface -&amp;gt; &amp;quot;IDeviceInfo&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public interface IDeviceInfo
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; string GetUniqueIdentifier&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, ovo je klasični C# Interfejs.
&lt;br /&gt;
Sada ćemo isti implementirati na pojedinačnim platformama.
&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;Ovaj tutorijal se fokusira na iOS i Android platforme.&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Desni klik na iOS projekat -&amp;gt; Add -&amp;gt; New Item -&amp;gt; Class -&amp;gt; &amp;quot;DeviceInfo&amp;quot;
&lt;br /&gt;
Implementiramo interfejs u ovoj klasi :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;class DeviceInfo &amp;#58; IDeviceInfo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new NotImplementedException&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Sada možemo da pišemo kod koji je specifičan za iOS platformu :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return UIDevice.CurrentDevice.IdentifierForVendor.AsString&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Klasa sada izgleda ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; class DeviceInfo &amp;#58; IDeviceInfo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return UIDevice.CurrentDevice.IdentifierForVendor.AsString&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Kako imamo i Android projekat, isto ćemo uraditi i u njemu.
&lt;br /&gt;

&lt;br /&gt;
Desni klik na Android projekat -&amp;gt; Add -&amp;gt; New Item -&amp;gt; Class -&amp;gt; &amp;quot;DeviceInfo&amp;quot;
&lt;br /&gt;

&lt;br /&gt;
Postupak je apsolutno isti do koda koji je specifičan za Android platformu :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp;return Android.Provider.Settings.Secure.GetString&amp;#40;Xamarin.Forms.Forms.Context.ContentResolver,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Android.Provider.Settings.Secure.AndroidId&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Finalna klasa izgleda ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;public class DeviceInfo &amp;#58; IDeviceInfo
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Android.Provider.Settings.Secure.GetString&amp;#40;Xamarin.Forms.Forms.Context.ContentResolver,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Android.Provider.Settings.Secure.AndroidId&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Dakle, 
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Deklarisali smo interfejs u zajedničkom projektu
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Implementirali smo interfejs na svim pojedinačnim platformama
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Napisali smo nativni kod za svaku platformu
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Ostalo je još samo da registrujemo svaku klasu u pojedinačnim projektima sa Dependency Injection servisom.
&lt;br /&gt;

&lt;br /&gt;
U DeviceInfo klasi iOS i Android projekta, iznad Namespacea dodajemo :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;#91;assembly&amp;#58; Xamarin.Forms.Dependency&amp;#40;typeof&amp;#40;DeviceInfo&amp;#41;&amp;#41;&amp;#93;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Na kraju, ovako izgledaju obe klase :
&lt;br /&gt;

&lt;br /&gt;
Android :
&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;

&lt;br /&gt;
using Android.App;
&lt;br /&gt;
using Android.Content;
&lt;br /&gt;
using Android.OS;
&lt;br /&gt;
using Android.Runtime;
&lt;br /&gt;
using Android.Views;
&lt;br /&gt;
using Android.Widget;
&lt;br /&gt;
using MCTutorialDI.Droid;
&lt;br /&gt;

&lt;br /&gt;
&amp;#91;assembly&amp;#58; Xamarin.Forms.Dependency&amp;#40;typeof&amp;#40;DeviceInfo&amp;#41;&amp;#41;&amp;#93;
&lt;br /&gt;
namespace MCTutorialDI.Droid
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class DeviceInfo &amp;#58; IDeviceInfo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Android.Provider.Settings.Secure.GetString&amp;#40;Xamarin.Forms.Forms.Context.ContentResolver,
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Android.Provider.Settings.Secure.AndroidId&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
iOS:
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;using System;
&lt;br /&gt;
using System.Collections.Generic;
&lt;br /&gt;
using System.Linq;
&lt;br /&gt;
using System.Text;
&lt;br /&gt;

&lt;br /&gt;
using Foundation;
&lt;br /&gt;
using MCTutorialDI.iOS;
&lt;br /&gt;
using UIKit;
&lt;br /&gt;

&lt;br /&gt;
&amp;#91;assembly&amp;#58; Xamarin.Forms.Dependency&amp;#40;typeof&amp;#40;DeviceInfo&amp;#41;&amp;#41;&amp;#93;
&lt;br /&gt;
namespace MCTutorialDI.iOS
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class DeviceInfo &amp;#58; IDeviceInfo
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public string GetUniqueIdentifier&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return UIDevice.CurrentDevice.IdentifierForVendor.AsString&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Samim tim, implementacija je gotova i možemo je jednostavno pozvati jednom linijom iz našeg zajedničkog projekta ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;DependencyService.Get&amp;lt;IDeviceInfo&amp;gt;&amp;#40;&amp;#41;.GetUniqueIdentifier&amp;#40;&amp;#41;;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Hajmo čas jedan brz primer upotrebe ovog koda iznad :
&lt;br /&gt;

&lt;br /&gt;
Izmenićemo MainPage naše aplikacije, tako da sadrži jedno dugme i Label.
&lt;br /&gt;
Pritiskom dugmeta će se ispisati povratna informacija iz Native koda na specifičnoj platformi.
&lt;br /&gt;

&lt;br /&gt;
Dvoklik na MainPage.xaml u deljenom zajedničkom projektu, i dodajemo StackLayout koji sadrži Label i Button kontrole :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;StackLayout&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Place new controls here --&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Label x&amp;#58;Name=&amp;quot;lblDeviceInfo&amp;quot; Text=&amp;quot;Tap on the button bellow to get Device Info!&amp;quot; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HorizontalOptions=&amp;quot;Center&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;VerticalOptions=&amp;quot;CenterAndExpand&amp;quot; /&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Button Clicked=&amp;quot;Button_Clicked&amp;quot; Text=&amp;quot;Get Device Info&amp;quot;/&amp;gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/StackLayout&amp;gt;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Obratiti pažnju:
&lt;br /&gt;
&lt;span class=&quot;ulist&quot;&gt;&lt;span class=&quot;empty_span&quot;&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Dali smo ime Label kontroli jer ćemo modifikovati njen tekst iz koda
&lt;br /&gt;
&lt;/span&gt;&lt;span class=&quot;listitem&quot;&gt; Prilikom pravljenja dugmeta smo mu dodelili Click callback, koji je automatski kreiran u kodu stranice
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
Sačuvajte stranicu.
&lt;br /&gt;
Kliknite na strelicu pored MainPage.xaml, kako bi proširili njen sadržaj a zatim dvoklikom otvorite MainPage.xaml.cs.
&lt;br /&gt;

&lt;br /&gt;
&lt;span style=&quot;font-style: italic&quot;&gt;MainPage.xaml sadrži kod koji deklariše Interfejs.
&lt;br /&gt;
MainPage.xaml.cs sadrži kod koji kontroliše interfejs i sve ostalo na toj stranici ili u aplikaciji.
&lt;br /&gt;
&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
U Clicked eventu dugmeta, koji je xaml trebao sam da napravi prilikom pisanja koda ako ste kliknuli na ponuđenu opciju, pišemo kod od ranije, s tim što ćemo odmah vrednost Text vrednost Label kontrole staviti na povratnu vrednost GetUniqueIdentifier-a :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;&amp;nbsp; &amp;nbsp; private void Button_Clicked&amp;#40;object sender, EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lblDeviceInfo.Text = DependencyService.Get&amp;lt;IDeviceInfo&amp;gt;&amp;#40;&amp;#41;.GetUniqueIdentifier&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Cela klasa izgleda ovako :
&lt;br /&gt;

&lt;br /&gt;
&lt;code class=&quot;highlight&quot;&gt;namespace MCTutorialDI
&lt;br /&gt;
&amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // Learn more about making custom code visible in the Xamarin.Forms previewer
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // by visiting https&amp;#58;//aka.ms/xamarinforms-previewer
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#91;DesignTimeVisible&amp;#40;true&amp;#41;&amp;#93;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public partial class MainPage &amp;#58; ContentPage
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public MainPage&amp;#40;&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Button_Clicked&amp;#40;object sender, EventArgs e&amp;#41;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lblDeviceInfo.Text = DependencyService.Get&amp;lt;IDeviceInfo&amp;gt;&amp;#40;&amp;#41;.GetUniqueIdentifier&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;#125;
&lt;br /&gt;
&lt;/code&gt;
&lt;br /&gt;

&lt;br /&gt;
Pokrenite aplikaciju na svakom projektu pojedinačno i pipnite dugme.
&lt;br /&gt;

&lt;br /&gt;
U toku razvoja aplikacija ćete često morati da pišete platform specific kod.
&lt;br /&gt;
Ako se zaglavite i niste sigurni šta i kako, bacite pogled na dokumentaciju za razvijanje aplikacija na Androidu, iOS-u. Bez obzira što je kod drugačiji i koristi drugi jezik, većina koda je &amp;quot;prevedena&amp;quot; u C# isto, tako da uz malo iskustva sa C#, malo guglanja i istraživanja, svaki nativni kod može da se prilagodi Xamarinu. 
&lt;br /&gt;

&lt;br /&gt;
Ja sam konkretno koristio DI da pokupim informacije o kalendarima i korisnicima na Androidu i iOS-u. Obe platforme su imale svoj način na koji su obrađivale te podatke i to se u potpunosti razlikovalo. Mnogo mi je pomogla Android i iOS dokumentacija jer Xamarin i nije baš imao mnogo primera za ono što je meni bilo potrebno.
&lt;br /&gt;

&lt;br /&gt;
Ja sam još te podatke uvezao u Static klasu u zajedničkom projektu, tako da su mi uvek bili tu na raspolaganju za obradu. Nativni projekti već imaju pristup zajedničkom projektu, pa u većini slučajeva izvršenje koda prilikom pokretanja na platformi može da reši problem.</description>
	<pubDate>Fri, 19 Jul 2019 10:00:01 +0100</pubDate>
</item>
<item>
	<title>MIT APP INVERTOR</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/MIT-APP-INVERTOR.html</link>
	<guid>https://www.mycity.rs/?p=1903541</guid>
	<author>nobody@mycity.rs (robocab)</author>
	<description>Pozdrav svima, zeleo bih da napravim aplikaciju koja bi bila najprostija moguca odnosno kad se udje da ima slajder sa ponudjenim opcijama i ispod dugme slikaj. Kad se iz slajdera izabere odredjena opcija, tacnije ne mora slajder moze i padajuca lista ( jos bolje) iz liste se izabere tipa smajli 2 i pritisne se slikaj otvara se kamera sa smajlijem vec prelepljenim preko slike 
&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;https://www.mycity.rs/slika.php?slika=80869_768952145_prmr1.jpg&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; tipa ovako nesto ovo sam sklepao  na brzinu samo da pokazem sta zelim i da nakon pritiska dugmeta za slikanje napravljena slika nudi opciju save i share
&lt;br /&gt;

&lt;br /&gt;
E sad moje pitanje jeste da li to moze da se napravi u &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; ?
&lt;br /&gt;
Cuo sam da je za tako nesto potrebno 15 minuta iskusnom nekom, sto se mene tice ja sam vise ideolog nego realizator pa sam hteo da pitam da li mislite da mi treba mnogo muke da tako nesto napravim ili mogu ocas posla &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
I hteo sam da pitam kako se zove na engleskom takva aplikacija posto sam siguran da ih ima milion pa ne bih li mogao neki tutorijal da nadjem</description>
	<pubDate>Tue, 25 Sep 2018 20:40:31 +0100</pubDate>
</item>
<item>
	<title>Re: Pomoć/savet oko uvoda u Android programiranje</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Pomoc-savet-oko-uvoda-u-Android-programiranje.html#1891328</link>
	<guid>https://www.mycity.rs/?p=1891328</guid>
	<author>nobody@mycity.rs (suca41)</author>
	<description>&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;vasa.93 ::&lt;/span&gt;Ja bih rekao da je zvanični Android Developer Guide sasvim dovoljan za početak: &lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt; Istina, guide nije nešto preopširan, ali ima dosta linkova sa objašnjenjima za neke fundamentalne koncepte, a zatim ima i linkova ka tutorijalima i online kursevima. Smatram da je to dovoljno za početak ako već znaš i razumeš neke osnove programiranja. Nisam ni protivnik kupovine knjige, ali imaj na umu sledeće stvari:
&lt;br /&gt;
 - Kupovina knjige ti ne garantuje da ćeš bilo šta naučiti odatle. O'Reilly je ozbiljna izdavačka kuća i njihov materijal jeste kvalitetan, ali je to ipak 20€ koje u ovoj ili nekoj kasnijoj fazi možda možeš bolje da uložiš, jer, osim što je to u knjizi verovatno vrlo dobro sažeto, sumnjam da tu postoji nešto od informacija što ti već nije dostupno na internetu.
&lt;br /&gt;
 - Android vrlo brzo napreduje i njihov API se relativno često menja. Na internetu možeš uvek naći svežu informaciju, dok sa knjigom to nije slučaj.
&lt;br /&gt;

&lt;br /&gt;
Kako god, uz dovoljno odlučnosti bilo kakav prvi korak može da te istera na dobar put. &lt;img src=&quot;https://www.mycity.rs/images/smiles/icon_smile.gif&quot; alt=&quot;Smile&quot; border=&quot;0&quot; /&gt;&lt;/cite&gt;
&lt;br /&gt;
Zahvaljujem Vam se na kvalitetnom i opširnom odgovoru. &lt;img src=&quot;https://www.mycity.rs/images/smiles/beer.gif&quot; alt=&quot;Ziveli&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Wed, 11 Jul 2018 11:40:14 +0100</pubDate>
</item>
<item>
	<title>Kako ubaciti reklame (ads) u android aplikaciju</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Kako-ubaciti-reklame-ads-u-android-aplikaciju.html</link>
	<guid>https://www.mycity.rs/?p=1884225</guid>
	<author>nobody@mycity.rs (amar54k)</author>
	<description>Može li neko da mi pomogne kako ili da mi sam uključi opciju da se reklame prikazuju na mojim android aplikacijama ?</description>
	<pubDate>Fri, 09 Feb 2018 20:32:28 +0100</pubDate>
</item>
<item>
	<title>Re: Pomoć oko programiranja android aplikacije</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Pomoc-oko-programiranja-android-aplikacije_2.html#1870684</link>
	<guid>https://www.mycity.rs/?p=1870684</guid>
	<author>nobody@mycity.rs (amar54k)</author>
	<description>Napravio sam dugme, ali ima još mnogo toga da naštimam. Mnogo je teže programirati za android.
&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Thu, 27 Jul 2017 18:17:43 +0100</pubDate>
</item>
<item>
	<title>Re: Kako pokrenuti python programe?</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Kako-pokrenuti-python-programe.html#1869445</link>
	<guid>https://www.mycity.rs/?p=1869445</guid>
	<author>nobody@mycity.rs (Ričard)</author>
	<description>Kod mene Android aplikacija radi. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;a href=&quot;https://www.mycity.rs/slika.php?slika=55259_62487992_Screenshot_20170710-203517.png&quot; target=&quot;_blank&quot; class=&quot;postlink&quot;&gt;&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 10 Jul 2017 19:36:56 +0100</pubDate>
</item>
<item>
	<title>SWIFT Novi Sad</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/SWIFT-Novi-Sad.html</link>
	<guid>https://www.mycity.rs/?p=1861140</guid>
	<author>nobody@mycity.rs (jovica.raicki)</author>
	<description>Da li u Novom Sadu ima neki kurs Swift programiranja i kakva su iskustva?</description>
	<pubDate>Sun, 12 Mar 2017 19:10:43 +0100</pubDate>
</item>
<item>
	<title>Re: Android 4 - Razvoj aplikacija</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Android-4-Razvoj-aplikacija.html#1784316</link>
	<guid>https://www.mycity.rs/?p=1784316</guid>
	<author>nobody@mycity.rs (suca41)</author>
	<description>&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;vasa.93 ::&lt;/span&gt;Saveti i smernice generalno o programiranju ili konkretno za Android programiranje u konkretnom okruženju?&lt;/cite&gt;
&lt;br /&gt;
Konkretno za Android programiranje, al' ako imas i ovako neki savet voljan sam da poslusam.</description>
	<pubDate>Fri, 30 Oct 2015 21:58:59 +0100</pubDate>
</item>
<item>
	<title>Re: iOS</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/iOS-3.html#1772960</link>
	<guid>https://www.mycity.rs/?p=1772960</guid>
	<author>nobody@mycity.rs (E.L.I.T.E.)</author>
	<description>Pa nije baš tako jednostavno. Dosta stvari bi morao novih da naučiš jer nije to isto kao kad kodiraš web stranicu. Ovaj iOS Tool Chain što sam ga naveo poslednjeg koristi Objective-C. Lik sa StackOverflow tvrdi da može da se izgradi aplikacija u Windows-u sa Visual Studio + Xamarin (ako znaš da radiš u C# , ali računaj da ti u svakom slučaju treba Apple Developer nalog za objavljivanje na App Store ili iTunes Store).
&lt;br /&gt;

&lt;br /&gt;
 &lt;iframe class=&quot;youtube&quot; width=&quot;420&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/GOExgJt-hfo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</description>
	<pubDate>Tue, 18 Aug 2015 14:14:05 +0100</pubDate>
</item>
<item>
	<title>Re: Koji Program Koristiti</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Koji-Program-Koristiti.html#1767327</link>
	<guid>https://www.mycity.rs/?p=1767327</guid>
	<author>nobody@mycity.rs (vasa.93)</author>
	<description>Recimo Android Studio. Imaš na netu mali milion uputstva na tu temu, a mnoga su prilično detaljna.</description>
	<pubDate>Fri, 17 Jul 2015 09:18:37 +0100</pubDate>
</item>
<item>
	<title>PhoneGap Build Problem</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/PhoneGap-Build-Problem.html</link>
	<guid>https://www.mycity.rs/?p=1764636</guid>
	<author>nobody@mycity.rs (miljanilic2000)</author>
	<description>----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Napisano: 28 Jun 2015 18:27&lt;/span&gt; ---------
&lt;br /&gt;

&lt;br /&gt;
Poceo sam sa koriscenjem PhoneGap-a, npravio sam jednu apikaciju i sada imam problem kada zeim da je kompajliram.
&lt;br /&gt;
Imam instaliran i konfigurisan Android SDK i kada pokusam da kompajliram u konzoli mi se ispise:
&lt;br /&gt;
&lt;cite&gt;&lt;span class=&quot;cite-who&quot;&gt;Citat:&lt;/span&gt;miljan@Miljan-PC:~/Desktop/HelloWorld$ sudo phonegap prepare android
&lt;br /&gt;
[phonegap] executing 'cordova platform add --save android'...
&lt;br /&gt;
[phonegap] completed 'cordova platform add --save android'
&lt;br /&gt;
[phonegap] executing 'cordova prepare android'...
&lt;br /&gt;
[phonegap] completed 'cordova prepare android'
&lt;br /&gt;
miljan@Miljan-PC:~/Desktop/HelloWorld$ sudo phonegap build android
&lt;br /&gt;
[phonegap] executing 'cordova build android'...
&lt;br /&gt;
cp: no such file or directory: /home/miljan/Desktop/HelloWorld/icon.png
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Running command: /home/miljan/Desktop/HelloWorld/platforms/android/cordova/build 
&lt;br /&gt;

&lt;br /&gt;
[Error: ANDROID_HOME is not set and &amp;quot;android&amp;quot; command not in your PATH. You must fulfill at least one of these conditions.]
&lt;br /&gt;

&lt;br /&gt;
ERROR building one of the platforms: Error: /home/miljan/Desktop/HelloWorld/platforms/android/cordova/build: Command failed with exit code 2
&lt;br /&gt;
You may not have the required environment or OS to build this project
&lt;br /&gt;

&lt;br /&gt;
Error: /home/miljan/Desktop/HelloWorld/platforms/android/cordova/build: Command failed with exit code 2
&lt;br /&gt;
    at ChildProcess.whenDone (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
&lt;br /&gt;
    at ChildProcess.EventEmitter.emit (events.js:98:17)
&lt;br /&gt;
    at maybeClose (child_process.js:743:16)
&lt;br /&gt;
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)
&lt;br /&gt;

&lt;br /&gt;
miljan@Miljan-PC:~/Desktop/HelloWorld$ 
&lt;br /&gt;
&lt;/cite&gt;
&lt;br /&gt;
Kada pokrenem &lt;code class=&quot;highlight&quot;&gt;phonegap serve&lt;/code&gt; i pokrenem PhoneGap Server aplikaciji mogu da pristupim sa tableta preko PhoneGap aplikacije gde ista savrseno radi. 
&lt;br /&gt;

&lt;br /&gt;
----------- &lt;span style=&quot;font-weight: bold&quot;&gt;Dopuna: 28 Jun 2015 18:30&lt;/span&gt; ---------
&lt;br /&gt;

&lt;br /&gt;
 P.S. Koristim Xubuntu </description>
	<pubDate>Sun, 28 Jun 2015 18:30:16 +0100</pubDate>
</item>
<item>
	<title>Tersus</title>
	<link>https://www.mycity.rs/Programiranje-aplikacija-za-smart-uredjaje/Tersus.html</link>
	<guid>https://www.mycity.rs/?p=1759217</guid>
	<author>nobody@mycity.rs (E.L.I.T.E.)</author>
	<description>Slučajno sam naišao na ovaj framework na StackExchange, izgleda zanimljivo. Aplikacija se navodno pravi po principu dijagrama , a preko servera se izvršava. Nema nikakve potrebe za kodiranjem, ali podržava i bogat skup naredbi i server-side funkcije. 
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;img class=&quot;post_slika&quot; src=&quot;/must-login.png&quot; border=&quot;0&quot; /&gt;
&lt;br /&gt;

&lt;br /&gt;
Ukratko, open-source je i pravi nativne Android i iOS aplikacije (ovo nisam isprobao, ali bi bilo super ako je stvarno tačno). Za interfejs koristi Eclipse pa verovatno i Javu uz AJAX i još neke serverske tehnologije.
&lt;br /&gt;

&lt;br /&gt;
&lt;b&gt;[Link mogu videti samo ulogovani korisnici]&lt;/b&gt;</description>
	<pubDate>Sat, 23 May 2015 20:43:41 +0100</pubDate>
</item>
</channel>
</rss>

