Win a copy of Bad Programming Practices 101 (e-book) this week in the Beginning Java forum!

Lucas Jordan

author
Greenhorn
+ Follow
since Feb 10, 2011
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Lucas Jordan

If you are interested in working with Android this book will be helpful. You should be able to work through the material if you have worked through at least one Java book.

There are so many ways to write applications these days. If you have reasonable mastery of Java, C/C++, or Python, you will be able to create compelling applications on Windows, OS X, and Linux. As for iOS, knowing C/C++ and Java will make Objective C easy to pick up.

Ryuunosuke Miyauchi wrote:Now I do plan on working on learning Java from the current book I have atm, if I do reach a point where lets say I understand the basics of Java, would this book be helpful? Or would it still require a better understanding of Java?

For me, I really want to do more advanced apps (hopefully), and get to the point where I can write programs for Windows PCs or Macs. I thought a good starting point would've been C++, but I decided on learning Java first as I would like to first start on the Android platform. Later on I wish to learn other languages such as Python.

7 years ago
Yes, the HTML and Flex/AIR chapters are there to offer a cross platform strategy.
-Lucas Jordan

Gabor Liptak wrote:Will you also be offering any cross platform development points (in particular re. HTML(5) applications)? Thanks

7 years ago
I agree completely that it should be simpler. I guess the issue is that Android really does not want you using absolute positioning (they even deprecated the class). I have not seen a graphical tool that is easy to use AND does screen resizing well... well the tool in Netbeans is pretty good, but not awesome. I have not worked with Visual Basic in a long time. Nidhi Sar, would you recommend looking at the Visual Basic tools for inspiration for developing a better tool?

-Lucas

Nidhi Sar wrote:How about a decent tool for designing screens?

Trying to design even reasonably good looking screen is such a pain using the 'Graphical Layout' tab of the screens (I use Eclipse). Why can't it be simpler? I can't believe I'm praising Microsoft, but designing Visual Basic screens using Visual Studio is *SO* much simpler. Just drag & drop widgets - radio buttons, text boxes & so on - where-ever you want.

For Android screens you have to mess around with Linear Layouts & Relative Layouts & "this view is to the left of that" & "padding above" & embedding one layout within another & so on. I think the productivity of developers on Android would go astronomically higher if there were a better design tool.

7 years ago
The book is suitable for beginners. You should be at least somewhat comfortable with Java, you don't want to be fighting the language while learning the new APIs. There are several other languages used in the book, but we didn't assume the reader would know them well.

-Lucas Jordan

Cathy Chlevner wrote:I am interested in knowing whether the book is suitable for a beginner in Android development and also what kind of programming background is required?

7 years ago

Yup, when writing technical books I often (too often?) lean on game development for my examples. I find that games tend to be good examples, since they hit a lot of different APIs at once. Graphics, obviously, but also application life cycle, persistence (got to save those high scores), and more.

-Lucas



You probably meant to ask whether the book contains anything related to game development. Looking at the Table of contents, I can see atleast a couple of chapters dedicated to game development.
7 years ago
First off, the source code can be downloaded from the main Apress page for the book:
http://apress.com/book/view/9781430232438
down on the lower left.

The examples in the book do utilize some HTML 5 features, such as Canvas, but is not a complete description of all HTML 5 features on Android. It has been my experience that all HTML 5 features I have tried work well in Android. I have not tried them all

In the book you will find a complete description of setting up a project for use with HTML and/or AIR, and some realistic examples to flesh out your understanding of how the pieces fit together.

-Lucas Jordan


yosef sohel wrote:Hi there,

I am new to Android development. I read the contents of your book and I see that you have also discussed "Creating a GUI with HTML/JavaScript and AIR". I would like to know

1) If you have discussed development using latest HTML5 and CSS3.
2) Are you also offering CD or website where the users can go through the source code of your projects.

thanks, best regards and congratulations ,
yosh.

7 years ago
The chapter on REST uses a class called AsyncTask which is particularly well suited for doing work off the main rendering thread (much like the SwingWorker class). But under the hood, AsyncTask uses the standard java concurrency classes. Remember that Android is more standard than people would want you to believe. The vast majority of java.lang and java.util packages are included.

For example:
http://download.oracle.com/javase/tutorial/essential/concurrency/
is a perfectly valid and complete description of concurrency on Android.

So yes, there are few concurrency examples in the book, but don't buy it for a discussion on concurrency. Buy it because of the cool projects;)

-Lucas Jordan


Manfred Mueller wrote:Hi Lucas & Pieter,

good to have you around!

