Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Learning Java by Building Android Games
Learning Java by Building Android Games

Learning Java by Building Android Games: Extend your game development skills while learning Java – follow this book and learn Java for Android to enter the world of Android games development with greater confidence

eBook
€8.99 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Learning Java by Building Android Games

Chapter 1. Why Java, Android, and Games?

Welcome to Learning Java by Building Android Games, which I hope is just the beginning of your exciting journey into designing and writing games. By the end of this book, we will have made four complete games: a math quiz with dynamically increasing difficulty, a memory game in the style of the classic Simon toy, a pong-style squash game, and a clone of the classic Snake game.

Besides these games, we will build more than a dozen working apps to practice and demonstrate individual concepts to aid our learning of Java, Android, and games. Our games and apps will feature sound FX, graphics, and animations. We will learn everything from using the standard Android User Interface (UI) designer to creating smooth animations by plotting individual pixels.

Although I will encourage you to work with me and implement the specific projects that are detailed step by step throughout the book, I fully expect that once you grasp the different concepts, you will want to use them in your own unique creations without delay. This is exactly what I hope you will be inspired to do.

The game projects themselves are not the objective of the book but the means to a much loftier goal. By the end of the book, you will be able to design and implement your own 2D Android games, to sell or just to give away, on Google Play.

Tip

There is a bit of ground work to cover first, but I promise it won't take long and it won't be complicated either. Anyone can learn to program.

However, there are so many differing opinions among experts, which breeds confusion among beginners concerning the best ways of learning to program. So it is a good idea to look at why learning Java, Android, and games is an ideal pathway for beginners. This will be the first thing we will discuss in this book.

Here is what we will learn in this chapter:

  • Is this book for me?
  • Why should I use games to learn to program?
  • Why should I learn Java and Android?
  • Setting up our development environment

Is this book for me?

If you have already decided that Java, Android, or games are what you want to learn, then the next question might be, "Is this specific book for me?".

There are plenty of Java books for beginners and books by much more accomplished authors and programmers than myself. I have read many of them and admire the authors. However, when these books drift away—which they all do—to topics such as Java-native interfaces, web browser applets, or server-side remote communication, I sometimes find myself questioning their immediate relevance to me.

At this point, at least subconsciously, my commitment would wane and the learning process would slow or stop.

If you just want to learn pure Java

If you just want to learn Java on its own, this book will be a solid start. Although the Android stuff might be considered overhead to your pure Java learning, this is much less than the multitude of potentially unnecessary topics that would be introduced in any other Java book. The only caveat with this book is that the necessary overhead is all at the beginning. But once this minimal overhead is cleared, we can focus quite intently on Java.

With regard to the amount of overhead:

  • It will take about six pages to set up our programming environment in this chapter
  • It will take Chapter 2, Getting Started with Android, to get familiar with the Android tools, create your first working project, and glimpse your first real Java code
  • From then on, it will be nearly pure Java and building games

You will soon see that the tiny amount of overhead is not excessive and is well worthwhile.

If Android is your focus

If it was Android itself that made you look at this book, then I am proud to say this is the first book that will teach you Android without assuming you have any prior Java or programming knowledge whatsoever.

Where this book will take you

By the end of this book, you will be able to easily take one of many paths including these:

  • Learning Java at a higher level for any platform
  • Intermediate level Android learning including pure game frameworks (which will be covered in more detail in Chapter 9, Making Your Game the Next Big Thing)
  • A higher level of games development
  • Much easier tackling of any modern object-oriented language for things such as iOS, Windows, or web development

So if you know you want to learn Android or Java, hopefully, I have gone some way to make you commit to the way this book will help you. But why games, Android, or Java at all?

Why build games to learn to program?

Fun, of course! But there are other reasons too. Successfully running any program we have written is immensely satisfying, even more so when it involves using some code that we previously didn't understand.

But making our own games, as you will soon realize, creates a feeling of pleasure that is not easy to describe—it has to be experienced. Then there are added bonuses of sharing our creations with friends on a phone or tablet or even sharing them publicly on the Google Play Store, and you might realize that once you start making games, you can't stop.

As we create more complex games steadily, you'll realize that all techniques and pieces of code can be rehashed to create other games, and you can then start planning your very own unique masterpieces. This is exhilarating to say the least.

