Androidアプリの作成方法:知っておくべきことすべて

Androidアプリの作成方法:知っておくべきことすべて
このガイドは無料のPDFとしてダウンロードできます。 このファイルを今すぐダウンロード 。これをコピーして、お友達やご家族とお気軽に共有してください。

独自のAndroidアプリを作成するためのMakeUseOfのガイドへようこそ。このガイドでは、独自のAndroidアプリケーションを作成する理由、それを構築するためのいくつかのオプション、および他のユーザーが利用できるようにする方法について説明します。





Android開発入門

Androidアプリを開発するには、主に2つの方法があります。 1つ目は、おそらくJavaで最初から作成することです。しかし、もちろん、これはあなたがすでに 知る Javaを使用するか、飛び込む前にそれを学ぶ忍耐力を持ってください。しかし、すぐに始めたいと思っている場合はどうでしょうか。





もう1つのオプションは、市場に出回っているポイントアンドクリックのアプリビルダーの1つです。これらのターゲットエンタープライズユーザーの多く(およびエンタープライズ値札が付属しています)。しかし、MITは、アプリを視覚的に構築できるオンラインツールである「AppInventor」を提供しています。 App Inventorを使用すると、いくつかの優れた機能を実現できます。これにより、Javaを掘り下げて、Androidプラットフォームのすべての強力な機能にアクセスできるようになるまで忙しくなります。





以下のセクションでは、入力したテキストを保存する単純な「スクラッチパッド」アプリケーションのプロトタイプバージョンを作成します。最初にAppInventorでこれを行い、Androidエミュレーターで結果をプレビューします。次に、このアプリケーションを拡張して、複数のファイルから選択できるようにし、「メモ帳」のようにします。この種の改善のために、JavaとAndroidStudioに飛び込む必要があります。

準備?それを手に入れましょう。



なぜAndroid向けに開発するのですか?

独自のAndroidアプリを作成する理由は、次のとおりです。

  • 必要性 :結局のところ、それは発明の母です。 Playストアで夢のアプリを探した後、他の誰もまだ持っていないので、自分で作成する必要があることに気付くかもしれません。
  • コミュニティ :何か便利なものを開発し、それを無料で(特にオープンソースとして)利用できるようにすることは、AndroidやFOSSコミュニティに参加するための優れた方法です。オープンソースの貢献がなければ、Linuxは存在せず、 Linuxがなければ、Androidはありません。 (または、少なくともAndroidはありません)。だから、恩返しを検討してください!
  • 学ぶ :プラットフォームを開発するよりも、プラットフォームを理解するためのより良い方法はいくつかあります。それは学校やあなた自身の好奇心のためかもしれません。そしてねえ、あなたが最終的にそれから数ドルを稼ぐことができれば、すべてが良いです。
  • 現金化 :一方で、最初からお金を稼ぐためにこれに取り組んでいるのかもしれません。 Androidはかつてアプリの収益の「低賃料」地区と見なされていましたが、これは徐々に好転しています。ビジネスインサイダー 3月に報告 Androidの収益は2017年に初めてiOSを追い抜くと予想されています。
  • アドオン :開発者は、コンソールコンパニオンアプリやMakeUseOf独自のアプリ(現在は利用できません)など、既存の製品やサービスを宣伝、アクセス、または補完する方法として、一般的にアプリを作成することがよくあります。

理由が何であれ、アプリ開発はデザイン、技術、論理のスキルに挑戦します。そして、この演習の結果(Android向けの実用的で便利なアプリケーション)は、ポートフォリオの一部として役立つ素晴らしい成果です。





さまざまなツールキット、プログラミング言語、 出版社 。大まかに言えば、これらは次の2つのカテゴリに分類されます。

ポイントアンドクリックアプリ

開発の初心者の場合は、Powerpointプレゼンテーションを作成するのと同じ方法でAndroidアプリを作成できる環境があります。ボタンやテキストボックスなどのコントロールを選択し、それらを画面にドロップして(下の画像を参照)、それらの動作に関するいくつかのパラメーターを指定できます。すべてコードを書かずに。





これらのタイプのアプリケーションには、学習曲線が浅いという利点があります。通常は、すぐにジャンプして、少なくとも画面のレイアウトを開始できます。また、バックグラウンドで技術的な詳細(オブジェクトタイプやエラー処理など)を処理するように設計されているため、アプリケーションから多くの複雑さを取り除きます。一方、その単純さは、どの機能がサポートされているかについて、ツールの作成者に翻弄されることを意味します。さらに、これらのツールの多くは大企業を対象としており、高価になる可能性があります。

例外は、機能的で無料のMITのApp InventorWebアプリケーションです。 Googleアカウントでログインした後、数分でアプリをクリックして、スマートフォンまたはAndroidエミュレーターでプレビューできます。

ゼロから書く

もう1つのオプションは、アプリケーションを最初から作成することです。これはおそらくあなたが想像しているものとは異なります-それは映画がそれを描写しているようではありません。

コードを一度に1行ずつソースファイルに入力し、それらを実行可能アプリケーションにコンパイルします。退屈に聞こえるかもしれませんが、実際には、プログラミングに費やす時間の多くは 設計 、または物事がどのように機能するかを考えます。ほとんどの開発者に聞いてみると、コード入力に費やす時間は10〜15%に過ぎないと言われます。そのため、ほとんどの時間を、アプリが何をすべきかについて(生産的に)空想にふけることに費やします。

