Distribute1

Day 31: Distributing your Android App and Wrap-up

By | Android, Xamarin | One Comment

This is post #32 of 32 in the series “31 Days of Xamarin.Android” Before we wrap up this series, let’s take a quick look at how we can distribute a Xamarin.Android Application. The most common way to distribute your android application is using the Google Play Store. To distribute an app on the Google Play Store, we need to create an “APK” file. Let’s take a look at how we can do that from Xamarin Studio – In Xamarin Studio, make sure you switch your Configuration to “Release” mode. After that, click on “Build” menu option and then click on…

Read More

Implementing a Generic Repository with Dapper Extensions

By | .NET, C#, News | 4 Comments

I know, much has already been written about how to implement generic repositories with various ORMs. So why add another voice to the mix? Well, it’s on my mind for a few reasons: for one, I recently had the opportunity to evaluate some of the various CUD additions that the community has built on top of Dapper, and I fell in love with one in particular and wanted to extol its virtues. But aside from that, while implementing my own generic repository from scratch, I realized that I often see the same data access anti-patterns repeated in a lot of articles about generic…

Read More
Insights1

Day 30: Monitoring your Xamarin.Android applications using Xamarin Insights

By | Android, Xamarin | No Comments

This is post #31 of 32 in the series “31 Days of Xamarin.Android” Monitoring how well your app is doing is an absolute necessary thing now a days. Even the small company / indie developers are actually competing for app usage time with big companies like Facebook, Twitter, etc. So if your app crashes and you wait for your users to tell your about it, chances are your users will never ever come back to your app. Xamarin provides a wonderful tool called Xamarin Insights for monitoring your mobile applications (be it be Android or iOS). In today’s post we…

Read More
Plugins1

Day 29: Plugins for Xamarin.Android

By | Android, Xamarin | No Comments

This is post #30 of 32 in the series “31 Days of Xamarin.Android” Any Xamarin series will not be complete without talking about the awesome Plugin ecosystem that Xamarin has. Xamarin’s Github Repository has the whole list of Plugins for Xamarin that are developed by folks at Xamarin and also community Xamarin developers. A Plugin for Xamarin is just DLLs which are often distributed using Nuget or Xamarin Component store. The plugins abstract hard to do functionality over a simple and common API. Today, we are looking at Plugins for Xamarin.Android but a majority Xamarin plugins are, and become powerful,…

Read More

The Hazards of Shared Kendo DataSources

By | HTML5, JavaScript, Kendo UI, News | One Comment

Kendo DataSources are a foundational component of many of Kendo’s widgets and indeed of many data-driven applications. The Kendo docs point out that they are shareable, but their example only shares them among different widgets. Sharing them among multiple observable ViewModels, however, is fraught with pitfalls, many of which I have recently felt the displeasure of stumbling into. As usual, diagnosing the problem led to some interesting insights on how Kendo bindings work, so let’s take a look together. Initial Setup In this first JSBin, I’ve configured a DataSource and then used it in a ViewModel which is then bound…

Read More
sqlite1

Day 28: Using SQLite.Net with Xamarin.Android

By | Android, Xamarin | 2 Comments

This is post #29 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore on how to use SQLite.Net with Xamarin.Android. SQLite.Net is a open source library for SQLite written in .NET to allow light-weight mobile applications (or others) save data in a local SQLite database.   SQLite.Net implemented is written by Frank A Krueger, and the source of the project is all up on Github. To use SQLite.Net in your Xamarin.Android application, you need to add a Nuget package called “SQLite-net PCL”

Note: There are a lot of SQLite Nuget packages, make sure you pick…

Read More
HttpClient1

Day 27: Using HttpClient with Xamarin.Android

By | Android, Xamarin | 2 Comments

This is post #28 of 32 in the series “31 Days of Xamarin.Android” Today, we will look at how we can use HttpClient to read data from a remote API and display it in a List (RecyclerView). We are looking at HttpClient in today’s example, but you can use any library like WebClient, RestSharp or any other library of your choice. Keeping to the theme of showing Star Wars data in this series, today, we will consume the Star Wars API https://swapi.co/documentation. To use HttpClient in your Xamarin.Android Application, you should first install the HttpClient Nuget Package –

 …

Read More
Push1

Day 26: Remote Notifications with Parse

By | Android, Xamarin | 2 Comments

This is post #27 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore how to create Remote Notifications in Xamarin.Android. To do remote notifications in any Android Application, we need to work with Google Cloud Messaging (GCM). This process of working with GCM is a bit complicated and there are number of providers out there that take care of this complicated procedure for you and expose simple APIs for you to hook into. For this sample, we will take a look at how to use Facebook’s Parse but you can use any Push Notification Provider there…

Read More
Notifications1

Day 25: Local Notifications

By | Android, Xamarin | 2 Comments