And as with many subjects, the more we practice the better we get. So games are a perfect way to start learning to program Java. However, most beginners' books for Android games require a fairly high level of Java knowledge. But as we will see, it is perfectly possible to keep the practical examples as fun game projects and still start with the very basics of Java.

There is a slight trade-off in doing things this way. We will not always approach the working game examples in a "by-the-book" manner. This is to avoid the problem of doing cartwheels before mastering the forward roll.

The learning outcome priority will always be the Java programming concept, followed by understanding the Android environment and game design principles. Having said that, we will closely examine and practice plenty of Android and game programming fundamentals.

Of course, from what we have just discussed, you can probably surmise that it would have been possible to teach a bit more Java in the same number of pages if we hadn't been making games.

This is true, but then we lose all the benefits that come with using games as the subject matter. Making games really can be a joy, and when our brains are open and eager for information, we will learn much faster. The minimal overhead of learning this way is negated a hundred times over. If games don't interest you in the slightest, then there are plenty of Java beginners' guides out there that take the traditional approach. Just don't expect quite the same thrill as when you publish your first game with online leaderboards and achievements.

Why Android and Java?

A part of successful learning is the commitment by the student, not just to do the work, but in their belief that they are doing the right thing in the right way. So many technology-based courses and books don't get that commitment from the reader, not subconsciously anyway.

The problem is the students' belief that they might be, partly at least, wasting their time with something that is or will soon become outdated or perhaps is not quite right for them. This can be true to a large extent with programming. So why should you spend your finite time learning Java, on Android?

Android is the fastest evolving and growing OS ever

At one time, Android updates emerged almost every two months. Even now, they emerge about once in six months. By comparison, Windows takes years between versions and even iOS updates come only yearly and usually change relatively little between versions. Android is obviously evolving and improving at an unprecedented rate.

Tip

Look at the history of Android versions since Version 1 at http://www.cnet.com/news/history-of-android/.

The first humble version of Android was released in 2008, around the same time when consumers were already quite excited about the then much flashier iPhone. News stories were also reporting that developers were getting rich by selling apps in the iTunes app store.

But in the last full year before this book was written, Samsung alone shipped more Android units than Apple sold all iOS devices combined. I am not joining the war on whose devices are best. I enjoy aspects of both Android and Apple, but purely in terms of picking a platform to learn on, you are probably in the right place at the right time with Android.

Android developers have great prospects

Now you might have picked up this book just for the fun and satisfaction that comes with learning to program games. But if you decide to develop your learning further, you will find that the demand for Android programmers is enormous and therefore very lucrative too.

Tip

Some data suggests salaries in excess of 100,000 US dollars. For more information, go to http://www.indeed.com/salary?q1=Android+Developer&l1=United+States.

Android is open source

What open source means is that although Google develops all the flavors of Android that are used on the newest devices, once the code is released, anybody can do whatever they like with it. Google only exerts control for a limited amount of time.

In practice, most Android users have the pure Google OS or the modified versions turned out by big manufacturers such as Samsung and HTC, but there is nothing to stop anybody taking the OS and changing, adapting, or converting it into whatever they like. In short, Android could never be taken away from the programming community.

Java is here to stay

Okay, so we see Android isn't likely to disappear but could Java become redundant? And will your significant time investment be wasted? On Android, as with most platforms, you can use many languages and tools. Android, however, was designed from the ground up to facilitate Java development. All other languages and tools are not invalid but tend to serve a fairly specific purpose, rather than be a real alternative to Java. In fact, as far as games are concerned, many of the alternatives to a pure Java development environment are also Java-based and require a good level of skill in Java to use. For example, the popular LibGDX game development library, which allows you to simultaneously make games for Android, iOS, Windows, Linux, Mac and even the Web, still uses Java! We will talk more about this in Chapter 9, Making Your Game the Next Big Thing. The point is that Java and Android are tied together and will likely thrive together.

Java is not just for Android

Java has been around a lot longer than Android, since the beginning of the 1990s in fact. Although what Java has been used for has evolved and diversified over more than two decades, the originally implemented strengths of the language itself remain the same today.

Java was designed to be platform- or computer-independent. This is achieved by the use of a virtual machine (VM). This is a program written in another language that decodes the Java program that we write and interacts with the computer platform it is running on. So as long as there is a VM for the computer you want to run your Java program on, with a few caveats, your Java program will work. So if you learn Java, you are learning a language that is used everywhere from the smart fridge to the Web and most places in between.

