-
KotlinとJetpack Composeで作るAndroid数独アプリ開発講座
Jetpack Composeは、AndroidのネイティブUIを構築するためのモダンな公式ツールキットです。宣言的なアプローチにより、従来のXMLベースの開発よりもUI開発をシンプルかつ迅速に進められるのが大きな特徴です。 無料でプログラミングを学べることで有名なfreeCodeCamp.orgのYouTubeチャンネルでは、KotlinとJetpack Composeを使って数独(Sudoku)アプリをゼロから作り上げるコースが公開されました。視聴時間は約3.5時間。開発を進めながら、グラフデータ構造とアルゴリズムについても自然に学べる構成になっています。 講師を務めるのはRyan M.
-
Googleでダークモードを有効にする方法|Chromeブラックテーマ設定ガイド
近年、多くの開発者の間でダークモードが人気を集めています。その理由は明白です。ダークモードを有効にすることで目の疲れが軽減され、目の健康にも良い影響をもたらします。さらに、デバイスのバッテリー消費削減など、マシンと人間の両方にとってパフォーマンス向上につながるメリットがあります。 この記事では、Windows PCとAndroidスマートフォンの両方で、Google Chromeのダークテーマを有効にする方法を解説します。さらに、Chrome拡張機能を使ってGoogleのダークテーマをオンにする方法も紹介します。 それだけではありません。この記事を読み終える頃には、Windowsアプリ自体もダ
-
【初心者向け】Androidアプリ開発入門:KotlinとXMLでチップ計算アプリを作ろう
Androidアプリには巨大な市場がある 世界中のスマートフォンの75%がAndroid端末であり、またインターネットユーザーの75%はスマートフォンだけでインターネットにアクセスしています。この数字が示す通り、Androidアプリには非常に大きな市場が存在します。 そんなAndroidアプリ開発の第一歩を踏み出したい初心者のために、freeCodeCamp.orgのYouTubeチャンネルで「Androidアプリ開発クラッシュコース」が公開されました。Android開発がまったく初めてという方に最適な、約1時間の無料コースです。 講師はFacebookのAndroidリード、Rahul P
-
AndroidスマホでLaravel 8をセットアップする方法【PC不要】
こんにちは!この記事では、スマートフォンだけを使ってLaravel 8をインストールする方法をご紹介します。このガイドを最大限に活用するには、PHPの基礎知識があると理想的ですが、なくても心配いりません。基本の部分も丁寧に解説するので、どなたでもスムーズに始められます。Laravelとは?Laravelは、表現力豊かでエレガントな構文が特徴のWebアプリケーションフレームワークです。PHPをベースに構築されているため、Laravelを使えばPHPでの開発が格段に効率化されます。認証機能をはじめ、さまざまな機能に対応したパッケージが豊富に用意されている点も魅力です。たとえば認証機能なら、自分で一
-
Linux上でAndroid-x86とVirtualBoxを使ってAndroidゲームを楽しむ方法
この記事では、Linux上で仮想マシンを活用しながら、お気に入りのAndroidゲームを楽しむ方法を紹介します。Androidスマートフォンをお持ちなら、その中の面白いゲームにハマっている方も多いのではないでしょうか。あるいは、スマホでしか動かないアプリを使いたいというケースもあるかもしれません。そんなとき、ふとこう考えたことはありませんか?――「このゲームやアプリをデスクトップPCでも動かせたらいいのに」と。話をシンプルにするため、ここでは対象をAndroidで動作するアプリケーションに絞って説明します。解決策の一つは、PC上でAndroidエミュレータを実行することです。しかしAndroi
-
2019年のAndroidアプリ開発の実際:最新Android技術スタックへの完全移行
Bitotsav 19 アプリがどのように現実になったか背景:Pantheon 17 ふり返り約2年前の2017年9月、友人のAshank Anshumanに誘われて、私たちの大学の技術祭向けアプリ開発を始めました。2週間ほど昼夜を問わず作業し、祭りの開幕に間に合うようにリリースすることができました。疲れ切ってはいましたが、自分たちが作ったものが実際に人々に使われるというのは、何とも言えない素晴らしい感覚でした。このアプリは主催者が参加者へ情報を伝える目的を完璧に果たしました。Pantheon 17 - Google Play若者が技術力を発揮できる全国的なプラットフォームを提供することを目指
-
Kotlinで実装するAndroidアニメーションのアクセシビリティ対応ガイド
初めてのAndroidコントリビューション向けにサンプルコードを調査していたところ、Kotlinで書かれたアニメーションの事例はほとんど存在せず、ネイティブなアニメーションにおけるアクセシビリティへの配慮を示すコード例も同様に少ないことが分かりました。そこで本記事では、Kotlinでネイティブな「展開(expand)」アニメーションを作成する方法と、TalkBackや拡大文字を利用しているユーザーを支援するための工夫について解説します。すべてのコードはサンプルリポジトリで公開しており、アニメーションするビューを含む単一のアクティビティで構成されています。元となるコードはCalum Turner
-
【初心者向け】Androidブロードキャストレシーバーの基礎と実装入門
安定したインターネット接続が不可欠なアプリケーションを開発しているとしましょう。ネットワーク接続の状態が変化した際に、そのことをアプリへ通知させたい——そんなとき、どうすればよいのでしょうか?一つの解決策として、常時インターネット接続を監視し続けるサービスを実装する方法が考えられます。しかし、この実装にはさまざまな問題があるため、検討する価値すらありません。この問題に対する正しい答えがブロードキャストレシーバー(Broadcast Receiver)です。ブロードキャストレシーバーは、指定したイベントの変化を常にリッスンしてくれます。ブロードキャストレシーバーは、アプリケーションの状態に関わら
-
Androidアプリ開発にまだJavaを使っていますか?Kotlinへの移行が簡単である理由と始め方
ここ数年でKotlinは大きなブレイクを果たし、あらゆる場面で話題となり、その人気は今も上昇し続けています。そして、GoogleがKotlinをAndroidアプリ開発の公式言語として採用したことも正式に発表されています。それにもかかわらず、Android開発では依然としてKotlinよりもJavaを選ぶ開発者が多くいます。なぜでしょうか?主な理由の一つは、メインで使う言語をJavaからKotlinへ変更することへの抵抗感です。人はどうしても新しいものへの変化を恐れてしまうものです。今すぐKotlinを使い始める、簡単な方法実際には、JavaからKotlinへの切り替えはとても簡単です。Kot
-
Androidストレージ入門:内部ストレージと外部ストレージの違いと使い分け
ストレージは誰もが知っている存在でありながら、ついその重要性を見過ごしてしまいがちなものです。かつてはストレージ容量のわずかな増加さえも大きな飛躍であり、実現不可能に思えることさえありました。しかし今では、デバイスにどれだけの容量があるかを気にする人はほとんどいません(その違いに関心を持つ人はさらに少ないでしょう)。 より重要なのは、ストレージに保存されるデータの変遷に目を向けることです。スマートフォン以前の時代、私たちが保存していたのはたまに撮影した写真数枚、いくつかのゲーム、そして大量のテキストメッセージ程度でした。しかし現在、標準的なスマートフォンには、アプリケーション、ドキュメント、写
-
Flutterとは何か?2020年に学ぶべき理由を徹底解説
近年、モバイルアプリケーションの人気はますます高まっています。幸いなことに、開発者向けには数多くのプログラミングツールが用意されており、その中でも最近特に注目を集めているのがFlutterです。 Flutterとは? Flutterは、Googleが開発し2017年5月にリリースした、無料のオープンソースモバイルUIフレームワークです。一言でいえば、単一のコードベースでネイティブモバイルアプリを作成できるフレームワークです。つまり、1つのプログラミング言語と1つのコードベースを使って、iOSとAndroidという2つの異なるプラットフォーム向けアプリを同時に開発できるのです。 Flutt
-
2020年版:Flutterの学び方徹底ガイド|無料・有料のおすすめ学習リソースまとめ
Flutterは今年、最も注目されているテクノロジーのひとつです。この記事では、Flutterを使ってiOS・Androidアプリを開発する方法を学べる、無料および有料の学習リソースをご紹介します。モバイルアプリ開発に興味はありませんか?答えが「はい」なら、この記事はまさにうってつけです。Flutterについてまだよく知らないという方もご安心ください。筆者は以前、「Flutterとは何か、なぜ2020年に学ぶべきなのか」という記事を執筆しています。Flutterは、Googleが開発し2017年5月に公開した無料のオープンソース・モバイルUIフレームワークです。ひとことで言えば、たった1つのコ
-
Androidのデータバインディング入門:Data Binding Libraryでレイアウトとデータを結びつける方法
データバインディングとは、アプリが扱う「データ」と、画面上の視覚的なUI要素を結びつける(バインドする)ための手法です。この仕組みを使うと、UI側の値が更新されるたびに、裏側で保持しているデータも自動的に更新されます。 決して目新しい概念ではなく、AngularJS、React、Vueなど、多くのフロントエンドフレームワークがすでにこの仕組みを設計に取り入れています。 しかし本記事で注目するのはフロントエンドフレームワークではなく、モバイル開発です。GoogleはAndroid向けにData Binding Libraryを提供しており、これはAndroid Jetpackの一部として位置づけ
-
FaceTimeはAndroidで使える?Androidユーザーにおすすめの代替ビデオ通話アプリ5選
FaceTimeは、Appleユーザーの間で最も人気のあるコミュニケーションアプリの一つです。MacBook、iPad、iPhoneをお持ちの方なら、すでにデバイスにインストールされているはずです。アプリを起動してApple IDでサインインするだけで、すぐに使い始められます。とても便利ですね。しかし、FaceTimeはApple/iOSユーザー専用のアプリであり、Google Playストアには存在しません。そのため、Androidデバイスに乗り換えた方や、現在Androidを使用している方は、残念ながらFaceTimeを利用することができません。そこで本記事では、Androidデバイスで使
-
React Navigation 5でReact Nativeのナビゲーションを扱う方法【新API徹底解説】
React Nativeでナビゲーションを扱うとなると、真っ先に思い浮かぶのが「React Navigation」です。 筆者はこのライブラリの大ファンで、React Nativeでナビゲーションを実装する際には常に第一の選択肢としています。その理由は、APIが優れていて直感的に使えるうえ、カスタマイズ性が非常に高い点にあります。 この記事を書くきっかけとなったのは、バージョン5がベータ版から安定版(stable)へと移行したことです。v5では機能面の変更に加えて、ルートの宣言方法がシンプルかつこれまでとはまったく異なる新しいAPIデザインへと刷新されました。 本記事では、新しいAPIを一通り
-
最新のAndroidバージョンとは?Android OSをアップデートする方法を徹底解説
過去数年間、Android OSはモバイルOS市場を席巻し、2019年時点で86%以上という圧倒的な市場シェアを誇っています。高いパフォーマンスと安全性を提供しながら、新機能を搭載したバージョンアップデートも定期的に配信されているのが特徴です。そのため、多くのAndroidユーザーが「自分のスマートフォンの現行バージョンをどうやって確認するのか」「最新版へどうアップデートすればいいのか」を知りたいと考えています。本記事では、スマートフォンで稼働しているAndroidのバージョンを調べる方法と、Android OSのアップデートをインストールする手順をご紹介します。その前に、まずはAndroid
-
React Nativeならボトムシートが超簡単に作れる!ネイティブ開発から乗り換えた理由
先日転職をしたばかりの私にとって、最初のタスクの一つがReact Nativeでのボトムシート作成でした。ネイティブAndroid開発出身の私としては、ネイティブでボトムシートを作るのと同じくらい大変な作業になるだろうと覚悟していました。ところが、それは大きな間違いでした!あまりの簡単さに感動し、React Nativeでボトムシートを作成するシンプルなチュートリアルを書くことにしたのです。ボトムシートとは、画面下からスライドして表示される便利なUIコンポーネントで、多くの場合さまざまな選択肢やアクションが含まれています。モダンなアプリデザインでは非常に一般的な要素で、UberやZomatoな
-
Android Navigation Componentの使い方を徹底解説!ナビゲーショングラフで画面遷移をスマートに管理する方法
アプリケーションの設計は意外と手間がかかるものです。ホワイトボード上に、あちこちから矢印が伸びる図が描かれている——そんな光景を目にしたことはないでしょうか。最初はアクティビティ1〜2個程度のシンプルなアプリのつもりだったのに、気づけば複数の画面フロー、多数のFragment、そして多岐にわたるユーザー操作が発生している。こんなとき、ホワイトボードに描いた設計図をそのままコードとして簡単に再現できたら素敵だと思いませんか?そこで登場するのがNavigation Component(ナビゲーション コンポーネント)です。初めて聞く方のために説明すると、Navigation Componentは、
-
SOLID原則とは?モダンなAndroidアプリ開発のための5つの設計原則を徹底解説
Kriptofolioアプリシリーズ - Part 1ソフトウェアは常に変化し続けるものです。そして、その一つひとつの変更がプロジェクト全体に悪影響を及ぼす可能性があります。そのため、新たな変更を実装する際に発生しうるダメージをいかに防ぐかが非常に重要になります。「Kriptofolio」(旧「My Crypto Coins」)アプリでは、これから段階的に大量の新しいコードを作成していきます。良い方法で開発を進めるために、まずはモダンなソフトウェアを作るための基礎となる原則を理解する必要があります。それこそが「SOLID原則」です。なんともキャッチーな名前ですね。シリーズ目次はじめに:2018
-
iOSとAndroidでクロスオリジン通信ブリッジを構築する方法
ある業務プロジェクトで、それぞれ異なるロジックとプログラミング言語を持つ複数のコンポーネントをメッセージで連携させる必要がありました。この経験から、さまざまなプラットフォームがどのように相互通信を実現しているのか、その方法をすべて理解したいと思うようになりました。本記事の目的は、こうしたクロスオリジン通信ブリッジの仕組みを解説し、シンプルでありながら実用的なサンプルコードを通じて、その実現方法を紹介することです。なお、記事中には「橋」にちなんだダジャレが多数登場します。あらかじめご了承ください。すぐにコードに触れたいという方は、記事の最後にGitHubリポジトリへのリンクを掲載していますので、