Free Android / Java Course for THETA V Owners


#1

As part of the Star Trails Timelapse Challenge, qualified participants will receive this general Android course as a free gift. The course will be applicable to any developer that wants to build Android apps for distribution on Android phones. As the RICOH THETA runs Android OS, much of the material and techniques will be relevant. This course does not cover development techniques specific to the RICOH THETA.

  • 98 lectures
  • 17.5 hours of video
  • 1 GB of reusable developer assets with sound, image, icons, templates. 11,000 files in asset pack
  • Lifetime access. You can continue to use after the challenge is over.

Instructor

How to Get This Course For Free

  1. Register for the Star Trails Timelapse Challenge - You will immediately receive a fully functional trial stitching app and plug-in starter kit

  2. Send proof that you are in the RICOH THETA Plug-in Partner Program. Registration is free. (You need to register to unlock developer features in your camera). You will receive an email explaining how to send a screenshot to show your registration

  3. That’s it! We will send you a code so you can go online and take the course

If you have any questions or problems receiving your free course, send an email to jcasman@oppkey.com

Additional Course Information

Designed for students with some Java experience. I’ve gone through the course and feel that only basic Java experience is needed. There is a Java language basic section included in the course. The focus is on Android development.

There are 27 videos from Paolo with Android development lessons freely available on YouTube. No registration required. The gift course you will receive has 98 videos in it.

Sample Lessons

Sensor Lessons (generic Android phone, not specific to RICOH THETA)


Star Trail Timelapse Challenge - Free Software with Every Registration
Introduction and a question about bug support.
#2

If you are new to Java/Android and do not already have the Java SDK and an IDE on your system, you can get started with an online IDE like Repl.it..
The Java course video shows the Eclipse IDE for the Java section. You can download and install that ,but it is a big, complex IDE that might overwhelm some people.

You can just log into repl.it and go through the basic Java tutorials with the online IDE. At some point, you will need to install Android Studio, but if you just want to go through the Java sections easily to start with, repl.it is a good choice.

Here are some screenshots of repl.it

image

You won’t be able to develop apps for the THETA V using repl.it. For that ,you’ll need Android Studio. Online IDEs will just help you dive into the Java courses quickly if you are starting there.

This is the Java section of the curriculum that I started to test.

Update 12/6
Repl.it just announced multiplayer mode, which allows you to code with your friends, similar to how GoogleDocs works for normal text.


#3

I’ve recently completed the first of 7 applications as part of the free course (for THETA V owners) Android Developers Portfolio Masterclass - Build 7 Apps. If you have a THETA V, you can send @jcasman a picture of your THETA V serial number and he’ll help you get set up.

The class is great for novice developers. My middle school daughter also completed an application. If you complete an app, post a picture. :slight_smile:

image

The picture of the serial number will look something like this:
image

Stuff I Learned

  • setting up Gradle dependencies in the build.gradle file
    • importing Android libraries from GitHub
    • importing Android design libraries
  • creating and organizing fragments in the views package
  • modifying layouts with XML
  • modifying string values in res > values > strings.xml
  • using material design color themes
  • using the controller and PagerAdapter to switch between fragments

Android Studio and Android SDK

If you’re not familiar with Android Studio, it’s good. The level of tools is amazing. The tools are free to use. You do not need to buy anything to get started. Everything is free.

XML Text Editing of Layouts

Drag and Drop Design View of Layouts

Color and Theme Tools

Gradle Build System

Get the Course

  1. Send @jcasman a DM or email with a picture of your serial for a THETA V
  2. He will send you a code for the free course and help sign you up for the challenge and partner program (which you need in order to unlock your THETA V and progress to building plug-ins for the THETA V)

You do not need to complete the challenge to get this course. This course is free just for registering (with camera serial number). If you complete the challenge, you will get a bigger Unity course for free.


#4

Why I moved from VS Code and Repl.it to IntelliJ IDEA

Last night I got to the 26% milestone of the course. I’ve completed 25 out of 98 lectures and have completed all the examples in the 25 lectures. I’m currently working through the Java Refresher Bonus section and will next tackle overloading constructors.

Although I’ve used VS Code and Repl.it for different parts of the Java bonus section, I am now using IntelliJ IDEA exclusively.

Reasons

  1. Code completion is better
  2. When you make a new object, the parameters of the constructor come up.
    image

  1. It’s almost the same as Android Studio (which I like)
  2. Local compilation much faster than a cloud-based IDE on my system (6 core, 32GB RAM)

Background Story

Last summer, I looked at Java IDEs and editors when I taught my daughter Java. At the time, I evaluated IntelliJ IDEA and chose not to use it because it was too big and complex for a young, novice Java student. I also looked at Eclipse, which I felt was even tougher to use. Netbeans is similar to Eclipse.

I looked closely at BlueJ as a lightweight editor and used it for a teaching for a month.

After many hours of testing and research, I finally chose Greenfoot as the editor and teaching platform for the summer. It was absolutely the right choice. Greenfoot is a simplistic editor and allows people to focus on basic concepts like constructors.

After the summer, I moved my daughter off of Java and on to Python and JavaScript because those languages are widely used for data science and data visualization. I first used Atom, then moved to VS Code (which is still my main editor).