This is post #26 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore how to create Local Notifications in Xamarin.Android. Notifications in Android are use two types of layouts – Base Layout Expanded Layout Base Layout Notification Base Layout Notification is the simplest form of Android Notifications. The Base Layout Notifications consist of the following – A Notification Icon. This is a simple Android Drawable Resource Image that indicates either the originating app icon or type of the notification shown. A title for the notification. Additional text for the notification. Timestamp at which the notification is…

Read More
MCP3008 Chip

Analog to Digital Conversion with MCP3008 and Windows IoT Core

By | C#, IoT, Microsoft, News, Visual Studio, Windows Universal Apps | One Comment

The Raspberry Pi 2 is an amazingly powerful board, with plenty of great features at a low price-point. I invested in a couple Raspberry Pi 2 boards to use in my projects. I quickly discovered one feature missing on the Pi that I had grown accustomed to in an Arduino world: analog pins. I have a plethora of analog sensors that I like to tinker with, so I went in search of solutions to using them with my Pi boards. I did my research and invested in a few MCP3008 chips. The MCP3008 is a 10-bit analog to digital converter….

Read More
Toast1

Day 24: Toasts and Snackbars

By | Android, Xamarin | One Comment

This is post #25 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore common ways to show feedback to users in Android. The most common way in Android being Toasts and Snackbars is the new way of showing alerts to users that can be acted upon. Snackbars require the Design Support Library. Toasts Toast provides a simple way to show feedback to users after an operation is complete. Toast appears on the bottom of the screen, only taking up the same that is required for filling the message. Let’s see how a simple Toast looks like…

Read More
TabLayout

Day 23: TabLayout

By | Android, Xamarin | One Comment

This is post #24 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore one of the most common navigational patterns in Mobile Apps: Tabbed Layout. We will look at how we can create a Tabbed Layout in Android using Xamarin.Android using the “TabLayout” widget. To use TabLayout in Xamarin.Android we first must install the Xamarin Support Design Library using Nuget. The command to install the package is –

Once the package is installed, we can now move on adding the TabLayout widget. TabLayout widget goes hand in hand with the ViewPager view which is used…

Read More
ScrollView1

Day 22: ScrollView and WebView

By | Android, Xamarin | One Comment

This is post #23 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore couple more of commonly used views in Xamarin.Android: ScrollView, WebView. ScrollView ScrollView in Android is used in scenarios where the number of views on the screen overflow and present a need for a scroll bar to see the Views that are towards the end of the screen. Let’s see the problem at hand first. I took a layout file and filled it with bunch of Views so the full screen is not seen on the on presented screen height –

If you…

Read More
RecyclerView

Day 21: RecyclerView

By | Android, Xamarin | 2 Comments

This is post #22 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore more about RecyclerView in Xamarin.Android. RecyclerView was introduced in Android 5.0 (Lollipop). RecyclerView is the new and better way to display large collections of data in Android. RecyclerView enforces the ViewHolder pattern Day 19 for ListView to reuse Views effectively, making it a very suitable View for handling large sets of data. On the other hand, RecyclerView, unlike ListView, does not provide any built in support for Item Click events, it is up to us to define these events using the .NET Events…

Read More
UniversalBluetoothTest

Bluetooth Rfcomm Communication with a Windows IoT Core Device

By | .NET, C#, IoT, Mobile, News | No Comments

Being a gadget guy, I can’t express enough the excitement I have for the Windows 10 IoT Core. The fact that I can now run most any UWA on a Raspberry Pi 2 is cool. I looked at the many ways you could wirelessly communicate with the Raspberry Pi 2. Carey has done a great post on using ZigBee modules. Then there is also Wifi and Bluetooth. This post will look at using Bluetooth to link a Raspberry Pi 2 with my Surface Pro 3. If you’ve not installed the Windows IoT Core onto your Raspberry Pi 2 you can…

Read More
CardView1

Day 20: CardView

By | Android, Xamarin | 2 Comments

This is post #21 of 32 in the series “31 Days of Xamarin.Android” Today, we will explore more about CardView in Xamarin.Android. CardView was introduced in Android 5.0 (Lollipop). CardView is mainly used to create Card like user interface for showing lists of data in Android Application. CardView can hold just text (basic) and text with images (advanced) in its Layout. CardView’s Layout is based on the FrameLayout widget with rounded corners and shadows. We will be taking the Star Wars sample app that we have been working on in the last two days and we will be transforming to…

Read More
Listview4

Day 19: ListView and Adapters, Part 2

By | Android, Xamarin | 2 Comments

This is post #20 of 32 in the series “31 Days of Xamarin.Android” This is part 2 of 2 part series exploring ListView and Adapters in Xamarin.Android in our 31 Days of Xamarin.Android Blog series. In today’s post we will explore using BaseAdapter and also a custom layout for the ListView’s Item Row. Let’s dive right into the code and look at what ListView’s AXML and Custom Item Row’s AXML would look like –

