Categories
Mobile Programming

Android’s Camera2 API

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

If you want to write an Android app that interacts with the camera beyond merely taking a picture or shooting some video, you’ll want to make use of the Camera2 API, which became available at API level 21 (a.k.a. Android 5.0, a.k.a. Lollipop), which goes all the way back to late 2014.

There are a number of recently published articles and documents that you can consult if you’d like to explore Camera2:

Categories
Mobile Programming

It’s time to get a head start with Jetpack Compose

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

As I mentioned in the previous article in this series, the biggest development in the latest version of Android Studio (at least as far as I’m concerned) is that Jetpack Compose is now included, and therefore official.

Jetpack Compose is Android’s declarative UI, which puts it in the same general category as iOS’ SwiftUI or Facebook’s React.

Jetpack Compose is called declarative as opposed to imperative, which is often summarized as building UIs in a “this is what it should be like” way versus a “this is how it should be created”. It’s the difference between this…

// Imperative UI (Kotlin)
// ======================
val helloButton = Button()
helloButton.text = "Hello, World!"
val layout = Layout()
layout.add(helloButton)

…and this:

// Declarative UI (Kotlin)
// =======================
Layout {
    Button("Hello, World!")
}

The first one specifies, step by step, how to build a simple UI, while the second simply says “this is the UI I want”.

This is a brand new way to build Android UIs, and it’s expected to become the standard way. Now is you chance to get a head start, and the following links can be your first steps.

Get Started with Jetpack Compose

If you want to learn Jetpack Compose, start here — at developer.android.com, where they’ve got a page of links on learning the basics.

Android Developers’ Jetpack Compose Tutorial

In this official tutorial direct from Android’s own creators, you’ll learn Jetpack Compose by building a screen for a chat app that features:

  • A list of expandable and animated messages
  • With each message containing an image and some text,
  • Using Material Design principles with a dark theme included

…and all in fewer than 100 lines of code.

Android Developers’ Jetpack Compose Basics

You’ll want to supplement the article above with this video, which also has you writing a list-based application using Jetpack Compose.

CODE Magazine’s A Practical Introduction to Jetpack Compose Android Apps

This article introduces Jetpack Compose in small steps, starting with a “Hello, World!” app. It goes from there to introduce key concepts such as state, modifiers, and layouts. Finally, you’re introduced to the list and are shown how to use it by building a list of famous comic book superheroes.

Categories
Mobile Programming

What’s new in Android Studio Arctic Fox?

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

If you haven’t updated Android Studio lately, you may not be aware that the newest revision, codenamed Arctic Fox, has been released on the stable channel. That means that it’s the official current version of Android Studio.

This new version packs a lot of interesting new goodies, but for me, the biggest development is built-in support for Jetpack Compose — the new declarative/reactive/state-driven way to build user interfaces — and the accessibility scanner for the Layout Editor.

To find out more, check out this video from Android Developers:

Categories
Mobile Programming

Learn how to access an API in Android with Retrofit

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

Mobile apps are often front ends for APIs, so one of the first things you should learn about Android programming after getting a reasonable grasp on the basics is how to access an API. If you’re at this stage, this is your lucky day: Tutorials.EU has just posted a new tutorial titled Everything You Need To Know About Retrofit in Android | Get Data from an API that shows you how to build an app that accesses the Rick and Morty API:

https://www.youtube.com/watch?v=FyqK1hbZ6Z4

There are a number of Android libraries that you can use to access APIs, including OkHttp, Volley, and the one used in this tutorial: Retrofit.

Both OkHttp and Retrofit are creations of the digital payments and financial services company Square, whose work you’ve probably encountered when buying something. Both are HTTP clients, but when it comes to accessing APIs, you want to use Retrofit, because that’s exactly what it’s for.

This video is the first in a series. This first video will cover the basics of API access with Retrofit. There’ll be a second video where you’ll clean up the app’s architecture using the MVVM pattern, and then a third video where you’ll change the implementation so that it uses coroutines to perform tasks in the background.

Categories
Hardware Mobile

Unboxing the RedMagic 6R, in photos

The top of the RedMagic 6R box. Tap to view at full size.
This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

I write apps for both iOS and Android devices, so I make it a point to own both an iPhone and an Android phone. Since I’m giving my current Android device, a Motorola One Hyper, to my father-in-law so that he has a mobile phone from the current millennium, I needed a replacement. This set of photos is of that replacement: the RedMagic 6R.

