search
LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

NCMBのFlutter SDKを使ってニュースアプリを作る(その1:画面の仕様とSDKの初期化)

NCMBでは公式SDKとしてSwift/Objective-C/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。

今回はコミュニティSDKの一つ、Flutter SDKを使ってニュースアプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。

ncmb | Dart Package

完成版のコード

作成したデモアプリのコードはNCMBMania/flutter_news: Flutter SDKを使ったニュースアプリデモです。にアップロードしてあります。

ベースを作成する

flutter create コマンドでベースを生成します。

flutter create news_app

lib/main.dartについて

今回のコードはすべて main.dart に記述しています。クラスは次の5つです。

  • MyApp extends StatelessWidget
  • MyHomePage extends StatefulWidget
  • _MyHomePageState extends State
  • MyDetailPage extends StatefulWidget
  • _MyDetailPageState extends State

MyApp

アプリ全体の設定を行っています。

MyHomePage

_MyHomePageStateを呼び出しています。

_MyHomePageState

localhost_53010_.png

NCMBに保存されているニュース記事を取得して、一覧表示しています。お気に入りの記事だけを表示する機能もあります。

MyDetailPage

記事一覧をタップした際に呼ばれます。_MyDetailPageStateを呼び出しています。

_MyDetailPageState

localhost_53010_ (1).png

記事の詳細を表示します。HTMLをレンダリングして本文を表示しています。

NCMB SDKのインストール

NCMB SDKは flutter pub add ncmb でインストールできます。

flutter pub add ncmb

記事執筆時点での最新版は 2.2.0 です。

NCMB SDKの初期化

まず main.dart にてNCMB SDKをインポートします。

import 'package:ncmb/ncmb.dart';

main関数にて初期化します。アプリケーションキーとクライアントキーは assets/.env 内に記述しています。今回はdotenvライブラリ flutter_dotenv を使っています。

Future main() async {
  await dotenv.load(fileName: '.env');
  var applicationKey =
      dotenv.get('APPLICATION_KEY', fallback: 'No application key found.');
  var clientKey = dotenv.get('CLIENT_KEY', fallback: 'No client key found.');
  NCMB(applicationKey, clientKey);
  runApp(const MyApp());
}

これでNCMB SDKの利用準備が整います。

匿名認証の利用準備

FireShot_Capture_328_-_ニフクラ_mobile_backend_-_console_mbaas_nifcloud_com_20211210105942_-_328.jpg
FireShot_Capture_328_-ニフクラ_mobile_backend-console_mbaas_nifcloud_com_20211210105942-_328.jpg

匿名認証はスマートフォンアプリ内部でUUIDを生成し、それを使って認証を行います。IDやパスワードを入力することなく、認証機能が利用できます。匿名認証はまず、NCMBの管理画面で有効にしなければなりません。

まとめ

今回は各画面の説明とNCMB SDKの初期化までを行いました。次回はニュース記事の取得と表示を行います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0