A few weeks ago, I decided to get my daughter’s help in evaluating the Android Developers Portfolio Masterclass - Build 7 Apps course for this community. I moved her from VS Code and JavaScript to Android Studio.

Surprise Success with Android Studio

Amazingly, the move to Android Studio is going well. The tooling for Java is more advanced than the tooling for JavaScript. The code completion is phenomenal. Based on this experience, I’m going to move her back to IntelliJ IDEA and pure Java for a while.

Bottom Line

If you’re learning Java, I recommend you use IntelliJ IDEA Community Edition. Although it’s big and complex, the added features are immediately useful, even for novice Java programmers. It’s an easy move between IntelliJ IDEA and Android Studio.

Getting the Course

This Android Developers Portfolio Masterclass - Build 7 Apps course is currently free to all THETA V owners (serial number verification required). Please contact @jcasman about receiving a free coupon code that you can use to get access to the course. You will need to send him a picture of the serial number of your THETA V. He’ll also help you to get your THETA V unlocked and put into Developer Mode if you haven’t done so already.


#5

Making HTTP Requests to Download JSON Data

The second application in this free course series teaches you how to get an array of JSON objects from GitHub and put it into your Android application. The lesson uses the library Volley.

As you need to use an async response to check for problems with the network connection, the process is more difficult than if the data was stored locally in your application.

This lesson is quite relevant to THETA Plug-in developers that want to grab JSON data from a remote source and combine it with the image data on the camera. For example, a cache of geoJSON data could be downloaded to the camera and matched to individual images using the GPS data of the image.

image

The relevant code for the volley is:

import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;

....


public class QuoteData {
    ArrayList<Quote> quoteArrayList = new ArrayList<>();

    public void getQuotes(final QuoteListAsyncResponse callBack) {
        String url = "https://raw.githubusercontent.com/pdichone/UIUX-Android-Course/master/Quotes.json%20";

        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET,
                url, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                for (int i = 0; i < response.length(); i++) {
                    try {
                        JSONObject quoteObject = response.getJSONObject(i);

build.gradle

To use Gradle to set the dependency, add this line:

dependencies {
    implementation 'com.dubsmash.volley:library:2.0.1'
}

request queue

To get the request queue, the application uses an AppController.

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;

public class AppController extends Application {
    public static final String TAG = AppController.class
            .getSimpleName();
    private static AppController mInstance;
    private RequestQueue mRequestQueue;

    public static synchronized AppController getInstance() {return mInstance;}

    @Override
    public void onCreate() {
        super.onCreate();
        mInstance = this;
    }

    public RequestQueue getRequestQueue() {
        if (mRequestQueue == null) {
            mRequestQueue = Volley.newRequestQueue(getApplicationContext());
        }
        return mRequestQueue;
    }

The course comes with the complete source code for the project. I’ve provided a few snippets to give you a preview of what is needed to make an HTTP request with Volley.

The Android Developer site has a good tutorial.

https://developer.android.com/training/volley/

Getting the Course

Android Developers Portfolio Masterclass - Build 7 Apps course is currently free to all THETA V owners (serial number verification required). Please contact @jcasman to receive a free coupon to access the course. He’ll also help you to get your THETA V unlocked and put into Developer Mode if you haven’t done so already.


#6

I’m planning to use some of my time over the holidays to start on the course. This looks like great info. Thanks for all these posts @codetricity.


#7

I think we should have short-duration giveaways for other courses. For example, courses focused on Java fundamentals might also be useful for people coming from another language such as JavaScript or C. As the THETA Plug-in code can be short and there are many example plug-ins to start from, I think it’s feasible to come to plug-in development from another language.

There are many things specific to Java/Android that are going to be new. For example, Gradle and the XML format for the AndroidManifest.xml could be new.

It would be great if you joined in with the learning.


#8

Good Wayne Gretzky quote, by the way!


#9

I’ve completed more than 50% of the course. The second application is considerably more difficult than the first. I suggest supplementing the video course with basic Android tutorials. For example, this tutorial from Google Developers Training Course is good and free:

https://developer.android.com/courses/fundamentals-training/overview-v2

The book below is also available for free as PDF, mobi, epub. I’ll need to send you the link directly as I don’t want to interfere with PACKT’s promotion. I contacted the publisher and they’re okay if I distribute the free download link directly.

Update: 2019-01-09

I sent this note to the course publisher.

The instructor is good. He’s very enthusiastic and makes the course fun. Sections 1, 2, 10, and 11 are easy.
These are great and easy to understand.

Section 3 is tough to understand the basic concept of Android.

At this point, I would like more practice with fundamentals. Material in this course would be useful:

https://developer.android.com/courses/fundamentals-training/toc-v2

In particular, I would like more repetition on Activity, Intent, Application Lifecycle, Fragments, Shared preferences, Background Tasks. Perhaps there is another course that covers the concepts of the fundamentals?


#10

I’ve installed the JDK and have been working through the first 3 lessons. I like the instructor, and I like the format so far. Haven’t really gotten to challenging sections yet. I’ll be back with more comments as I get deeper into it.


#11

I spent some time assessing the two options. I’ve decided towork through the Learning Java by Building Android Games ebook first. The Android Learning Fundamentals (Version 2) course looks fantastic, and I’m hoping to get to it at some point, but it states clearly that it’s good for “for self-study by anyone who knows the Java” which isn’t me.