It is true, however, that the VM on each platform can and usually does implement features to specifically suit the uses it is likely to be put to. A clear example of this would be mobile-device-specific features such as sensors, GPS, or the built-in camera on many Android devices. Using Java with Android, you can take photos, detect the air pressure, and work out exactly where in the world you are. Most fridge VMs probably will not do this. So you can't always just run a Java program designed for device x on device y, but the language and syntax is the same. Learning Java on Android prepares you in a large part for Java in any situation. So rest assured that Java isn't going away any time soon.

Java is fast and easy to use

There is a decades-long debate over which language is the best overall or which language is the best to learn programming. Critics of Java will likely say things about Java's speed. It is true that the Java memory management along with the VM interpretation process does have some speed cost. However, these things have benefits; they significantly improve our productivity and the way that the Android VM interacts with a device largely negates the minor speed penalty. And since Android 4.4, it does so completely with Android Run Time (ART), which installs apps written in Java as fully native applications. Now Java programmers can build games in a friendly, interpreted language and have them run as if they were written in a more challenging natively compiled language.

A summary of Java and Android

In a rapidly changing world, if you are worried about where to invest your precious learning time, it is hard to have more confidence. Here we have a language (Java) whose fundamentals have remained almost the same for nearly a quarter of a century, and a platform (Android) that is backed by the biggest names in hardware, software, and retail, and though it's admittedly hugely influenced, it's not actually owned by anyone.

I am not an evangelist of any technology over another although it is true that I love doing stuff on Android. But you can be sure in your mind that if you are considering the best path to begin learning programming, there is a very strong argument that Java and Android are the best choice.

If you want to learn Java for any of its numerous uses, then this is a very good place to start. If you want to develop for Android or get into Android development of any sort, then Java is the absolute fundamental way to start, and making games has the enormous benefits we have already discussed.

By the end of the book, you will be able to write Java code for almost any Java-supported platform. You will be able use almost everything you learn in this book, away from the Android environment.

If you are planning to pursue a career or business by making Android games or any Android apps, then this book is possibly the only place to start for beginners.

If you are completely new to Java and want the easiest possible path to mastering it—the fastest growing platform on the planet—then Learning Java by Building Android Games will probably be just right for you.

So hopefully you are assured that the path this book will take to learn Java is as easy, fun, and thorough as learning Java can be. Let's get set up so we can start building games.

Setting up our development environment

The first thing we need to do is prepare our PC to develop for Android using Java. Fortunately, this is made quite simple for us.

Tip

If you are learning on Mac or Linux, everything in this book will still work. The next two tutorials have Windows-specific instructions and screenshots. However, it shouldn't be too difficult to vary the steps slightly to suit Mac or Linux.

All we need to do is:

  1. Install a software package called the Java Development Kit (JDK), which allows us to develop in Java.
  2. Install Android Studio, a program designed to make Android development fast and easy. Android Studio uses the JDK and some other Android-specific tools that automatically get installed when we install Android Studio.

Installing the JDK

The first thing we need to do is get the latest version of the JDK. To complete this guide, perform the following steps:

  1. You need to be on the Java website, so visit http://www.oracle.com/technetwork/java/javase/downloads/index.html.
  2. Find the three buttons shown in the following screenshot and click on the one that says JDK (highlighted). They are on the right-hand side of the web page. Click on the DOWNLOAD button under the JDK option:
    Installing the JDK
  3. You will be taken to a page that has multiple options to download the JDK. In the Product/File description column, you need to click on the option that matches your operating system. Windows, Mac, Linux and some other less common options are all listed.
  4. A common question here is, "do I have 32- or 64-bit windows?". To find out, right-click on your My Computer (This PC on Windows 8) icon, click on the Properties option, and look under the System heading in the System type entry, as shown in the following screenshot:
    Installing the JDK
  5. Click on the somewhat hidden Accept License Agreement checkbox:
    Installing the JDK
  6. Now click on the download option for your OS and system type as previously determined. Wait for the download to finish.
  7. In your Downloads folder, double-click on the file you just downloaded. The latest version at time of writing this for a 64-bit Windows PC was jdk-8u5-windows-x64. If you are using Mac/Linux or have a 32-bit OS, your filename will vary accordingly.
  8. In the first of several install dialogs, click on the Next button and you will see the next dialog box:
    Installing the JDK
  9. Accept the defaults shown in the previous screenshot by clicking on Next. In the next dialog box, you can accept the default install location by clicking on Next.
  10. Next is the last dialog of the Java installer. Click on Close.

    The JDK is now installed. Next we will make sure that Android Studio is able to use the JDK.

  11. Right-click on your My Computer (This PC on Windows 8) icon and navigate to Properties | Advanced system settings | Environment variables | New (under System variables, not under User variables). Now you can see the New System Variable dialog, as shown in the following screenshot:
    Installing the JDK
  12. Type JAVA_HOME for Variable name and enter C:\Program Files\Java\jdk1.8.0_05 for the Variable value field. If you installed the JDK somewhere else, then the file path you enter in the Variable value: field will need to point to wherever you put it. Your exact file path will likely have a different ending to match the latest version of Java at the time you downloaded it.
  13. Click on OK to save your new settings. Now click on OK again to clear the Advanced system settings dialog.