The bottom of the RedMagic 6R box. Tap to view at full size.
The side of the RedMagic 6R box. Tap to view at full size.

RedMagic, a sub-brand of Nubia, which was originally a sub-brand of higher-end phones from Shenzhen-based phone and telco equipment company ZTE, specializes in gaming phones. In addition to using the better CPU and GPU chipsets required for gaming, RedMagic also does a better job of packaging than you’d expect from many other Chinese phone companies who are competing solely on price.

Case in point: Compare the sleek RedMagic packaging you’ve seen so far to the box that my 3rd-generation Motorola G came in:

Tap to read the original article.

I peeled off the shrink wrap and opened the box to see this:

The top layer inside the RedMagic 6R box. Tap to view at full size.

The RedMagic 6R packaging is layered in a manner similar to the iPhone’s. The top layer is a box, which I flipped over to open, as shown below:

Opening the top layer box. Tap to view at full size.

In addition to the SIM tray ejection pin, the top layer box contained the following:

The contents of the top layer box. Tap to view at full size.

Its contents were the Quick Start Guide, a warranty card…

The Quick Start Guide and warranty card. Tap to view at full size.

…as well as a basic case, contained within a protective envelope:

The included case, still inside its envelope. Tap to view at full size.

The case itself is one of those clear, pliable, “soft gel” ones:

The case. Tap to view at full size.

The next layer contained the phone itself:

The phone layer. Tap to view at full size.

The phone’s thin protective plastic sleeve has a little tab that makes it easy to lift out of the box, which was a nice little high-end touch:

The phone, now out of its box. Tap to view at full size.

Here’s the front of the phone, which is still inside its protective plastic sleeve…

The front of the phone, still in its sleeve. Tap to view at full size.

…and here’s the back:

The back of the phone, still in its sleeve. Tap to view at full size.

Finally, I hit the bottom layer, which contained the AC adapter, a USB-C to USB-A charging/data cable, and a USB-C to 3.5 mm headphone adapter:

The bottom layer of the box. Tap to view at full size.

I knew that the RedMagic 6R came with a basic soft gel case, I decided to spend an extra 15 bucks for the hard case, which came in this box:

The box for the RedMagic 6R hard case. Tap to view at full size.

Here’s the case:

The RedMagic 6R hard case. Tap to view at full size.

This may be my favorite Android unboxing experience of all time. It’s certainly a good deal more photogenic than the 3rd-gen Moto G unboxing experience:

Tap to read the original article.
Categories
Mobile Programming

The “Awesome Android Complete Reference” repo on GitHub

This article is part of the Android August series, in which I’m writing an Android development a day during the month of August 2021.

Today, I’m giving you a quick entry for Android August: The Awesome Android Complete Reference repo on GitHub. This is a curated list of great Android development reference material, including tutorials, projects showcasing various architectures, third-party libraries, UI references, notes on performance and optimization, best practices, and more.

Categories
Mobile Programming

FREE video learning for the beginning Android developer

This article is part of the Android August series, in which I’m writing an Android development a day during the month of August 2021.

While you can buy Android video courses on Udemy and other places, don’t forget that there’s a good selection of great video tutorials for free. These are my current favorites.

Kotlin for Beginners

If you’re new to Android development, chances are that you’ll actually be learning not one, but two different things simultaneously: the Android framework and the Kotlin programming language.

If you want a solid grasp of Kotlin, I can’t thnk of a better YouTube video than Donn Felker’s Kotlin for Beginners. The video is almost 10 hours long, but it’s quite thorough. Even experienced developers who are new to Kotlin will find it helpful:

Build a Simple Android App

My current favorite Android tutorial video on YouTube is Philipp Lackner’s Build a Simple Android App, which walks you through the process of building a “to-do list” app in just over an hour:

Google’s Android Basics in Kotlin course

Straight from the Google mothership, Android Basics in Kotlin is a YouTube video-based course that tries to walk the middle road between teaching Android development and teaching Kotlin. It does this by having you build a set of apps.

If you’re into certifications, this course is designed to prepare you for the Associate Android Developer certification exam. Units 1 through 5 of the course are available, and there’s a Unit 6 coming soon!