クイックスターターズ

Androidのバックエンドを構築する方法は?

42min

はじめに

このチュートリアルでは、Back4Appを使用して、完全なバックエンドを構築する方法を学びます。 Android (Java) アプリケーションのために。

データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4Appの重要な機能を統合する方法を説明し、Androidクライアントとシームレスに通信する安全でスケーラブル、かつ堅牢なバックエンドを作成します。

Back4Appの迅速なセットアップと直感的な環境が、サーバーやデータベースを手動で構成するのに比べて、時間と労力を大幅に削減できることもわかります。

その過程で、Cloud Jobsを使用したタスクのスケジューリングや、外部統合のためのWebhookの設定など、主要な機能に関する実践的な経験を得ることができます。

このチュートリアルの終わりまでには、この基盤となるセットアップを本番環境に適したアプリケーションに拡張する準備が整い、必要に応じてカスタムロジックやサードパーティAPIを簡単に組み込むことができるようになります。

前提条件

このチュートリアルを完了するには、次のものが必要です:

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4Appの始め方. アカウントを持っていない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • 基本的なAndroid (Java) 開発環境 これを使用して設定できます。Android Studioまたは同様のツール。最新のAndroid SDKがインストールされていることを確認してください。
  • Java (バージョン8以上) Androidプロジェクトをコンパイルして実行するにはJavaが必要です。
  • Javaと基本的なAndroidの概念に関する知識 Android開発者ドキュメント. Androidが初めての場合は、公式ドキュメントや初心者向けのチュートリアルを確認してから始めてください。

始める前に、これらの前提条件がすべて整っていることを確認してください。Back4Appプロジェクトを設定し、ローカルのAndroid環境を準備しておくと、より簡単に進めることができます。

ステップ1 – Back4Appプロジェクトの設定

新しいプロジェクトを作成する

Back4AppでAndroidバックエンドを構築する最初のステップは、新しいプロジェクトを作成することです。まだ作成していない場合は、次の手順に従ってください:

  1. Back4Appアカウントにログインする.
  2. 「新しいアプリ」ボタンをクリックする Back4Appダッシュボードで。
  3. アプリに名前を付ける(例:「Android-Backend-Tutorial」)。
Document image


プロジェクトが作成されると、Back4Appダッシュボードにリスト表示されます。このプロジェクトは、このチュートリアルで説明するすべてのバックエンド設定の基盤となります。

Parse SDKを接続する

Back4Appは、データを管理し、リアルタイム機能を提供し、ユーザー認証を処理するためにParseプラットフォームに依存しています。AndroidアプリケーションをBack4Appに接続するには、Parse Android SDKをインストールし、Back4Appダッシュボードの資格情報で初期化する必要があります。