Now we have the JDK installed on our PC. We are about half way towards starting to learn Java programming, but we need a friendly way to interact with the JDK and to help us make Android games in Java.

Android Studio

We learned that Android Studio is a tool that simplifies Android development and uses the JDK to allow us to write and build Java programs. There are other tools you can use instead of Android Studio. There are pros and cons in them all. For example, another extremely popular option is Eclipse. And as with so many things in programming, a strong argument can be made as to why you should use Eclipse instead of Android Studio. I use both, but what I hope you will love about Android Studio are the following elements:

  • It is a very neat and, despite still being under development, a very refined and clean interface.
  • It is much easier to get started compared to Eclipse because several Android tools that would otherwise need to be installed separately are already included in the package.
  • Android Studio is being developed by Google, based on another product called IntelliJ IDEA. There is a chance it will be the standard way to develop Android in the not-too-distant future.

Tip

If you want to use Eclipse, that's fine; all of the code in this book will work. However, some the keyboard shortcuts and user interface buttons will obviously be different. If you do not have Eclipse installed already and have no prior experience with Eclipse, then I even more strongly recommend you to go ahead with Android Studio.

Installing Android Studio

So without any delay, let's get Android Studio installed and then we can begin our first game project. To do this, let's visit https://developer.android.com/sdk/installing/studio.html.

  1. Click on the button labeled Download Android Studio to start the Android studio download. This will take you to another web page with a very similar-looking button to the one you just clicked on.
  2. Accept the license by checking in the checkbox, commence the download by clicking on the button labeled Download Android Studio for Windows, and wait for the download to complete. The exact text on the button will probably vary depending on the current latest version.
  3. In the folder in which you just downloaded Android Studio, right-click on the android-studio-bundle-135.12465-windows.exe file and click on Run as administrator. The end of your filename will vary depending upon the version of Android Studio and your operating system.
  4. When asked if you want to Allow the following program from an unknown publisher to make changes to your computer, click on Yes. On the next screen, click on Next.
  5. On the screen shown in the following screenshot, you can choose which users of your PC can use Android Studio. Choose whatever is right for you as all options will work, and then click on Next:
    Installing Android Studio
  6. In the next dialog, leave the default settings and then click on Next.
  7. Then on the Choose start menu folder dialog box, leave the defaults and click on Install.
  8. On the Installation complete dialog, click on Finish to run Android Studio for the first time.
  9. The next dialog is for users who have already used Android Studio, so assuming you are a first time user, select the I do not have a previous version of Android Studio or I do not want to import my settings checkbox, and then click on OK:
    Installing Android Studio

That was the last piece of software we needed. The simple nine-step process we just went through has actually set up a whole range of Android tools that we will begin to use in the next chapter.

Summary

We discussed why games, Java, and Android are not only extremely exciting but also arguably the best way to learn to program. This is because games can be an extremely motivating subject matter and Java and Android have enormous strengths with regards to popularity and longevity, and are open to all of us to use for free.

We also set up the Java development kit and installed Android Studio, getting ready for the next chapter where we will actually create a part of a working game and take our first look at some Java code.

Left arrow icon Right arrow icon

Description

