Android File Storage App

Build an Android file storage mobile app using Android Studio, and associate it with a Catalyst project using Catalyst Android SDK to store files securely in the project's File Store

Introduction

This tutorial will help you build an Android file storage application called ZCDrive, which stores files securely. You will be able to upload files in the app, and view, delete, or download them from the app's interface.

The Android app will be associated with a Catalyst project that will enable you to make use of Catalyst's secure cloud storage and other features for the app. When you upload or delete a file from the app, the actions will be synchronized in the File Store of your Catalyst project. This association will be handled by Catalyst's Android SDK. We will register the Android package with the Catalyst project and include the SDK in the app's source code.

The ZCDrive app will be built on the Kotlin development platform. Kotlin is a cross-platform, lightweight, concise programming language that is fully interoperable with Java in Android application building. Catalyst Android SDK offers support for both Java and Kotlin, and enables you to build robust apps on either platform.

We will work with Android Studio to build the app, and perform a manual test on it using an emulated device in the IDE. The final application will look like this:

You can access a working application's final source code from this GitHub repository.

Note: You can learn about the fundamentals of Android application building and developing Android apps with Kotlin from the official Android documentation and Android's Kotlin documentation.

The ZCDrive app uses the following Catalyst features:

  • Catalyst Authentication: The app enables you to sign up for an account and log in to it to store your files securely.
  • File Store: We will create a folder in the File Store to store the files uploaded through the mobile app.
  • Data Store: We will create a table to store the metadata of the files that are stored in the app, such as the file name, uploaded time, file type, etc.

ZCDrive will not include any Catalyst fundamental components such as the Catalyst functions or the web client.

You will be given the files to be included in your app's source, with their code configured. You will just have to replace the given files with the existing files present in your app's directory, as directed.