Learn it fast with expert-taught software and skills training at lynda.com. See what you can learn

By David Gassner | Thursday, December 11, 2014

Importing Android Projects for Eclipse into Android Studio

importing Eclipse projects into Android Studio

Android Studio has been in development for two years and has been available in the form of early access preview or beta editions for most of that time. Android developers have had plentiful opportunities to get to know the product as it has evolved—but since it’s been in constant flux, many developers have continued to use the venerable Eclipse bundle that includes the Android Developer Tools (ADT) plugin.  But this week things got real–Android Studio 1.0 has finally been released.

That was expected. A series of Release Candidates had appeared over the past few weeks and it was clear that a final release was imminent. But something else also happened. At the same time as the Android Studio release, Google removed all download links for the Eclipse/ADT bundle from the Android developer website. If you already have the Eclipse/ADT bundle installed, you can keep it using for now, but Google has stated that it won’t be doing any further development on the product or fixing any outstanding bugs.

So that means that as of RIGHT NOW, Android Studio is the only Google-approved IDE for Android developers. (Sorry, I didn’t mean to yell, but this is really really important.)  In this article, I’ll describe how to import Eclipse projects into Android Studio, and how to deal with some common issues you’ll encounter.

By David Gassner | Friday, August 29, 2014

Configure ADT for Android Development with Eclipse

2014_08_29_Gassner

I was recently asked about how to set up a local Android development environment correctly, and it was such a good question that I wanted to share the answer with everyone.

Q: I’m learning how to create Android apps. In Eclipse with Android Developer Tools, when I create a new app I get a null pointer exception right away. I’ve also noticed that the new project’s “src” folder, where my Java source files should be located, is empty. What did I do wrong?

By David Gassner | Wednesday, August 06, 2014

Course Update: Building a Note-Taking App for Android

Screen Shot 2014-08-04 at 4.35.48 PM

Technology moves so quickly, it can be hard to keep up—particularly when developer tools change after we’ve recorded a course.

I recently heard from a member who was trying to work through my course Building a Note-Taking App for Android and having trouble running and testing his code.

By David Gassner | Thursday, July 10, 2014

Installing PHP on Windows

installing_php

The Windows packaging of PHP has changed since my course Installing Apache, MySQL and PHP was last updated, and could affect your installation should you choose to install separate components. No fear—you should be able to correct the problem by creating a new version of your php.ini file. Here’s a solution for installing PHP on Windows that works on my system.

By David Gassner | Wednesday, April 11, 2012

Building applications for Microsoft operating systems

We recently released Silverlight 5 Essential Training, with Walt Ritscher. If you’re new to Silverlight, check out this overview of the plug-in from chapter one of the course:

If you’re a developer who’s interested in working with Microsoft operating systems such as Windows 7, Windows Phone, or the upcoming Windows 8, you might wonder why this course might be important. After all, Silverlight, like Adobe’s Flash Player, is a web browser plug-in. You should be interested because many mobile devices, such as the iPhone or iPad, can’t display content built for these technologies, and Microsoft has made it clear that Silverlight apps won’t  be able to run across all modes of Internet Explorer when Windows 8 is delivered.

Fortunately, the skills you have acquired to build Silverlight applications are directly transferable to some new and important application platforms. Silverlight applications are created with a combination of XAML (eXtensible Application Markup Language) and your choice of either C#, or Visual Basic. (In his Silverlight 5 Essential Training course, Walt Ritscher focuses exclusively on C#, since it’s the more popular of the two languages.) Wondering how it all ties together? The same languages—XAML, C#, and Visual Basic—are all at the core of Microsoft’s developer platforms of the future: Windows Phone and Windows 8.

Consider the following XAML code snippet that declares a page control in a Silverlight application:

<usercontrol x:class="”SilverlightApp.MainPage”" xmlns="”http://schemas.microsoft.com/winfx/2006/xaml/presentation”" xmlns:x="”http://schemas.microsoft.com/winfx/2006/xaml”" …more="" xml="" namespaces…="" mc:ignorable="”d”" d:designheight="”300?" d:designwidth="”400?">
  <grid x:name="”LayoutRoot”" background="”White”" width="”300?" height="”200?">    
    <textblock height="”23?" horizontalalignment="”Left”" margin="”10,10,0,0?" text="”Hello" world”="" verticalalignment="”Top”"></textblock>
  </grid>
</usercontrol>