If you are completely new to either Java, Android, or game programming and are aiming to publish Android games, then this book is for you. This book also acts as a refresher for those who already have experience in Java on another platforms or other object-oriented languages.

What you will learn

  • Set up an efficient, professional game development environment in Android Studio
  • Build your very own Android UI using easy touse tools in Android Studio
  • Add realtime interaction with Java threads and implement locking/handling screen rotation, pixel graphics, clicks, animation, sound FX, and many other features in your games
  • Explore objectoriented programming (OOP) and design scalable, reliable, and wellwritten Java games or apps on almost any Android device
  • Build and deploy a graphical pongstyle game using advanced OOP concepts
  • Explore APIs and implement advanced features such as online leaderboards and achievements using Google game services
  • Make your game compelling to be the next big hit on Google Play market with a content update strategy and ingame marketing
Estimated delivery fee Deliver to Slovakia

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 29, 2015
Length: 392 pages
Edition : 1st
Language : English
ISBN-13 : 9781784398859
Vendor :
Google
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Slovakia

Premium delivery 7 - 10 business days

€25.95
(Includes tracking information)

Product Details

Publication date : Jan 29, 2015
Length: 392 pages
Edition : 1st
Language : English
ISBN-13 : 9781784398859
Vendor :
Google
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 115.97
Android NDK Beginner`s Guide - Second Edition
€41.99
Learning Java by Building Android Games
€36.99
Android Game Programming By Example
€36.99
Total 115.97 Stars icon
Banner background image

Table of Contents

11 Chapters
1. Why Java, Android, and Games? Chevron down icon Chevron up icon
2. Getting Started with Android Chevron down icon Chevron up icon
3. Speaking Java – Your First Game Chevron down icon Chevron up icon
4. Discovering Loops and Methods Chevron down icon Chevron up icon
5. Gaming and Java Essentials Chevron down icon Chevron up icon
6. OOP – Using Other People's Hard Work Chevron down icon Chevron up icon
7. Retro Squash Game Chevron down icon Chevron up icon
8. The Snake Game Chevron down icon Chevron up icon
9. Making Your Game the Next Big Thing Chevron down icon Chevron up icon
A. Self-test Questions and Answers Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.9
(30 Ratings)
5 star 60%
4 star 0%
3 star 23.3%
2 star 3.3%
1 star 13.3%
Filter icon Filter
Top Reviews

Filter reviews by




angelicarahpsody Jul 07, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I will return to this review after finishing this book, however:I purchased this book after months of exhaustive web searching and learning on my own through trial and error. I had a light understanding of basic programming concepts. I was not satisfied with the material that I could get my hands on in terms of learning Java or working with Android Studio. I came across this book and read the reviews which were highly positive. The author states that he takes a slightly different approach then the normal way of teaching. I find this to be the case, but also, the author's writing style is not similar to the vast number of programming language websites and book excerpts I have read. It is much simpler and more engaging. It is concise and uncomplicated. The author, while assuming the reader is a beginner (which I am) does not beat you over the head with paragraphs of writing that doesn't really apply, endless "real-world" analogies, or heavy use of technical jargon. The author illustrates core concepts expertly.A lot of Java writing that I have read basically throws a lot of code at you and says "We'll worry about this later". This leaves you with a feeling that you are learning too much too quickly and will not know how to piece it together once explained. The author does feed you code in a similar manner, but with smaller chunks, built plainly around a key concept, and then explains what happens without going into heavy endless detail.I downloaded the Kindle version after a purchase of the book, due to it being heavily discounted. I figured I would take a look at it before receiving the paperback. All of a sudden, several hours later and eighty pages in, I feel confident in what I've learned and feel like I can explain it plainly.
Amazon Verified review Amazon
serj May 06, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
thanksnice book
Amazon Verified review Amazon
GoWestYoungMan Feb 23, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
An excellent starter manual for both Android and Java. Only potential drawback is the Android Studio was an older version so modification are needed to some of the code examples. Highly recommended!
Amazon Verified review Amazon
Yhal Htet Aung Oct 24, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
One of the Best Books to learn about Android Game Programming and at the same time, the explaination is simple and easy to understand. I recommend this book for the new developer to study about Android and Java. This is one of the best books ever.
Amazon Verified review Amazon
Jean Dec 02, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Tres bon produit correspond a la description livraison tres rapide vraiment aucun regret une valeur sur je recommande a 100%
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela