Blog

Android Studio – courses completed so far…

Android Basics: User Interface (completed Sat 24 Feb 2018) – https://classroom.udacity.com/courses/ud834

Android Basics: User Input (completed Mon 2nd April 2018) https://classroom.udacity.com/courses/ud836

Android Basics: Multiscreen Apps (started Mon 2nd April 2018) https://classroom.udacity.com/courses/ud839

Android Basics: Networking – https://classroom.udacity.com/courses/ud843

Android Basics: Data Storage – https://classroom.udacity.com/courses/ud845

Developing Android Apps – https://classroom.udacity.com/courses/ud851

Advanced Android App Development – https://classroom.udacity.com/courses/ud855

Then the Big Nerd Ranch textbook course.

There are many more Android Development courses at Udacity which I will take after completing the Big Nerd Ranch textbook course.

 

5th April 2018 – Android Studies Checkpoint (started UD839) Imported an existing project (seemlessly).

https://classroom.udacity.com/courses/ud839

Started the above today. Importing the Miwok project went seemlessly…

  1. Go to this GitHub project repository link.
  2. Click on the “Download zip” button to download the app code.
  3. Unzip the downloaded file on your computer so that you have a “Miwok” folder.
  4. Open Android Studio.
  5. Choose File > Import Project and select the “Miwok” folder. It may take some time for the project to be imported. If you have any issues, check the Troubleshooting document.
  6. Once that app has successfully imported, run the app on your Android device (phone, tablet, or emulator). It should look like this screenshot. Nothing happens when you click on any of the categories. That’s expected.

Just for your information, during the process of importing the project, Android Studio prompted for some updates and gave warnings related to obsolete features being replaced. This is due to the fact I am using the bleeding edge version of Android Studio, and the project I’m importing was written months previously.  So it took a few minutes to complete the updates and build, the installing the APK to the phone took minutes instead of the seconds it has taken so far with my apps. Nevertheless, all went seemlessly (if slowly) and the app ran as described on the phone.

How to shut down a Raspberry Pi running androidthings

Assuming the RPi3 running the androidthings image was connected to the internet at IP address 192.168.0.16, then to connect a laptop on the same network to the RPI3 running androidthings, and then shut down the androidthings RPI3, do the following: (note the -p means power off)

root@Inspiron-15R:~/Downloads# adb connect 192.168.0.16
connected to 192.168.0.16:5555
root@Inspiron-15R:~/Downloads# adb shell reboot -p
root@Inspiron-15R:~/Downloads#

Connecting my laptop to RPi3 androidthings and building my first androidthings device

Once I had flashed the image and booted up my RPi3 androidthings, I connected to the wifi and androidthings reported my connected IP address as: 192.168.0.16.

From here in Step 2 – Connect the hardware, under #5:

https://developer.android.com/things/hardware/raspberrypi.html

I found this:

root@Inspiron-15R:~/Downloads# adb connect 192.168.0.16
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
connected to 192.168.0.16:5555
root@Inspiron-15R:~/Downloads#

So it seems I’m now wirelessly connected to the RPi3. So now I want to make an androidthings project on my laptop and deploy it on the RPi3 androidthings machine…  I’m now working on finding out how to do that.

So from this page:

https://developer.android.com/things/hardware/raspberrypi-kit.html

I click on “build your first device”:

https://developer.android.com/things/training/first-device/index.html

OK. That is a long drawn out document with many steps, so for now I will take a break.

 

How to shut down androidthings:

root@Inspiron-15R:~/Downloads# adb connect 192.168.0.16
connected to 192.168.0.16:5555
root@Inspiron-15R:~/Downloads# adb shell reboot -p
root@Inspiron-15R:~/Downloads#

Setting up the Raspberry Pi 3 Model B for Android Things

https://developer.android.com/things/hardware/index.html

https://developer.android.com/things/hardware/raspberrypi-kit.html

https://developer.android.com/things/hardware/raspberrypi.html

The below was done on my Dell Inspiron 15R laptop running Ubuntu Linux 17.10…  When completed, the image flashed  SD card was removed from the laptop and inserted into the Raspberry Pi 3. When the RPi3 was switched on, the Android Things logo appeared after a couple of minutes, and from the main screen I was able to connect to Wifi with no problem at all.

root@Inspiron-15R:~/Downloads# pwd
/home/anne/Downloads
root@Inspiron-15R:~/Downloads# /home/anne/Downloads/android-things-setup-utility-linux

Android Things Setup Utility (version 1.0.19)
============================
This tool will help you install Android Things on your board and set up Wi-Fi.

What do you want to do?
1 - Install Android Things and optionally set up Wi-Fi
2 - Set up Wi-Fi on an existing Android Things device
1
What hardware are you using?
1 - Raspberry Pi 3
2 - NXP Pico i.MX7D
3 - NXP Pico i.MX6UL
1
You chose Raspberry Pi 3.

Setting up required tools...
Fetching additional configuration...
Downloading platform tools...
5.44 MB/5.44 MB
Unzipping platform tools...
Finished setting up required tools.

Raspberry Pi 3
Do you want to use the default image or a custom image?
1 - Default image: Used for development purposes. No access to the Android
Things Console features such as metrics, crash reports, and OTA updates.
2 - Custom image: Upload your custom image for full device development and
management with all Android Things Console features.
1
Downloading Android Things image...
314 MB/314 MB 
Unzipping image...

Downloading Etcher-cli, a tool to flash your SD card...
22.4 MB/22.4 MB
Unzipping Etcher-cli...

Plug the SD card into your computer. Press [Enter] when ready

Running Etcher-cli...
? Select drive /dev/mmcblk0 (15.7 GB) - 00000
? This will erase the selected drive. Are you sure? Yes
Flashing [========================] 100% eta 0s 
Validating [========================] 100% eta 0s 
iot_rpi3.img was successfully written to 00000 (/dev/mmcblk0)
Checksum: e5b2d28d

If you have successfully installed Android Things on your SD card, you can now
put the SD card into the Raspberry Pi and power it up. Otherwise you can abort
and run the tool again.

Would you like to set up Wi-Fi on this device? (y/n) n
Error: canceled wifi setup
Stopping adb server...
Stopped adb server...

Now that you’re set up, try sample projects in Android Studio or in the sample
repository here: https://developer.android.com/things/sdk/samples.html

To learn more about features like over-the-air updates, visit the Android Things
Console: https://partner.android.com/things/console

Press [Enter] to quit.

root@Inspiron-15R:~/Downloads#

Starter code for new Empty Activity and LinearLayout

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".MainActivity">

<TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Hello World!" />

</LinearLayout>


MainActivity.java
package com.example.android.udacityud836userinputlesson5part18;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 }
}