The code in bold font defines the layout and presentation of a single line of text: “Hello World.” Now here’s a page control for a Windows 8 Metro app; notice that the bolded code looks almost exactly the same:

pre class=’line-numbers’ data-line=’6-8'><page x:class="Win8App.MainPage"></page><br> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"<br> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"<br> ...more XML namespaces...<br> mc:Ignorable="d"><br> <grid background="{StaticResource ApplicationPageBackgroundBrush}><br /> <TextBlock HorizontalAlignment=" left"="" margin="10,10,0,0" textwrapping="Wrap" text="Hello World!" verticalalignment="Top" fontsize="36"></grid><br> <br>

And here’s a page control for Windows Phone:

<phone:phoneapplicationpage x:class="PhoneApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...more="" xml="" namespaces="" and="" properties...="">
*  <grid x:name="ContentPanel" grid.row="1" margin="12,0,12,0">
*  <textblock height="30" horizontalalignment="Left" margin="10,10,0,0" *=""   text="Hello World" verticalalignment="Top"></textblock>
*  </grid>
</phone:phoneapplicationpage>

These component definitions are all built with XAML, and use pretty much the same syntax to display text on the screen. They have different root elements: UserControl for Silverlight, Page for Windows 8, and PhoneApplicationPage for Windows Phone. But they all support the same basic set of visual controls such as Grid and TextBlock, and they all use “code-behind” architecture to bind logic written in C# or Visual Basic to visual presentation defined in XAML.

The bottom line is, you can’t just move an existing Silverlight or Windows Phone application to Windows 8 and expect it to work. The underlying technologies are different, and there are differences between the application programming interfaces (APIs) for the different operating systems. You’ll have to “port your application," a process that involves creating new code files and copying selected portions of code to the new version of the application. You’ll probably also have to re-imagine the user interface for the new target OS, since applications written for a browser have different layout guidelines from those on a phone or tablet, or those designed to run full-screen in high resolution as they might on a Windows 8 desktop. If you already know how to use XAML and other .NET programming languages, learning how to build Windows 8 apps will be much faster and easier.

In this video from chapter three of the Silverlight 5 course, Walt explores the programming side of Silverlight 5 and discusses the relationship between XAML and .NET:

In the near future, we’ll be releasing courses on both Windows Phone and Windows 8 application development. If you want to learn some of the skills you’ll need right now, Walt Ritscher’s Silverlight 5 Essential Training course is a good place to start, along with his Visual Studio 2010 Essential Training, and Joe Marini’s C# Essential Training. You can use Microsoft’s free express versions of Visual Studio or a full copy of Visual Studio as your development environment. When you're ready to get started with Windows 8, which is currently available as a free Consumer Preview, you can use a Beta version of Visual Studio that lets you build your first Metro apps right away.

Microsoft has put a lot of effort into making development skills and programming languages transferable across their multiple operating systems and application platforms; these efforts make it easier to learn, and easier to build applications for, their current and future technologies.

Interested in more?

Suggested courses to watch next:

By David Gassner | Monday, March 05, 2012

All about Branden Hall, interactive architect and digital maker

This week we celebrated the release of a new series entitled Branden Hall: Interactive Architect and Digital Maker. The series features an in-depth interview that lynda.com co-founder Lynda Weinman conducted with Branden last year, along with a tour of some of Branden’s most interesting work.

So who is Branden Hall, and why did we think it was important to talk with him?

     • Branden has been associated with lynda.com for a long time, having been a featured speaker at many of the early Flash Forward conferences. This photo is from the 2004 conference in San Francisco. Notice the exciting technological advance that Branden was describing: the transition from ActionScript 1 to ActionScript 2!

     • Branden has long been a thought leader in the use of digital technologies, including, and perhaps especially, Flash. Along with some other young developers and designers, he was responsible for exploring what Flash was able to do in its early years, beyond even what Macromedia originally envisioned.

     • Along with Joshua Davis, he was one of the guys who gave IBM’s Watson the animated “face” that “he” uses to celebrate “his” defeat of human Jeopardy! opponents. When Watson’s face moves and changes, it’s because of the team of programmers and designers who made it do that.

     • As the web has evolved, Branden’s work has evolved with it. His Endless Mural project shows how combining the web with new technologies like HTML5 can create crowd-sourced art collections that are available to all.

Over the years, Branden has led the way in showing how technologies like Flash and HTML5 can be used in innovative and exciting ways. In this mini-documentary, Branden gets to tell us a bit about how he comes to his ideas and how they’re realized. I could go on and tell you more, but this video series lets Branden tell you about it himself. We hope you enjoy it.