Parseキーを取得する: Back4Appダッシュボードで、アプリの「アプリ設定」または「セキュリティとキー」セクションに移動して、アプリケーションIDクライアントキー(またはJavaScriptキーが示されている場合)。また、ParseサーバーURL(通常はhttps://parseapi.back4app.com)を見つけることができます。

Document image


Parse SDKをインストールする あなたのAndroidプロジェクトにこれらの行を追加することで module-level build.gradle:

Text


Jitpackリポジトリが必要な場合は、あなたの root build.gradle:

Text


あなたのAndroidアプリケーションでParseを初期化する: カスタム Application クラスを作成する(例: App.java) そして AndroidManifest.xmlを設定する:

Java


次に、このカスタム Application クラスをあなたの AndroidManifest.xml:

XML


このステップを完了することで、あなたのAndroidフロントエンドとBack4Appバックエンドの間に安全な接続が確立されました。すべてのリクエストとデータトランザクションはこのSDKを通じて安全にルーティングされ、手動のRESTまたはGraphQL呼び出しの複雑さが軽減されます(必要に応じてそれらを使用することもできます)。

ステップ2 – データベースの設定

データの保存とクエリ

Back4Appプロジェクトが設定され、Parse SDKがAndroidアプリに統合されたので、データの保存と取得を開始できます。レコードを作成して保存する一般的な方法は、ParseObjectクラスを使用することです:

Java


データをクエリするには:

Java


また、Back4AppのREST APIエンドポイントを使用することもできます:

Curl


Back4Appはまた、GraphQLインターフェースを提供しています:

GraphQL

GraphQL


これらの多様なオプションにより、Parse Android SDK、REST、またはGraphQLを通じて、開発プロセスに最適な方法でデータ操作を統合できます。

スキーマ設計とデータ型

デフォルトでは、Parseは スキーマを動的に作成することを許可します, ただし、より多くの制御のためにBack4Appダッシュボードでクラスとデータ型を定義することもできます。

  1. Back4Appダッシュボードの「データベース」セクションに移動します
  2. 新しいクラスを作成します(例:「GameScore」)および関連するカラムを追加します。
新しいクラスを作成
新しいクラスを作成


Back4Appはさまざまなデータ型もサポートしています: 文字列, 数値, ブール値, オブジェクト, 日付, ファイル, ポインタ、配列、リレーション, ジオポイント, およびポリゴン. 各フィールドに適切な型を選択できます。

カラムを作成
カラムを作成


Back4Appは、データモデルの設計を支援する AIエージェントを提供しています。

  1. アプリダッシュボードまたはメニューからAIエージェントを開きます
  2. データモデルを簡単な言葉で説明します(例:「新しいToDoアプリを完全なクラススキーマで作成してください。」)。
  3. AIエージェントにスキーマを作成させます
Document image


リレーショナルデータ

リレーショナルデータがある場合—例えば、複数のCategoryオブジェクトを指すGameScoreオブジェクト—ParseでPointersまたはRelationsを使用できます。例えば:

Java


クエリを実行する際、ポインタデータを含めることができます:

Java


ライブクエリ

リアルタイムの更新のために、Back4AppはLive Queriesを提供します。Androidアプリから特定のクラスの変更にサブスクライブできます:

  1. ライブクエリを有効にするには、Back4Appダッシュボードのアプリのサーバー設定で行います。
  2. コード内でライブクエリを初期化する必要があります。

Androidでは、通常、Parse LiveQuery Androidライブラリを使用してサブスクライブします。手順は他のプラットフォームと似ていますが、LiveQueryClientを統合します。

Text


次に:

Java


購読することで、新しいレコードが作成、更新、または削除されるたびにリアルタイム通知を受け取ります。この機能は、複数のユーザーがページを更新せずに最新のデータを確認する必要があるコラボレーション型または動的なアプリに特に価値があります。

ステップ 3 – ACL と CLP を使用したセキュリティの適用

Back4app セキュリティメカニズム

Back4App は、アクセス制御リスト (ACL)クラスレベルの権限 (CLP)を提供することで、セキュリティを真剣に考えています。これらの機能により、オブジェクトまたはクラスごとにデータの読み取りや書き込みを制限でき、認可されたユーザーのみがデータを変更できるようになります。

Document image


アクセス制御リスト (ACL)

ACLは個々のオブジェクトに適用され、どのユーザー、役割、または一般の人々が読み取り/書き込み操作を行うことができるかを決定します。例えば:

Java

ACLを編集
ACLを編集


クラスレベルの権限 (CLP)

CLPは、クラス全体のデフォルトの権限を管理します。たとえば、クラスが一般に読み取り可能または書き込み可能か、または特定の役割のみがアクセスできるかどうかです。

  1. Back4appダッシュボードに移動, アプリを選択し、データベースセクションを開きます。
  2. クラスを選択(例: “GameScore”)。
  3. クラスレベルの権限タブを開きます。
  4. デフォルトを設定します。
Document image


これらの権限はベースラインを設定し、ACLは個々のオブジェクトの権限を微調整します。堅牢なセキュリティモデルは通常、CLP(広範な制限)とACL(オブジェクトごとの細かい制限)を組み合わせます。詳細については、アプリセキュリティガイドラインをご覧ください。

ステップ4 – クラウドコード関数の作成とデプロイ

なぜCloud Codeなのか

Cloud Codeは、サーバー側でカスタムJavaScriptコードを実行できるParse Server環境の機能です。サーバーやインフラを管理する必要はありません。Cloud Codeを書くことで、Back4Appのバックエンドを追加のビジネスロジック、バリデーション、トリガー、そしてParse Server上で安全かつ効率的に実行される統合で拡張できます。

例の関数

クライアントから送信されたテキスト文字列の長さを計算するシンプルなCloud Code関数:

main.js


デプロイメント

  • Back4App CLI:
  • ダッシュボード: アプリのダッシュボードに移動し、Cloud Code > Functions. コードをmain.jsにコピー/ペーストし、Deployをクリックします。
Document image


関数の呼び出し

Parse SDKを使用してAndroid(Java)から:

Java


REST(レスト)またはGraphQLを介して呼び出すこともできます。この柔軟性により、AndroidフロントエンドやRESTまたはGraphQLをサポートする他のクライアントにカスタムロジックを統合できます。

ステップ5 – ユーザー認証の設定

Back4Appにおけるユーザー認証

Back4Appは、Parse Userクラスを認証の基盤として活用しています。デフォルトでは、Parseはパスワードのハッシュ化、セッショントークン、セキュアストレージを処理します。これにより、複雑なセキュリティフローを手動で設定する必要がありません。

ユーザー認証の設定

Javaを使用したAndroidアプリケーションで、新しいユーザーを作成できます:

Java


既存のユーザーにログインします:

Java


RESTを介したログインは次のようになります:

Bash


セッション管理

成功したログインの後、Parseはユーザーオブジェクトに保存された セッショントークン を作成します。現在ログインしているユーザーを確認できます:

Java


ログアウトすることができます:

Java


ソーシャルログイン統合

Back4appとParseは、 GoogleFacebookのような一般的なOAuthプロバイダーと統合できます。たとえば、 Facebookログインを設定するには、 Facebook App IDを構成し、Android用の専用Parse FacebookUtilsを使用します。詳細な手順は異なるため、 ソーシャルログインのドキュメントを参照してください。

メール確認とパスワードリセット

メール確認とパスワードリセットを有効にするには:

  1. Back4Appダッシュボードのメール設定に移動します。
  2. メール確認を有効にする
  3. 送信元アドレスを構成するとメールテンプレート。

これにより、ユーザーのメールが有効であることが確認され、安全なパスワード回復方法が提供されます。

ステップ6 – ファイルストレージの処理

ファイルのアップロードと取得

Parseには、ファイルアップロードを処理するための ParseFileクラスが含まれており、Back4appは安全に保存します:

Java


オブジェクトにファイルを添付する:

Java


ファイルのURLを取得する:

Java


ファイルのセキュリティ

Parse Serverは、匿名ユーザーまたは認証されたユーザーがファイルをアップロードできるかどうかを制御するなど、ファイルアップロードのセキュリティを管理するための柔軟な設定を提供します。より高度な設定については、ドキュメントを確認してください。

ステップ7 – メール確認とパスワードリセット

概要

メールを確認することで、新しいユーザーがサインアップに使用したメールアドレスを所有していることを確認します。パスワードリセットにより、ユーザーは安全にアカウントを回復できます。

Back4Appダッシュボードの設定

  • メール確認を有効にする: アプリのダッシュボードで、メール設定に移動します。
  • パスワードリセットを有効にする: パスワードリセットのメールフローを設定します。

コード/実装

Javaでのパスワードリセットのトリガー:

Java


ステップ8 – クラウドジョブによるタスクのスケジューリング

クラウドジョブ

Back4Appのクラウドジョブを使用して、古いデータのクリーンアップや毎日のメール送信などの定期的なタスクをスケジュールします。例:

JS


それをBack4Appダッシュボード > アプリ設定 > サーバー設定 > バックグラウンドジョブでスケジュールします。

クラウドジョブのスケジューリング
クラウドジョブのスケジューリング


ステップ9 – ウェブフックの統合

ウェブフックは、特定のイベントが発生したときに、Back4Appアプリが外部サービスにHTTPリクエストを送信できるようにします。例えば、Stripeのようなサードパーティサービスにデータを送信することができます。

  1. ウェブフックに移動し、Back4Appダッシュボード > その他 > WebHooksを選択します。
  2. 外部エンドポイントでウェブフックを追加します。
  3. 関連イベントのためにトリガーを設定します。
ウェブフックの追加
ウェブフックの追加


ステップ10 – Back4App管理パネルの探索

Back4app管理アプリ」は、非技術的ユーザー向けに設計されたウェブベースの管理インターフェースです。コードを書くことなく、迅速なCRUD操作と日常的なデータ管理を可能にします。

管理アプリの有効化

  • アプリダッシュボード」に移動し、 > その他 > 「管理アプリ」を選択し、「管理アプリを有効化」をクリックします。
管理者アプリを有効にする
管理者アプリを有効にする


最初の管理者ユーザーを作成し、サブドメインを設定すると、データ管理用のWeb UIが利用可能になります。

結論

この包括的なチュートリアルに従うことで、あなたは:

  • 安全なバックエンドを作成しました(Android(Java)アプリ用のBack4App上)。
  • データベースを構成しました。クラススキーマ、データ型、関係を含みます。
  • リアルタイムクエリを統合しました(ライブクエリ)で即時データ更新を実現しました。
  • セキュリティ対策を適用しました。ACLとCLPを使用してデータアクセスを保護および管理します。
  • クラウドコードを実装しました。サーバー側でカスタムビジネスロジックを実行します。
  • ユーザー認証を設定しました。メール確認とパスワードリセットをサポートします。
  • ファイルのアップロードを管理しました。オプションのファイルセキュリティコントロールを含みます。
  • クラウドジョブをスケジュールしました。自動化されたバックグラウンドタスクのために。
  • Webhookを使用して外部サービスと統合しました。
  • Back4App管理パネルを探索しました。データ管理のために。

堅牢なAndroidフロントエンド(Java)と強力なBack4Appバックエンドを備え、機能豊富でスケーラブルかつ安全なアプリケーションを開発する準備が整いました。より高度な機能を探求し、ビジネスロジックを統合し、Back4Appの力を活用して、サーバーとデータベースの管理にかかる無数の時間を節約してください。コーディングを楽しんでください!

次のステップ

  • 本番環境向けのAndroidアプリを構築する このバックエンドを拡張して、より複雑なデータモデル、キャッシング戦略、パフォーマンス最適化を処理します。
  • 高度な機能を統合する 専門的な認証フロー、役割ベースのアクセス制御、または外部API(支払いゲートウェイなど)など。
  • Back4appの公式ドキュメントをチェックする 高度なセキュリティ、パフォーマンス調整、ログ分析についての詳細な情報を得るために。
  • 他のチュートリアルを探る リアルタイムチャットアプリケーション、IoTダッシュボード、または位置情報ベースのサービスに関するもの。ここで学んだ技術をサードパーティのAPIと組み合わせて、複雑な実世界のアプリケーションを作成できます。