Androidアプリケーションはいくつかの異なる方法でコーディングできます。 「標準的な」方法は、常に世界で最も人気のある言語の1つであるJavaでアプリを作成することですが、Googleは別のオプションとしてKotlinを追加しています。ゲームなどのパフォーマンスを重視するアプリの場合、C ++などの「母国語」で作成するオプションがあります。これらのアプリは、Dalvik仮想マシンで実行される「通常の」Javaベースのアプリとは対照的に、Androidデバイスのハードウェアで直接実行されます。最後に、「ネイティブ」に見えるモバイルアプリとして配布するために(MicrosoftのXamarinやFacebookのNative Reactなどのツールキットを使用して)Webアプリケーションを「ラップアップ」する方法があります。

統合開発環境(IDE)はプログラミングの日常的な要素のいくつかを処理しますが、この方法の学習曲線は急勾配であることを理解してください。どの言語を選択する場合でも、その基本に精通している必要があります。この時間を前もって投資することは、アプリの開発にすぐに取り掛かることができないという意味で、この方法の欠点です。しかし、あなたが学んだスキルは他の場所に適用できるので、それは長期的には利点です。 Javaを学び、Androidアプリに加えて、デスクトップおよびサーバー側のアプリケーション(Webベースのアプリケーションを含む)用に開発できます。

プロジェクトに最適なオプションはどれですか?

では、どの道が「最高」ですか?これは主観的すぎて誰にとっても答えられませんが、次のように一般化することができます。興味がありながら「遊んでいる」場合は、ポイントアンドクリックのアプリ作成者に固執してください。彼らはあなたが「コースワーク」を必要とせずにその創造的なかゆみを掻くのを助けます。しかし、そのコースワークのアイデアがあなたを怖がらせないのであれば、より長い道のりを歩み、プログラミング言語を学ぶことを検討してください。投資は、将来的に他の多くの方法で報われるでしょう。

さらに、両方の使用を検討してください!ポイントアンドクリックビルダーは、プロトタイプまたは「概念実証」をすばやくまとめるための優れた方法です。それらを使用して、詳細(レイアウトや画面フローなど)の一部をそのまま処理します 多くの マウス駆動の環境でシャッフルするのが速くなります。次に、その柔軟性を活用する必要がある場合は、Javaでそれらを再実装します。

このガイドでは、まさにそのアプローチを採用します。私達はします:

  1. プロトタイプ 私たちのアプリケーション、MITのApp Inventorを使用して、ファイルにテキストを保存する「スクラッチパッド」。
  2. 再実装 これをJavaで(GoogleのAndroid Studio IDEの助けを借りて)、次に進みます 拡張する 複数のファイルから選択できるアプリで、より「メモ帳」になります。

了解しました。十分に話しています。次のセクションでは、コーディングの準備をします。

アプリを作成する準備をする

まだすぐに飛び込まないでください。最初に、知識とソフトウェアが必要です。

必要な知識

ソフトウェアのインストールを開始する前に、開始する前に知っておく必要のある知識がいくつかあります。何よりもまず、 「それは何をすることになっていますか?」 開発を開始する前にアプリの明確な概念が得られるまで待つことは当たり前のように思えるかもしれませんが、驚くでしょう。したがって、動作に関するメモを書き留めたり、画面をスケッチしたりして、この概念を理解するのに少し時間がかかります。まず、アプリの全体像を把握します。

次に、調べます 何が可能か。 たとえば、アプリの理想的な画像が、後世のために生涯をビデオログに記録できるものであると想像してください。君は できる ビデオをキャプチャするアプリを作成します。君は できません あなたの人生のあらゆる瞬間をあなたのデバイスに保存するものを作成してください(不十分なストレージ)。しかし、あなたは できる このストレージの一部をクラウドにオフロードしてみてください。ただし、開発には時間がかかり、それには独自の制限があります(ネットワークにアクセスできない場合はどうなりますか?)。ここで、技術的な詳細のいくつかを調べ、最初からコーディングするかどうかなどの決定を通知できます。

最後に、それは知る価値があります そこに何がある すでに。コミュニティを学び、コミュニティに貢献したいだけの場合、あなたのような既存のオープンソースプロジェクトはありますか?そのプロジェクトを出発点としてフォークできますか?またはさらに良いことに、あなたの強化を開発し、それを貢献しますか?あなたがお金を稼ぐことを探しているなら、あなたの競争はどのようなものですか?簡単な目覚まし時計アプリを書いて、それから百万ドルを稼ぐことを期待しているなら、あなたはテーブルに何か特別なものを持ってきたほうがいいです。

説明したように、入力したテキストを収集して保持する単純なスクラッチパッドを作成します。そしてそうすることで、上記のルールに違反することになります。これは、Androidのメモを取るアプリがすでに公開されているものと、開いているものと クローズドソース 。しかし、これが後ではるかに複雑なアプリになるとしましょう。あなたはどこかから始めなければなりません。

これで、必要なソフトウェアのいくつかを入手できます。

