Testing Location-Aware Android Apps on an Emulator

Tricky Android Emulator SetupGet Last Location

I found that testing apps that use the Android Fused Location Provider on an emulator
can be a bit tricky! (But, as a software developer, doesn’t every new thing you try turn out to be tricky?)

You need Google Play Services to Access Location Data

The Fused Location Provider is one of the APIs provided by Google Play Services. If you are creating a location-aware app, Google recommends that you use the this API rather than the older android.location API. In order to test your app in an emulator, you will need to have Google Play Services installed. The default Google Android Emulator images don’t include Google Play Services, but it is available and you can include it when you create an AVD (Android Virtual Device, aka emulator).

Watch a video of me using this post to set up an emulator:



May 26, 2016 at 5:33 pm 1 comment

Testing iOS Apps on Hardware Devices

Deploying Apps directly to devices

One of the trickier parts of doing iOS development is registering your device (iPad, iPhoLightning-Cable-and-iPhonene, or iPod) with Apple so that you can test an app on that device. This process is called creating a provisioning profile. You can follow either the  Apple guide or the Xamarin guide for doing this, but I’m writing my own guide because things didn’t go very smoothly for me while following either of theirs. (Although the Xamarin guide was easier to understand.)

I’m doing iOS development using Xamarin Studio, but the process for creating a provisioning profile is essentially the same if you are doing development with Xcode.

March 7, 2016 at 6:34 am Leave a comment

Developing iOS Apps in Visual Studio with MacinCloud

Cross-Platform Mobile Development with Xamarin

Suppose you’re a .Net XamarinLogo developer and you recently discovered Xamarin’s cross-platform framework for doing mobile app development using the .Net languages and libraries. You’ve used Visual Studio to make a killer Android app.
Now you want to make an iOS version of the app, but you don’t have a Mac– and Apple’s licensing requirements specify that you must use a iosLogoMac to build iOS apps. Apple is fine with you doing all the development (writing the code and creating the UIs) anywhere you like, but the code has to be compiled and linked on a Mac. (more…)

December 5, 2015 at 5:26 pm 8 comments

Learn to Write iOS Apps!

iPad+iPhoneNext term, Winter 2016, at Lane Community College, I will be teaching a course in iPad and iPhone app development, CS235IM, Intermediate Mobile App Development: iOS. This is a beginning course  in writing apps for iOS (the title “intermediate” is misleading). We will be using the Xamarin platform to write native apps using C#.  As a student, you will get a free Apple developer license and free Xamarin iOS and Android developer licenses. This course is offered for college credit (4 credits) and will be offered both on-campus and online. Online students can participate from anywhere in the world and at any time of the day (or night)! (more…)

November 17, 2015 at 5:50 am 2 comments

Highest Demand Programming Languages in March 2015

ProgrammingLanguageListingsOnDiceA question that I hear frequently is: “Which programming language (or languages) should I learn? Usually the person asking is a student and what they really mean is, “What programming language will get me a job?!” My usual answer is that it’s more important to focus on learning concepts (like: inheritance, composition, polymorphism, data structures, design patterns, etc.) because these are pretty much the same regardless of language. If you learn C# in-depth, and then get a job where you need to use Java, you should be able to apply the concepts you know (and even a lot of the syntax) and pick up Java quickly. But, of course, you would still want to choose a language that is at least in the top dozen, as far as job demand. (more…)

March 27, 2015 at 3:11 pm 3 comments

Why my next PC will be a Mac!

PDP11The first computer I programmed was a DEC PDP 11. That was way back in 1977 when I was a senior in high school. Since then, I’ve used a lot of different computers and operating systems: UNIX (and a variety of its offshoots), VMS, CPM, DOS and Windows. Did you notice there was one I didn’t mention?

OriginalMacThe first Mac I saw was the original one. I was an Electrical Engineering student at the time and it didn’t seem to be good for much besides writing term papers with nice fonts. It just couldn’t do the stuff I needed to do- like run MathCad or the Borland Turbo Pascal IDE. As time went on I developed an aversion to the seemingly snobby cultishness of Apple and its devotees. It seemed to me that if you used a Mac, you would have to buy a black turtle-neck, promise to never use any of the evil software from Redmond, and bow and pray toward Cupertino 5 times a day.

But,  (more…)

March 20, 2015 at 9:08 pm Leave a comment

C# Pass-by-reference – Concept and example

670px-Pass-a-Soccer-Ball-Step-3-Version-2One of the concepts that many of my beginning programming students find difficult to wrap their heads around is the different ways that arguments can be passed when a method is called.  The two mechanisms for passing an argument to a method are pass-by-value and pass-by-reference.

(No, this post isn’t about soccer, I just wanted to get you thinking about passing.)

Advice to new programmers: Skip this paragraph. But the rest of this post is for you!
Before launching into our discussion, I need to clarify that we’re only talking about what happens when we pass value types to method parameters. Value types are the types enum and struct. The numeric types and bool type that are built into C# are all actually structs and so they are all value types. Interestingly, strings are not value types, they are reference types, but that’s a topic for another post!

I should make another clarification too. When I talk about the code that calls a method, I refer to the variables passed to the method as arguments, but when I talk about the code that defines a method, I call the variables inside the parenthesis parameters.

Pass by Value
Let’s take a look at a “normal” C# method definition:

     int Sum(int num1, int num2)    // this method returns the sum of num1 and num2
          return num1 + num2;


March 15, 2015 at 5:20 pm Leave a comment

Older Posts Newer Posts

Bird’s Bits

Computers, software & the Internet

Recent Posts

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 42 other followers