Currently created mobile applications can not run without Internet connection. We can provide unlimited number of usage examples of data transmission in applications. We are only limited by our imagination.
By implementing this type of solution in applications, we very often forget about small thing, that network check query can be performed. This tiny thing is to check, if the phone has access to the network. Getting positive information about access to the network does not guarantee us, that we will have Internet connection. This information may be used to support situations that network is unavailable.
Very often, if network availability is not checked, handling this situation is made by the exception. This is not exactly correct, considering the small cost of adding network check. To do this, we need simply call one method:
using System.Net.NetworkInformation; bool isAvailable = NetworkInterface.GetIsNetworkAvailable(); MessageBox.Show(isAvailable.ToString());
The static method NetworkInterface.GetIsNetworkAvailable() allows to obtain information, whether your phone has access to any network. When you are using this method you should remember about one little thing, moreover, as well as in a situation to use a network connection – the phone needs some time, to log on to the network. This information is particularly important, if you have only access to WiFi. In a situation, when you run an application immediately after leaving the phone from sleep mode, you will get the message, that there is no network available. What may prove to be untrue because the phone could not even log on to the available WiFi.
In addition to information about, if the network is available we also have access to a type of a network that is connected to our phone. This information can be very helpful, if we want to build a very responsive user interface in applications that use intensive network connection. When we detect a connection to the slower type of network you can disable certain features – for example, play the video in low resolution on a slow connection, in the case of fast – in high resolution.
In order to check what connection is available, we need to check the property:
Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType
This property returns the following values:
- Wireless80211 – Connection to WiFi,
- Ethernet – Connection via cable USB connected to the computer,
- MobileBroadbandGSM,
- MobileBroadbandCDMA,
- None – No network.
otoczka Windows Phone zabija ideę darmowych aplikacji. Kto będzie chcial tworzyc freeware jesli zeby go udostepniac trzeba placic $99 dolarow rocznie…
To jest chory system, nastawiony na mega zysk gdy smartfony sie spopularyzuja a jak widac po Windows 8 i Metro to Microsoft uwaza ze to nastapi za chwile.
To 99$ nie jest dużo jeśli weźmie się pod uwagę to co się dostaje. Microsoft daje dostęp do pomocy technicznej, miejsce do wrzucania aplikacji oraz testerów.
Twórca oprócz 99$ nie musi inwestować nic, aby pojawić się na platformie.
Dodatkowo aplikacja darmowa może przynosić zysk -- reklamy, sprzedaż usług, … -- wszystko zależy od modelu biznesowego. Możliwości jest wiele.
I to co może najważniejsze dużo zależy też od kraju na którym aplikacja żyje. Dla Polaka wydatek 5 zł za aplikację jest uznawany za duży. Dla osoby z USA 5$ jest niewielkim wydatkiem. Zakładając, że sprzedajemy jakąś aplikację po najniższej cenie 1$ i marżę Microsoftu -- 30%, wystarczy sprzedać 142 aplikacje, aby koszt założenia konta się zwrócił. To jest naprawdę nie dużo.