AppInventorで開発する準備

AppInventorツールを使用するために何もインストールする必要はありません。これはWebアプリケーションであり、完全にブラウザーからアクセスします。サイトにアクセスすると、右上隅に次のボタンが表示されます。 アプリを作ろう! 現在Googleアカウントにログインしていない場合は、これをクリックするとログインページに移動します。

それ以外の場合は、AppInventorに直接アクセスする必要があります 私のプロジェクト ページ。

この時点で、アプリをテストする場所を検討してください。冒険好きな方は、インストールすることで携帯電話やタブレットでテストできます Playストアのコンパニオンアプリ 。これですべての準備が整いました。デバイス上で実際に何かを表示するには、実行中のプロジェクトが必要ですが、後で説明します。

または、エミュレーターを使用して、コンピューターでアプリをテストすることもできます。からオペレーティングシステム用のエミュレータをダウンロードしてインストールします このページ 。以下の画像は、Linuxにインストールされているアプリを示していますが、適切なバージョンはWindowsまたはMacにも問題なくインストールされます。

'aiStarter'コマンドを実行すると、エミュレーターを起動できます。これが始まります バックグラウンドプロセス (ローカル)エミュレーターを(クラウドベースの)AppInventorに接続します。 Windowsシステムはそのショートカットを提供しますが、Macユーザーはログイン時に自動的に起動します。 Linuxユーザーは、ターミナルで以下を実行する必要があります。

ルーターのwpsとは
/usr/google/appinventor/commands-for-appinventor/aiStarter &

実行されたら、をクリックして接続をテストできます。 エミュレータ のアイテム 接続 メニュー。エミュレーターがスピンアップするのを確認したら(下の画像を参照)、準備は完了です。

AndroidStudioのインストール

いくつかの簡単なプログラムの開発を計画している場合は、AppInventorだけで十分な場合があります。しかし、しばらく遊んだ後、壁にぶつかったり、App Inventorがサポートしていないいくつかの機能(アプリ内課金など)を使用していることに気付く場合があります。このためには、AndroidStudioがインストールされている必要があります。

現在、Googleによって認可された公式の開発環境であるAndroid Studioは、 IntelliJ IDEA JetBrainsのJavaIDE。オペレーティングシステムのコピーは、からダウンロードできます。 GoogleのAndroidデベロッパーページはこちら 。 WindowsおよびMacユーザーは、それぞれEXEファイルまたはDMGイメージを使用してインストーラーを起動できます。

Linuxユーザーは、ZIPファイルを使用して、好きな場所で解凍し、そこからAndroid Studioを実行できます(Windows / Macユーザーもこれを実行できます)。それ以外の場合は、 Ubuntu Make パッケージをダウンロードしてインストールします。最新のLTSバージョン(この記事の執筆時点では16.04)を使用している場合、Android Studioにアクセスするには、Ubuntu MakePPAをシステムに追加する必要があります。

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make

次に、システムを次のように更新します。

sudo apt update

最後に、次のコマンドを使用してUbuntuMakeをインストールします。

sudo apt install umake

インストールしたら、次のコマンドを使用して、UbuntuMakeにAndroidStudioをインストールするように指示できます。

umake android android-studio

使用許諾契約書を表示した後、基本アプリケーションのダウンロードとインストールを開始します。完了してAndroidStudioを起動すると、ウィザードが別のいくつかの手順を案内します。

まず、「標準」インストールにするか、カスタムインストールするかを選択できます。ここで標準インストールを選択すると、すばやく開始できます。

次に、いくつかの追加コンポーネントをダウンロードする必要があるというメッセージが表示されます。おそらく時間がかかるでしょう。

すべてがインストールされると、新しいプロジェクトを作成したり、既存のプロジェクトを開いたり、設定にアクセスしたりできる小さなスプラッシュ画面が表示されます。

私はあなたがあなたの手を汚す準備ができていることを知っています。それ以上の苦労なしに、何かを構築しましょう。

シンプルなAndroidメモ帳の作成

私たちは(もちろん)座って、飛び込む前にこれを熟考したので、Androidアプリは2つの画面で構成されることがわかります。

1つは、ユーザーが「今すぐ編集」または終了できるようにし、もう1つは実際の編集を行います。最初の画面は役に立たないように見えるかもしれませんが、後で機能を追加するときに役立つ場合があります。プレーンテキストのルールにより、「編集」画面でキャプチャされたテキストはプレーンテキストファイルに隠されます。次のワイヤーフレームは、私たちに良い参照点を提供します(そして、準備するのに5分しかかかりませんでした):

次のセクションでは、MITのAppInventorを使用してビルドします。

MIT AppInventor入門

