Next term, at Lane Community College, I will be teaching a course in iPad and iPhone app development, CS235IM, Intermediate Mobile App Development: IOS. This is an introductory course (the title “intermediate” is misleading) in writing apps for iOS using C# and Xamarin.iOS (formerly MonoTouch).
We will cover the basics of:
- Setting up your development environment
- Model-View-Controller architecture
- Adapting to device rotation
- Multiview applications
- Tab bars and pickers
- Table views
- Split views and pop-opvers
- Application settings
The benefits of writing apps using Xamarin MonoTouch are:
- They can be easily ported to Android, Windows Phone, Mac OS-X, and Windows.
- If you are already a .NET programmer, you can use a language (C#) and class libraries (.NET) that you already know.
- Xamarin’s cross-platform solution is the only one which produces iOS apps that compile to native code.
The course starts March 30th and runs for 10 weeks. The course is available both online and on campus. The on campus class will meet from 8:00 am to 9:50 am Tuesdays and Thursdays. The class will be streamed live online, so online students can participate at the same time as on-campus students, or they can watch recordings of the classes at any time convenient to them.
Current LCC students may register for the class now. If you’re not a current LCC student, you can enroll in the college now: Steps to enroll as a new student at LCC. New students will be able to register for classes beginning March 10. To register for the class, log into myLane, and follow these steps:
- Click on the “myEnrollment” tab
- Click on “Add or drop classes” in the “Registration Tools” section
- Choose Spring 2015
- For the on campus class add CRN 44034, for the online class add CRN 44035
I’ll look forward to seeing you in class!
If you are developing Android apps, you will want to test them on an actual device. In order to do this you need to enable Developer Mode on your phone or tablet. Here are the steps to do this:
- Open settings
- Go to About Phone or (About Tablet)
- Scroll down to Build Number and click on it 7 times
(Yes, that sounds strange, but that’s what you do.)
- Now go back up to your settings list and you will see that Developer Options has been enabled.
I’ve attached a video so you can see how this is done.
I compiled this list of resources for students in my Xamarin Android Course. These are the best resources that I have found for learning C#. I have them categorized for both new programmers and programmers who are already experienced in another language. If you know of some other excellent resources, tell us about them in a comment.
BTW, most of what you learn about .NET will also apply to the Mono library used by Xamarin.
Learning C# as your first programming language
C# Fundamentals: Development for Absolute Beginners (25 video lessons)
(If you are already a programmer in some other language, you should start with lesson 14, Understanding and Creating Classes.)
Learning C# if you already know Java, C, or C++
The C# Programming Language for Java Developers
This web site compares Java and C# topic-by-topic
Programming Language Fundamentals- from Java to C#
For someone who has learned the equivalent of the CS161 Java course material. 12 modules made up of Videos, PowerPoint slides, demo source code, and lab exercises.
C# for C++ Developers
A table that compares C++ to C#, topic-by-topic with links to C# documentation on each topic.
.NET Book Zero
What the C or C++ Programmer Needs to Know about C# and the .NET Framework. (Free e-book)
Resources for all C# programmers
C# 5.0 in a Nutshell. 5th Ed. Albahari, Joseph and Albahari, Ben. O’Reilly, 2012.
This is one of the best books for learning C# if you are already a programmer. This is also a great reference book if you are already a C# programmer.
I just got done setting up a Windows 7 PC (setup for Windows 8 is identical) for Android development using the Xamarin Android application development platform. I wanted to be able to development with either Visual Studio 2013, or Xamarin Studio 5. So here are the steps I followed:
- (Optional) Install Visual Studio 2013 Professional or higher- you can’t use the Express Edition. Also, you will need a Xamarin Business license. Don’t worry if you don’t have Visual Studio Professional- you can use the free Xamarin Studio instead!
- Install the Android SDK using the “stand-alone” option. Download the Android SDK
- Run the Android SDK manager to update everything to the latest versions (you have to launch the SDK manager as an administrator).
- Using the SDK manager, add support for any Android versions you might use. You might also want to add the Google Android USB driver or Intel’s Hardware Acceleration manater (HAXM).
- Install an Android Debug Bridge USB driver for your hardware device. If you are using a Google Nexus device you can install the one that is provided by the Android SDK. You will need to open the Windows Device Manager and use it to install a composite adb driver. If you have a phone or tablet from another manufacturer, you will need to install a USB ADB driver for that device.
- Install the Xamarin software suite (this includes Xamarin Studio). Download Xamarin
- Install GenyMotion, an Android emulator that is vastly superior to the one included in the Android SDK. Download GenyMotion
- You’re done!
Now you should test your setup. Here are some things to test:
- Start GenyMotion and install a virtual device, then launch that device
- Run Xamarin Studio and open the “Hello Android” project. Select GenyMotion as the target for running the app. When you click run in Xamarin Studio, you will see the app run in the GenyMotion emulator.
- (Optional) Repeat the above two steps using Visual Studio
- Plug in a phone or tablet, enable developer mode, and select it as the target in Xamarin Studio. Now run the program again. The app should run on the device you plugged in.
- You’re ready to go!
You can take this class from anywhere in the world, since it is offered in a hybrid on-line/on-campus format!
Here is the syllabus: CS235AM_Syllabus_Fall_2014
Here is the online course page: CS 235AM: Inter Mobile App Dev:Android
BTW, If you aren’t a programmer and want to learn to create Android apps using a simple drag-and-drop approach, you can take our App Inventor class- CIS125M, Software Tools: Mobile Development.
Here’s a link to the LCC course registration page: http://lanecc.edu/schedule
I learned how to add events to a remote client by studying the “Chatter” remoting example in .NET Remoting and Event Handling in VB .NET, by Paul Kimmell. I will not attempt to explain the entire “Chatter” code example, since a good explanation is already given in Kimmell’s article, but I do want to point out a few important aspects that weren’t clear to me at first. (more…)