Interested in more? • The fullBranden Hall: Interactive Architect and Digital Maker segment• All developer courses on lynda.com

Suggested courses to watch next:Flash Professional CS5 Essential TrainingBuilding Mobile Apps for Multiple Devices with Flash ProfessionalHTML5 First LookHTML5: Messaging and Communications in DepthBig Spaceship, Digital Creative Agency

By David Gassner | Wednesday, February 15, 2012

13 courses to help you learn HTML5 on lynda.com

Recently I’ve been asked by some very influential people why lynda.com hasn’t published an HTML5 essential training course yet. Isn’t HTML5 an enormously important topic? Isn’t HTML5 at the core of how the web is being transformed and adapted to the new reality of modern web browsers on desktops, cell phones, and tablets? Isn’t HTML5 changing how rich media (audio and video) is delivered on the Internet? And isn’t HTML5 on its way to replacing web browser plugins such as Flash Player and Silverlight that we’ve depended on for many years? (Whether HTML5 will completely replace the plugins on the web, and how long it will take, is a matter of debate—but that’s for another discussion and another day.)

How could lynda.com have ignored this critical topic? If lynda.com is such a forward-looking educational company, how could we have missed this tectonic shift in the web development landscape??

No worries; we didn’t miss the boat. Simply put, we decided last year that HTML5 was too large a subject to cover in a single course. HTML5 isn’t a single technology; it’s an umbrella term that’s used by the W3C (the Worldwide Web Consortium, a standards-setting body in Switzerland that’s theoretically in charge of how the web works) to describe a set of specifications that let you manage all sorts of things in a web page or application with relatively simple code. (These specifications include both HTML tags and a set of powerful JavaScript APIs.)

We broke down the subject into a series of courses, each taught by an instructor who was able to specialize in one or more aspects of HTML5, and started publishing the courses in mid-2011. We then continued periodically releasing these smaller, focused courses with a new deep dive into some aspect of HTML5 until the last of the 13-course series was released in January 2012, declaring our first pass at coverage of HTML5 to be officially complete. And so, this seems like a good time to review what we’ve created.

If you’re just getting started with HTML5, you might first watch HTML5 First Look taught by lynda.com senior staff author James Williamson. In this course, James offers a birds-eye view of the purpose and usage of HTML5, and includes invaluable references to sites and other resources you can use to keep up with HTML5’s ongoing evolution.

For your first hands-on course, I suggest HTML5: Structure, Syntax and Semantics, also taught by James Williamson. Here, you’ll see how basic HTML code looks, and how to set the stage for all the fun stuff you’ll learn to do later.

From there you can sample a broad array of juicy HTML5 dishes. Each of the remaining courses focuses on a single aspect of HTML5, and you can watch them in any order. To animate your pages, watch HTML5: Graphics and Animation with Canvas taught by Joe Marini. To add drag and drop interactions, look at HTML5: Drag and Drop in Depth taught by Bill Weinman. And for rich media, check out HTML5: Video and Audio in Depth taught by Steve Heffernan.

Want to work with advanced data entry forms (HTML5: Web Forms in Depth) or in-line document editing (HTML5: Document Editing in Depth)? We’ve got that. How about network communications (HTML5: Messaging and Communications in Depth), multi-threading (HTML5: Background Processes with Web Workers), working with the user’s physical location (HTML5: Geolocation in Depth), managing browser history (HTML5: Managing Browser History), or working with local databases (HTML5: Local Storage and Offline Applications in Depth) and text files (HTML5: File API in Depth). Yes, we’ve got all that too.

The 13 courses in this series cover nearly all aspects of the HTML5 specifications. By designing the courses in this modular fashion, we’ve hopefully made it easier for you to find and learn the specific skills you need to satisfy the needs of your web project, your job, or your curiosity. Taken together, they’re the equivalent of a single master-class in HTML5 development—essentially, “HTML5 Essential Training” from lynda.com.

And as we promised when the series was launched, we’re keeping an eye on the evolution of both the HTML5 specs and and how the web browsers implement them. When we see significant changes, we’ll update these courses with the latest information.

So no, we didn’t fall asleep at the switch. HTML5 is a fast-moving set of technologies, and we’ll keep on doing what’s needed to help you incorporate the latest technologies into your web sites and applications.

What HTML5 courses will you add to your lynda.com queue first?