最初のステップは、新しいプロジェクトを作成することです。 App Inventorにログインし、[ 新しいプロジェクトを開始する 左側のボタン( プロジェクト メニュー)。

名前を付けるためのダイアログが表示されます。

しかし、今度はApp InventorのDesignerビューに移動し、多くのことを取り入れることができます。少し時間を取って、各セクションを見てみましょう。

  1. 上部のタイトルバーにはプロジェクト名が表示されます( muoScratchpad );アプリの画面を追加、削除、切り替えできます(例: 画面1 ); AppInventorを切り替えます デザイナーブロック 右端のビュー。
  2. NS パレット 左側には、使用するすべてのコントロールとウィジェットが含まれています。それらは次のようなセクションに分割されています ユーザーインターフェースストレージ ;これらの両方をアプリで使用します。どのように パレット でさまざまなアイテムを保持します ブロック 見る。
  3. NS ビューア WYSIWYGファッションで構築しているものを示します。
  4. コンポーネント 現在の画面の一部であるアイテムのリストです。ボタンやテキストボックスなどを追加すると、ここに表示されます。ファイルへの参照など、一部の「非表示」アイテムは、実際にはユーザーインターフェイスの一部ではありませんが、ここにも表示されます。
  5. NS 半分 セクションでは、画像やサウンドクリップなど、プロジェクトで使用するアセットをアップロードできます。 (これは必要ありません。)
  6. 最後に、 プロパティ ペインでは、現在選択されているウィジェットを構成できます。たとえば、画像ウィジェットを選択している場合は、その高さと幅を変更できます。

最初の画面のレイアウト:「メイン画面」

次に進む前に、Designerで「メイン」画面のレイアウトをまとめましょう。スケッチを見ると、アプリ名のラベル、ヘルプテキストの行、「編集」画面に移動するためのボタン、および終了するためのボタンが必要です。あなたは見ることができます ユーザーインターフェース パレットには必要なすべてのアイテムがあります:2つ ラベル 、および2 ボタン 。これらを画面上部の垂直列にドラッグします。

次に、それぞれを構成します。ラベルには、テキストの内容、背景色、配置などの要素を設定できます。両方のラベルを中央に配置しますが、アプリ名の背景を黒に設定し、テキストを白にします。

それが実際にデバイス上でどのように見えるかを見る時が来ました。あなたが物を作るとき、赤ちゃんのステップでそうしてください。 私はこれを十分に強調することはできません。

何かが壊れた場合、それはかかるので、一度にあなたのアプリに物事の大きなリストを構築しないでください 長さ 理由を理解する時間。実際の電話でテストする場合は、AI2 Companionアプリを起動し、提供されているQRコードまたは6文字のコードを使用してAppInventorに接続できます。

エミュレータを使用してプレビューするには、上記のaiStarterプログラムを起動していることを確認してから、 エミュレータ から再びアイテム 接続 メニュー。いずれにせよ、少し間を置いた後、ビューアーに表示されているもののように見えるアプリの子犬が表示されます(実際のレイアウトはデバイスとエミュレーターのサイズによって異なる場合があります)。

タイトルが良さそうなので、他のテキストも変更して中央に揃えましょう(これは画面のプロパティですが、 AlignHorizo​​ntal 、テキスト/ボタンではありません)。これで、AppInventorの非常に優れた側面の1つを確認できます。すべての変更はリアルタイムで行われます。テキストの変更、ボタンによる配置の調整などを確認できます。

機能的にする

レイアウトが完了したので、いくつかの機能を追加しましょう。クリック ブロック 左上のボタン。 Designerビューと同様のレイアウトが表示されますが、いくつかの異なる選択肢がカテゴリに配置されています。これらはインターフェースコントロールではなくプログラミングの概念ですが、他のビューと同様に、ドラッグアンドドロップを使用してアプリの一部としてこれらをまとめます。

左側のパレットには、次のようなカテゴリが含まれています コントロール文章 、 と 変数 「ビルトイン」カテゴリにあります。このカテゴリのブロックは、主に舞台裏で発生する機能を表します。 算数 計算できる項目。この下に画面内の要素のリストがあり、ここで使用可能なブロックがそれらの要素に影響します。たとえば、ラベルの1つをクリックすると、そのラベルのテキストを変更できるブロックが表示されますが、ボタンには、クリックしたときに何が起こるかを定義するブロックがあります。

カテゴリ(色で表される)に加えて、各ブロックにはその目的を表す形状もあります。これらは大きく次のように分けることができます。

  • 上に示した「if-then」ブロックのように、中央に大きなギャップがあるアイテムは、処理するアイテムと考えることができます。 イベント 。アプリ内で何かが発生すると、そのギャップ内の他のことが実行されます。
  • コネクタ付きのフラットブロックは、2つのうちの1つです。最初は ステートメント 、これはコマンドと同等であり、上記のフローに適合する項目です。上記の例では、 リストを作る ブロックは、そのままのステートメントです アプリケーションを閉じる
  • 他のオプションは 、ステートメントとわずかに異なるだけです。ステートメントが「これを「42」に設定する」と言う場合、式は「22を20に追加して結果を返す」のようになります。上記では、 リストにあります trueまたはfalseのいずれかに評価される式です。式もフラットブロックですが、左側にタブがあり、右側にノッチがある可能性があります。
  • 最後に、 数字(上記の「17」と「42」)、テキストの文字列(「Thing1」と「Thing2」)、またはtrue / falseを含めます。これらは通常、ステートメントまたは式に提供するものであるため、左側にのみタブがあります。

あなたは確かにすべてを通過することができます ガイドとチュートリアル AppInventorで。ただし、クリックするだけで(文字通り)何が適合するかを確認できるように設計されています。最初のページには、注意が必要な2つの項目(ボタン)があるので、何を考え出すことができるか見てみましょう。これらのいずれか(Button2)をクリックすると、アプリが閉じます。これはボタンとの相互作用であるため。ボタンブロックをチェックして、で始まるものを見つけることができます Button2.clickのとき (またはボタン1がクリックされたとき)。これはまさに私たちが望むものなので、これをビューアにドラッグします。

クリックすると、アプリを閉じます。これは、アプリ全体のフロー機能のように聞こえます。のぞき見 ビルトイン>コントロール セクション、私たちは確かに見ています アプリケーションを閉じる ブロック。そして、それを最初のブロックのギャップにドラッグすると、所定の位置にカチッとはまります。成功!

ボタンをクリックすると、アプリが閉じます。エミュレータで試してみましょう。アプリを閉じることが開発環境でサポートされていないというエラーが表示されますが、これを確認すると、機能することを意味します。

2番目の画面の作成:エディター画面

それでは、Button1に注目しましょう。

これでエディターが開くことになっているので、エディターが存在することを確認することをお勧めします。デザイナに戻って、最初の画面と同じラベルで新しい画面を作成しましょう。 テキストボックス (「親を埋める」に設定 幅、 50% 身長 、および マルチライン 有効)コンテンツを保持し、別のボタン( 'というラベルが付いています<< Save'). Now check that layout in the emulator!

このサーバーにアクセスする/アクセスする権限がありません

先に進む前に、TextBoxからコンテンツを隠したいことがわかっています。 ストレージ 。案の定、そこにはいくつかのオプションがあります。

これらの、 ファイル は最も簡単で、プレーンテキストが必要なので問題ありません。これをビューアに配置すると、表示されないことがわかります。 ファイル見えない コンポーネントは、バックグラウンドで動作してコンテンツをデバイス上のファイルに保存します。ヘルプテキストは、これがどのように機能するかを示していますが、これらのアイテムを表示したい場合は、 ビューアーに非表示のコンポーネントを表示する チェックボックス。

今すぐブロックビューに切り替えてください-プログラムする時が来ました。必要な唯一の動作は、<< Save' button is clicked, so we'll grab our Button1.clickのとき ブロック。ここから、AppInventorが本当に輝き始めます。

まず、TextBoxのコンテンツを取得して保存します File1.saveFileを呼び出す ブロックし、必要なテキストを提供します(TextBox1を使用) TextBox1.text 、その内容を取得します)とそれを保存するファイル(テキストブロックでパスとファイル名を指定するだけです-ファイルが存在しない場合はアプリが作成します)。