What I am missing in all of the Android volumes I already have on my shelf (Hello, Android / Pro Android 2 / Android in Action / The Android Developer's Cookbook and an older German book) is a thorough presentation of concurrency topics. Even Android-specific patterns like the Message/Handler are only vaguely mentioned but not explained. The only resource currently available is the Android devloper site, but the information is more of a "What-Android-has" style than explanatory. Can I expect some more enlightement on these topics from your publication?

Thanks for your attention
Manfred

7 years ago
I agree with this. If they know Java well enough, then a class on Android can focus on the Android parts of Android, and not Java. I could see using Android as part of a 200+ level Java course, since showing off your homework on your phone is pretty cool.

-Lucas Jordan


Ulf Dittmer wrote:I would think that first year students have enough to learn grappling with the Java language, without having to deal with the additional complexities of the Android SDK and emulator. Plus, Android is pretty specialized - would that be appropriate for college courses? I could see it being part of an advanced course (maybe 4th year) that contrasts different UI styles - Android vs. Swing vs. web apps.

7 years ago
Android is kind of a weird beast, in that it was initially designed for mobile phones considerably less advanced than the ones on the market today. In a lot of ways it was designed as a better J2ME. When the iPhone came out, Android had to scramble to make sure 'modern' mobile apps could be developed on Android. I think when they expanded Android so it made sense for both older and newer phones, they put the necessary abstractions in the right places.

People complain about fragmentation in Android devices, and I can understand that frustration. But one thing Android has, which iOS does not, is the concept of cross device development built into its core. From the ability to include images suitable for different types of screens, to the fact that you can specify layouts for very specific resolutions, Android is in a great position handle a broad range of devices.

I don't think you will even notice a difference between tablets and smartphones, beyond screen size, which is something you have to deal with anyway.

-Lucas Jordan

P.S. Yes, iOS development worksacross a few devices very well. But they are much more alike than the different Android devices out there


J Abate wrote:Thanks for taking the time to answer our questions.

My question is if you think there will be a big difference developing for the new larger tablet devices vs the smartphone devices?

John

7 years ago
I think the book works well for Android beginners, it will be accessible, but you will find a few challenges. Which I think is the point of books personally

The chapters on Development Tool Practices will hone your foundation skills and the rest of the chapters will expose you to more complex topics, giving you a broader picture of what Android can do.

-Lucas


Rogerio Kioshi wrote:Hi,

I'd like to know if "Practical Android Projects" can be easily read by Android beginners.

Thank you.

7 years ago
The development process between iOS and Android is significant. It really comes down to how well you know Java. If you know Java, or feel comfortable learning it, you can pick up Android no problem.

-Lucas Jordan


Akshay Choche wrote:Hey,

I have been developing applications for iphone. How difficult is it for me to shift to Android.

Thanks,
-Akshay

7 years ago
I think this book is different because it reaches outside of the normal Android development process. Pieter did an excellent job of showing that Android is more than just a Java development environment. And I think I showed that HTML and Flex/AIR apps are valid technologies on Android. We tried not to wast pages on things that are easily googled, we wanted to show how flexible Android is, and how well it can fit into a bigger development ecosystem, interacting with services and reusing code.

-Lucas Jordan


Sahil Reddy wrote:How this book is different from others ???

7 years ago
Android is very well documented by Google. Sure there are some places where they could do a little better, but overall, not too bad. If you are just starting out with programming, in general, I don't think you will find Android that much more complex than say, plain old Java.

As for the book, there is a chapter on using HTML/JavaScript/CSS to create Android applications. That being said, I would only recommend this strategy for developers looking to achieve a level of cross platform compatibility or for very simple applications.

If your in a position where where Java is a new language, I can't recommend this book, it assumes an understanding of Java. C++ and Java are not all that different, but probably considerably different for a new developer.

As for general advice... if you are looking to be able to write applications that work on the most devices, continue learning HTML/JavaScript/CSS, tools like Phone Gap, AIR, and browsers, probably give you the broadest reach. If you are looking to write the best quality apps learn Objective C (C++ is a good start) and Java (for Android and for Desktop).

-Lucas Jordan

URLS:
http://www.phonegap.com/
http://www.adobe.com/products/air/


Ryuunosuke Miyauchi wrote:Im not only new to Android, but at the same time new to programming. I've recently started with Head First Java 2nd edition, as I wish to begin a small business creating Apps for the Android Market place, but my only background in any type of coding is HTML, which I did back in high school when I was 16 (currently 21).

In the end, I want to create software for PCs, tablets, and phones. So i've also picked up Sam's Teach yourself C++ in 10 minutes, as my end goal in a couple years is becoming a professional programmer.

7 years ago
I think this book is best for people who have done some Android development, but don't do it all day, everyday. The early chapters do provide a walk through of getting set up, but each chapter that follows is very much a stand alone topic. We tried to pick topics that are outside of the normal "prescribed" development process. For example, the chapters on scripting, web bases apps, and flex apps, each describe an alternative methodology for Android development, so even seasoned readers will get something out of this book.

The chapter on Animation, for example, tries to explain the built in support for Animation, and how to use it "right". The intention is that the animation examples should help people who are familiar with computer animation in general, but may have never done it on Android.

-Lucas Jordan


Nidhi Sar wrote:The description of the book "Practical Android Projects" mentions that it is for people new to Android Programming. How about people who've done some of it?

I don't want to re-read the basics (Google's online developer guide is pretty good on that), but I'd like to read a book that can expand horizons, say do project on developing a mobile app using REST services and so on. Is this book for intended for more experienced audience - say with a couple of years on Android programming?

7 years ago

Android is a surprising complete technology, but of course everything can be improved. If I could make anything better it would be to improve how layout and animations work together. For those who have worked with Swing, Android will not feel all that different, except when you want to animate something. For example, there is a bug (I call it a bug anyway) where an Animation will change where a component (or Drawable) is drawn, but does not change where the component receives events. For example, say you have a button on the left side of the screen and you want to animate it to the right. If you use the Animation class (and why wouldn't you, its called Animation after all?) to move the button to the right, it will not respond to touch events at the right side of the screen, only where the button visually used to be, on the left. To make it work right, you have to request that button be laid out again at the end of the animation, specifying its final coordinates. This is extra, error prone, code.

Speaking of Animations, maybe I was just spoiled by the way JavaFX's Timeline class worked, but I find the way Animation works a little tricky when you want to chain Animations together. With Timeline you can just say, "Never mind where you start, just end here", With Animations, you have to know something about the location and scale of a View in order create the desired result. This is due to the fact that AnimationSet applies all sub animations, even those that have elapsed.


My 2 cents anyway
-Lucas Jordan

Carlo Lopez wrote:Hey guys!

thank you for taking the time to answer us, the humans.

I'd like to know what you think are the aspects that Android has to enhance?? (from the user's and the developer's point of view)

thanks in advance!!

I WANNA WIN YOUR BOOK!!!

7 years ago