Interested in more? • All developer courses on lynda.com • All courses from David Gassner on lynda.com

Suggested courses to watch next:HTML5 First LookDreamweaver CS5: Getting Started with HTML5iOS 4 Web Applications with HTML5 and CSS3HTML5: Local Storage and Offline Applications in DepthHTML5: Graphics and Animation with Canvas

By David Gassner | Wednesday, January 18, 2012

Getting started as a programmer and what language to learn first

It scares me to say this, but I’ve just celebrated a big anniversary: I’ve been a software developer for 25 years. My first programming language was something called PAL. It stood for Paradox Application Language, and was a part of Paradox, a popular DOS-based database application that was in many ways the Microsoft Access of its time. Over the ensuing years, I’ve learned and forgotten many languages as I moved into different areas of the software development world. But I found that each language was progressively easier to learn. Once I understood the fundamentals, I was able to apply lessons learned so far to the new challenges facing me.

No one was around in the beginning to tell me that programming was difficult. I had some work I needed to do, and with the help of sample code and tutorials, I figured out how to do it. It was only later that I learned how intimidating programming sounds to some folks. But it doesn’t have to be painful at all, and I believe that by finding and using the right learning resources, and moving forward in small incremental steps, anyone can learn to code.

We’ve been hearing from our members for the last few years that programming has become more important to you, and so in 2011 we responded by publishing a series of courses on some of the world’s most popular programming languages. In this post, I’m going to describe what you need to know to get started as a programmer and how to select a first programming language to learn.

If you’ve never done a lick of programming, you might want to start with lynda.com staff author Simon Allardice’s course Foundations of Programming: Fundamentals. As in many industries, software developers have their own lingo. Words like statement, function, method, and property have very specific meanings, and some of these meanings can differ from one language to the next. Simon explains the language of languages, and compares many of the most popular programming languages with each other. Examples are provided in JavaScript, Java, C#, and many others.

The next step is to choose your first language. Which language you choose will depend largely on what you want to accomplish. You might use one language for building web pages, another for creating applications designed for cell phones and tablets, and so on.

The most popular programming language course in the Online Training Library® is, unsurprisingly, the most recent edition of our ever-popular JavaScript Essential Training, also authored by Simon Allardice. JavaScript is so popular because it’s the programming language of the modern web. It’s the language that “glues” other web technologies together, such as HTML and CSS. It’s supported in all modern browsers, and is at the core of many popular web frameworks such as jQuery. Looking beyond the browser, JavaScript is also used in many other software development environments, including Titanium, a set of tools for building cross-platform mobile applications, Node.js, a recent entry in the world of server-side web application development, and Unity, a package that enables building games for many platforms.

If you want to build native apps for mobile devices, you might choose Objective-C to build apps for iPhone and iPad. Objective-C Essential Training will help you get started, and then you can move on to our other courses on building apps for the iOS operating system. Java Essential Training with David Gassner (yes, that’s me) teaches the language that’s used to build native apps for Android and BlackBerry devices, and C# Essential Training with Joe Marini will help you get started with building Silverlight and XNA apps for Windows Phone 7. And once you learn either Java or C#, you’ll be able to build not just mobile apps, but also applications for the web (client- and server-side) and much more.

In addition to the courses we added in 2011, the Online Training Library® offers lessons on other languages that you can use for a variety of tasks. These include tutorials on Perl and Python with Bill Weinman, PHP and Ruby with Kevin Skoglund, and one of my own personal favorites, ColdFusion Markup Language with David Gassner (me again).

So regardless of which language you want to learn, you should be able to find some valuable tools in the Online Training Library® to help you get started. I really believe that if you have something you want to accomplish that requires a bit of programming, you can learn it. That’s lynda.com’s new motto, and it absolutely applies to the world of software development.

Interested in more? • All developer courses on lynda.com • All courses from David Gassner on lynda.com

Suggested courses to watch next:Foundations of Programming: FundamentalsJavaScript Essential Training (2011)Objective-C Essential TrainingC# Essential TrainingJava Essential Training

Get the latest news

  •   New course releases
  •   Pro tips and tricks
  •   News and updates
  
New releases submit clicked

You can change your email preferences at any time. We will never sell your email. More info

Featured articles

A lynda.com membership includes:

Unlimited access to thousands of courses in our library
Certificates of completion
New courses added every week (almost every day!)
Course history to track your progress
Downloadable practice files
Playlists and bookmarks to organize your learning
Become a member

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.