また、このファイルが開いたときにその内容をロードするように画面を設定しましょう( エディタ> Editor.initializeの場合 ブロック)。そうすべき File1.ReadFromを呼び出す これはファイル名を指します。を使用してテキストファイルを読み取った結果をキャプチャできます ファイル> File1.GotTextの場合 、を使用してそのコンテンツをTextBoxに割り当てます TextBox> TextBox.Textをに設定 ブロックして、それを渡します テキストを取得 価値。最後に、保存後、Button1をクリックしてメイン画面に戻します(a 画面を閉じる ブロック)。

最後のステップは、メイン画面に戻って最初のボタンをプログラムすることです。エディター画面に送ってほしいのですが、これはケーキの一部です。 コントロール>別の画面を開く ブロック、「エディター」を指定します。

次はなにかな?

うまくいくものができたので、次に何が起こりますか?もちろんそれを強化するために! App Inventorを使用すると、Androidのさまざまな機能にアクセスできます。作成した単純な画面に加えて、メディアの再生、テキストの送信、さらにはライブWebビューなどの機能をアプリに追加できます。

頭に浮かぶ最初の改善点の1つは、複数のファイルから選択する機能です。しかし、簡単に インターネット検索 これには、AppInventorで最高のハッカーが必要であることを明らかにしています。この機能が必要な場合は、JavaとAndroidStudio環境を詳しく調べる必要があります。

AndroidStudioを使用したJavaでの開発

以下のセクションでは、Javaでのスクラッチパッドアプリの開発について、非常に高いレベルで説明します。もう一度繰り返す価値があります。将来的には大きな利益をもたらすことができますが、JavaとAndroidStudioの学習には多大な時間の投資が必要です。

だから、多くの説明はありません コードの意味 以下、またあなたはそれについてあまり心配するべきではありません。 Javaを教えることは、この記事の範囲を超えています。私たちが何を しましょう JavaコードがAppInventorですでに構築したものにどれだけ近いかを調べることです。

Android Studioを起動することから始めて、 新しいAndroidStudioプロジェクトを開始します アイテム。いくつかのことを尋ねるウィザードが表示されます。最初の画面では、アプリの名前、ドメイン(アプリストアに送信する場合は重要ですが、自分で開発している場合は重要ではありません)、およびプロジェクトのディレクトリを尋ねられます。

次の画面で、Androidのバージョンをターゲットに設定します。より新しいバージョンを選択すると、プラットフォームの新しい機能を含めることができますが、デバイスが最新ではない一部のユーザーが除外される場合があります。これはシンプルなアプリなので、アイスクリームサンドイッチにこだわることができます。