Gist file link: https://gist.github.com/vkoppaka/1744b7ec5fec43b8ee55 Lets take a look at how the Main Activity that shows the ListView is –

  Gist file link:…

Read More
ListView1

Day 18: ListView and Adapters, Part 1

By | Android, Xamarin | 2 Comments

This is post #19 of 32 in the series “31 Days of Xamarin.Android” Over the past few days we have gotten to know a lot about Android and Xamarin.Android. Now lets us dive into the most commonly used View in Android of all ListView. ListViews are found in pretty much every single application, in fact I challenge you real quick to name 3 apps on your phone which don’t have lists of data of some sought (excluding games). Not easy isn’t it?!. So let’s learn this integral part of Android Development in detail. ListView as the name indicates is used…

Read More
FragmentLifeCycle

Day 17: Fragments in Xamarin.Android

By | Android, Xamarin | 2 Comments

This is post #18 of 32 in the series “31 Days of Xamarin.Android” Today we will take a look at a concept that is heavily used in Android world called Fragments. Fragments in Android are modular and self-contained pieces that have their own lifecycle, layout and behavior. Fragments are generally smaller than Activity and are often used for dynamic UI. A group of Fragments generally make up an Activity (screen) in Android. Fragments were first introduced in Android HoneyComb (3.0) so your application must be targeting at least API Level 11 to make use of Fragments in Android. Fragments in…

Read More
2015-08-16 15_34_42-Remote Web Inspector

Learning to Export Kendo UI Widgets without a Browser Using PhantomJS Part 3: Debugging

By | .NET, HTML5, JavaScript, Kendo UI, News | One Comment

In our first 2 exercises, we completed a simple Kendo widget initialization and output using PhantomJS. But if you want to use this technique for something a little more complex with a few more widgets and a more complicated UI, it’s likely you will also want to know how to debug when things don’t go as planned.

Read More
GalleryWidget

Day 16: Controls: Media Controls

By | Android, Xamarin | One Comment

This is post #17 of 32 in the series “31 Days of Xamarin.Android” Today we will take a look at different Media Controls in Xamarin.Android. We will explore the following controls – Gallery ImageView ImageButton Gallery Gallery control in Android is used to showing items in a horizontally scrolling list. Important thing to note here is in recent versions of Android, this control has become Obsolete in favor of HorizontalScrollView and ViewPager. But, if you are targeting older Android Devices, Gallery is still a really good option to show horizontally scrolling lists. To get started, drag and drop a Gallery…

Read More
CalendarView

Day 15: Controls: DateTime Controls

By | Android, Xamarin | One Comment

This is post #16 of 32 in the series “31 Days of Xamarin.Android” Today we will take a look at different DateTime Controls in Xamarin.Android. We will explore the following controls – CalendarView DatePicker TimePicker This article will also serve as a quick introduction to Fragments in Android, although, we will explore Fragments in more detail in the upcoming blog posts. CalendarView CalendarView control in Android is used to showing and selecting dates. Let’s take a look at a simple example of a CalendarView control in action – To get started, drag and drop a CalendarView Control on to the…

Read More
spinner

Day 14: Spinner

By | Android, Xamarin | One Comment

This is post #15 of 32 in the series “31 Days of Xamarin.Android” Today we will take a look at Spinner control in Xamarin.Android. We will explore two different ways to create a spinner control in today’s blog post. Simple Spinner with data coming from a hard-coded list of string values A slightly more customized spinner where the data is coming for a repository (can be any repository) Simple Spinner with Array Adapter Let’s get started with Simple Spinner. Open Main.axml Layout file in your Xamarin.Android project and let’s drag and drop a Spinner control on to the layout. If…

Read More
switch_android

Day 13: Controls: Input Controls, Part 2

By | Android, Xamarin | 2 Comments

This is post #14 of 32 in the series “31 Days of Xamarin.Android” In today’s post we will go over few of the rest of the input controls in Xamarin.Android   Switch A Switch control can toggle between two states, ON or OFF. The Switch control’s default is value is OFF. The text that is shown for the Switch, it’s ON and OFF text and its default state are all configurable using AXML in Xamarin Android. Let’s look at a simple Switch control AXML –

  Gist file link: https://gist.github.com/vkoppaka/97236a1aff7585e55b16 Properties In the XML snippet above there are 4…

Read More
Serial Conversion Module

ZigBee communication with Raspberry Pi 2 and Windows IoT Core

By | C#, Hardware, IoT, Microsoft, News, Visual Studio, Windows, Windows Universal Apps | One Comment

ZigBee Primer A ZigBee PAN (personal area network) is a self-organizing series of modems that communicate using the same protocol (based on the IEEE 802.15.4 standard). Individual modems are configured to play a specific role within the network. Coordinators establish and organize the network (there is only ever one coordinator in a network). End Devices are the leaf nodes of the network, their responsibility is to provide valuable data. This data could be anything. It could be a power usage reading, a string relaying device status, or even a reading from a temperature sensor. The last type of configuration is…

Read More