次に、デフォルトを選択します アクティビティ 私たちのアプリのために。アクティビティはAndroid開発のコアコンセプトですが、私たちの目的では、アクティビティを画面として定義できます。 Android Studioには選択可能な番号がありますが、空白の番号から始めて、自分で作成します。その後の画面で名前を付けることができます。

新しいプロジェクトが開始されたら、少し時間を取ってAndroidStudioについて理解してください。

  1. 上部のツールバーには、さまざまな機能のためのボタンがあります。私たちにとって最も重要なのは 走る ボタンをクリックします。アプリをビルドしてエミュレーターで起動します。 (先に進んで試してみてください、それはうまく構築されます。)他にも次のようなものがあります 保存する探す 、しかし、これらは私たち全員が慣れているキーボードショートカット(それぞれCtrl + SとCtrl + F)を介して機能します。
  2. 左側 計画 ペインには、プロジェクトのコンテンツが表示されます。これらをダブルクリックして、編集用に開くことができます。
  3. 中央の領域はエディターです。正確に何を編集しているかに応じて、これはテキストベースまたはグラフィックの場合があります。これについては後で説明します。これにより、右側の[プロパティ]ペイン(ここでもApp Inventorなど)などの他のペインも表示される場合があります。
  4. 右と下の境界線には、選択するとペインとしてポップアップ表示される他のツールの選択肢があります。コマンドラインプログラムやバージョン管理を実行するための端末のようなものがありますが、これらのほとんどは単純なプログラムにとって重要ではありません。

メイン画面のJavaへの移植

まず、Javaでスクラッチパッドを再構築します。前のアプリを見ると、最初の画面にはラベルと2つのボタンが必要であることがわかります。

過去数年間、Androidでユーザーインターフェースを作成することは、手作りのXMLを含む骨の折れるプロセスでした。最近では、App Inventorの場合と同じように、グラフィカルに実行します。各アクティビティには、レイアウトファイル(XMLで実行)とコードファイル(JAVA)があります。

'main_activity.xml'タブをクリックすると、以下の(非常にデザイナーのような)画面が表示されます。これを使用して、コントロールをドラッグアンドドロップできます。 TextView (ラベルのように)と2つ ボタン

配線しましょう 出口 ボタン。その簿記を処理するAppInventorとは異なり、コードとグラフィカルでボタンを作成する必要があります。

しかし お気に入り AI、AndroidのJava APIは、「onClickListner」の概念を使用します。これは、ユーザーが旧友の「whenButton1.click」ブロックのようにボタンをクリックしたときに反応します。 'finish()'メソッドを使用して、ユーザーがクリックするとアプリが終了するようにします(完了したら、エミュレーターでこれを試してください)。

エディタ画面の追加

アプリを閉じることができるようになったので、手順をたどります。 「編集」ボタンを接続する前に、エディターアクティビティ(画面)を作成しましょう。を右クリックします 計画 ペインを選択して選択します 新規>アクティビティ>空のアクティビティ 「EditorActivity」という名前を付けて、新しい画面を作成します。

次に、エディターのレイアウトを作成します。 EditTextBox (テキストが移動する場所)とボタン。調整する プロパティ あなたの好みにそれぞれの。

次に、EditorActivity.javaファイルに切り替えます。 AppInventorで行ったのと同様の関数をいくつかコーディングします。

テキストが存在しない場合は保存するファイルを作成し、存在する場合はその内容を読み取ります。数行で作成されます EditTextBox テキストをその中にロードします。最後に、もう少しコードを追加すると、ボタンとそのonClickListenerが作成されます(テキストをファイルに保存してから、アクティビティを閉じます)。

エミュレータで実行すると、次のように表示されます。

  1. 実行する前は、アプリ固有のデータの標準ディレクトリである「/ storage / emulated / 0 / Android / data / [ドメインとプロジェクト名] / files」にフォルダーはありません。
  2. 最初の実行時に、メイン画面が期待どおりに表示されます。上記のようなディレクトリも、スクラッチパッドファイルもまだありません。
  3. クリックすると 編集 ボタンをクリックすると、ファイルと同様にディレクトリが作成されます。
  4. クリックすると 保存する 、入力されたテキストはすべてファイルに保存されます。テキストエディタでファイルを開くと確認できます。
  5. クリックすると 編集 ここでも、前のコンテンツが表示されます。変更してクリック 保存する 保存し、クリックします 編集 再びそれを思い出します。などなど。
  6. クリックすると 出口 、アプリが終了します。

アプリの強化:ストレージファイルを選択します

これで、元のAppInventorスクラッチパッドの動作バージョンができました。しかし、それを強化するためにJavaに移植しました。その標準ディレクトリ内の複数のファイルから選択する機能を含めましょう。これを実行すると、実際にこれをさらに作成します メモ帳 単なるスクラッチパッドではないので、現在のプロジェクトのコピーを作成します こちらの手順を使用して

Androidインテントを使用して、メインアクティビティからエディターアクティビティを呼び出しましたが、他のアプリケーションを呼び出すための便利な方法でもあります。数行のコードを追加することで、インテントは次のリクエストを送信します ファイルマネージャーアプリケーション 返事する。これは、ファイルを作成するためのコードチェックのかなりの部分を削除できることを意味します。これは、インテントでは実際に存在するもののみを参照/選択できるためです。結局、私たちの編集者の活動はまったく同じままです。

インテントにパックできる文字列(Javaテキストオブジェクト)を返すインテントを取得することは困難でした。幸いなことに、プログラミングの質問に関しては、インターネットはあなたの友達です。 NS クイック検索 アプリに貼り付けることができるコードなど、いくつかのオプションがあります。

コードの礼儀 スタックオーバーフロー

そして、この小さな変更と少しの借用コードで、デバイス上のファイルブラウザー/マネージャーアプリケーションを使用して、コンテンツを保存するファイルを選択できます。 「拡張モード」になっているので、さらにいくつかの便利な改善を簡単に思い付くことができます。

  • 私たちはできる 選ぶ 既存のファイルの中から、しかし今のところ、私たちは私たちの施設を 作成 彼ら。ユーザーがファイル名を入力し、そのファイルを作成して選択するための機能が必要になります。
  • アプリが「共有」リクエストに応答するようにすると、ブラウザからURLを共有して、メモファイルの1つに追加できると便利な場合があります。
  • ここではプレーンテキストを扱っていますが、これらのタイプのアプリでは、画像や書式設定を含むより豊富なコンテンツがかなり標準的です。

Javaを利用する機能により、可能性は無限大です。

アプリの配布

アプリが完成したので、最初に自問する必要があるのは、アプリを配布するかどうかです。たぶん、あなたはとても個人的でカスタマイズされたものを作成したので、他の人には適していないようです。しかし、私はあなたにそのように考えないように強く勧めます。あなたはそれが他の人にとってどれほど有用であるかに驚くでしょう。他に何もないとしても、それは少なくとも新しいコーダーが何ができるかを示す学習経験です。

ただし、新しい作成物を自分で保持することにした場合でも、実際にデバイスにインストールするには、以下の手順のいくつかが必要になります。それでは、アプリをパッケージ化してソースコード形式で共有する方法と、インストール可能なパッケージを学びましょう。

ソースコードの配布

これまでどの方法を使用していたかに関係なく、途中でサワーコードを変更してきました。

App Inventorは実際のコードを舞台裏で隠すのに優れていますが、移動しているブロックとUIウィジェットはすべてコードを表しています。そして、オープンソースコミュニティが十分に証明できるように、ソースコードはソフトウェアを配布するための完全に有効な方法です。これは、他の人があなたの行ったことを取り入れてそれを基に構築できるため、他の人をあなたのアプリケーションに参加させるための優れた方法でもあります。

両方の環境から構造化された形式でソースコードを取得します。そうすれば、誰か(私たち自身も含む)がそれを同じプログラムに簡単にインポートして、すぐに起動して実行することができます。

AppInventorからのソースのエクスポート

App Inventorからエクスポートするには、プロジェクトを開いてから、 プロジェクト メニューから、 選択したプロジェクト(.aia)をコンピューターにエクスポートします

これにより、前述の.AIAファイル(おそらく「AppInventorArchive」)がダウンロードされます。しかし、これは実際にはZIPファイルです。お気に入りのアーカイブマネージャーで開いて、内容を確認してみてください。

タスクバーウィンドウにボリュームアイコンがない10

の内容に注意してください appinventor / ai_ [ユーザーID] / [プロジェクト名] フォルダはSCMおよびBKYファイルです。これはAndroidStudioで見たJAVAソースではないため、古い開発環境でこれらを開いてコンパイルすることはできません。ただし、あなた(または他の誰か)はそれらをAppInventorに再インポートできます。

AndroidStudioからのアーカイブソース

Android Studioプロジェクトをアーカイブ形式で取り出すのは、プロジェクトのフォルダーを圧縮するのと同じくらい簡単です。次に、それを新しい場所に移動し、通常から開きます ファイル>開く メインメニューの項目。

Android Studioはプロジェクトの設定を読み取ります( ワークスペース.xml )そしてすべてが以前のようになっているはずです。

そのフォルダ全体をアーカイブすることは注目に値します 意思 いくつかのくだらないもの、特にプログラムの最後のビルドからのファイルを含めます。

これらは次のビルド時にクリアおよび再生成されるため、プロジェクトの整合性を維持する必要はありません。しかし、彼らもそれを傷つけることはなく、(特に初心者の開発者にとっては)どのフォルダーを使用するべきか、どのフォルダーを使用しないかをいじり始めないほうが簡単です。後で必要なものを見逃すよりも、すべてをとるほうがよいでしょう。

Androidパッケージの配布

アプリのコピーを誰かに渡して試してみたい場合は、APKファイルが最善の策です。標準のAndroidパッケージ形式は、ソフトウェアを入手するためにPlayストアの外に出た人にはおなじみのはずです。

これらの取得は、両方のプログラムでソースをアーカイブするのと同じくらい簡単です。次に、それをWebサイト(F-Droidなど)に投稿するか、友好的な人々に渡してフィードバックを得ることができます。これは、後で販売する予定のアプリの優れたベータテストになります。

AppInventorでAPKを構築する

に向かいます 建てる メニューをクリックし、 アプリ(.apkをコンピューターに保存) アイテム。アプリのビルドが開始され(プログレスバーで示されます)、完了すると、APKファイルを保存するダイアログが表示されます。これで、コピーして心ゆくまで送信できます。

アプリをインストールするには、ユーザーはデバイスの設定でサードパーティのソフトウェアのインストールを許可する必要があります ここで説明されているように

AndroidStudioでAPKを構築する

Androidパッケージの作成は、AndroidStudioでも同じように簡単です。下 建てる メニュー、選択 APKをビルドする 。ビルドが完了すると、通知メッセージが表示され、アプリを含むコンピューター上のフォルダーへのリンクが表示されます。

GooglePlayディストリビューション

Google開発者として設定するのは、ちょっとしたプロセスです。経験を積んだら必ず検討する必要がありますが、すぐに取り組む必要はありません。

まず、25ドルの登録料がかかります。また、後で変更するのがやや難しい技術的な詳細もいくつかあります。たとえば、アプリに署名するには暗号化キーを生成する必要があり、それを紛失した場合、アプリを更新することはできません。

ただし、大まかに言えば、アプリをPlayストアに取り込むために実行する必要のある主要なプロセスは3つあります。

  1. 開発者として登録: (Googleアカウントに基づいて)開発者プロファイルを設定できます このページ 。ウィザードは、前述の25ドルの料金を含む、かなり簡単な登録プロセスを案内します。
  2. ストア用のアプリを準備します。 テストしているアプリのエミュレーターバージョンも デバッグ バージョン。これは、トラブルシューティングとロギングに関連する不要な追加のコードがたくさんあることを意味し、プライバシーの問題を表すことさえあります。ストアに公開する前に、 リリースバージョン 以下のように これらの手順 。これには、前述の暗号鍵を使用してアプリに署名することも含まれます。
  3. インフラストラクチャをセットアップします。 また、アプリのストアページを設定する必要があります。 Googleが提供する アドバイスのリスト インストール(および販売!)を取得するリストを設定するため。インフラストラクチャには、アプリが同期するサーバーが含まれている場合もあります。
  4. 最後に、 支払いを受け取りたい場合は、支払いプロファイルが必要です。これはそれらの1つです 一度だけ 詳細については、先に進む前に、すべてがどのように組み合わされるかを確認してください。

まとめと教訓

ガイドの終わりになりました。これがAndroid開発への興味をそそり、アイデアを実際に開発する動機を与えてくれることを願っています。しかし、頭を下げて構築を開始する前に、上記のセクションで学んだ重要な教訓のいくつかを振り返ってみましょう。

  • 私たちは見ました 2つのパス アプリを作成するには:ポイントアンドクリックビルダー、Javaでのゼロからのコーディング。 1つ目は学習曲線が低く、機能の公正な(まだ制限された)品揃えを提供します。 2つ目は、考えられるほぼすべてのものを構築でき、Android開発以外の利点も提供しますが、学習に時間がかかります。
  • それぞれに長所と短所がありますが、 両方のパスを使用できます! ポイントアンドクリック環境では、アプリのプロトタイプをすばやく作成できます。2つ目では、アプリを再構築して長期的な改善を行うことができます。
  • アプリ自体の作業にすぐに取り掛かるのは魅力的ですが、少し時間がかかると、後で非常に喜ぶでしょう。 アプリを設計する 、インターフェースのスケッチおよび/またはその機能に関する非公式の文書を含む。これは、上記の方法の一方または両方が適切なオプションであるかどうかを判断するのにも役立ちます。
  • 開発を開始する簡単な方法は、ユーザーインターフェイス要素をレイアウトし、機能をプログラミングして「それらを接続」することです。経験豊富な開発者は「バックグラウンド」コンポーネントのコーディングを開始できますが、初心者の場合は、すべてを視覚化できるようにするのに役立ちます。
  • コードに飛び込むときは、答えをWebで検索することを恐れないでください。最後にいくつかのキーワードと「コード例」を使用してGoogle検索を実行すると、いくつかの良い結果が得られます。
  • 構築しているときに、一度に少しずつ作業をテストします。そうしないと、過去2時間のアクションのどれがアプリを壊したのかを判断するのが非常に困難になります。

これらを念頭に置いて、そこに入り、アプリ開発の夢を実現し始めてください。また、手を汚すことにした場合は、コメントでそれがどのように行われるかをお知らせください(ちなみに、スクリーンショットへのリンクが大好きです)。幸せな建物!

共有 共有 つぶやき Eメール AndroidでGoogleの組み込み水準器にアクセスする方法

何かがピンチで水平になっていることを確認する必要がある場合は、数秒で携帯電話の水準器を取得できるようになりました。

次を読む
関連トピック
  • アンドロイド
  • Java
  • プログラミング
  • アプリ開発
  • 長い形式
  • ロングフォームガイド
  • アンドロイド
著者について アーロンピーターズ(31の記事が公開されました)

アーロンは、ビジネスアナリストおよびプロジェクトマネージャーとして15年間、テクノロジーに深く関わっており、ほぼ同じくらい長い間(Breezy Badger以来)忠実なUbuntuユーザーでした。彼の興味には、オープンソース、スモールビジネスアプリケーション、LinuxとAndroidの統合、プレーンテキストモードでのコンピューティングが含まれます。

アーロンピーターズからもっと

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください