AppInventorを使用してAndroidマーケットに参入する

この資料には、このOSの開発会社であるAppInventorのツールによるGoogle Androidモバイルオペレーティングシステム用のアプリケーションの開発、Google開発者アカウントの登録、作成したアプリケーションのAndroidマーケットへの配置、更新の経験が含まれています。
Java、Eclipse、その他のAndroid SDKの複雑さを掘り下げずに、このOS用のかなり単純なプログラムを作成することに興味がある人にとって、経験はセットとしても部分的にも役立ちます。

このパートでは:


1.事前準備


Google Android OSでアプリケーションを作成および公開するタスクを実行するには、ブラウザーでいくつかの操作を実行する必要があります。 ポイントを見ていきましょう。
。 Googleにアカウントをお持ちでない場合は、作成する必要があります。 これを行うには、 http://gmail.com/などのサイトに移動し、「アカウントを作成」/「アカウントを作成」という碑文を見つけ、ページで言語切り替えを見つけ、リストから母国語を選択し、プロセスのいくつかの質問に答えます登録。 さらに、すばらしいメールサービスがあります。必要に応じて、他にも多数の便利なGoogleサービスがあります。

b 。 Google AppInventor Developer Toolkitのアカウントが必要です。 この段階では、Googleはツールキットへのアクセスを誰にも提供していません。 したがって、アドレスhttp://appinventor.googlelabs.com/にアクセスして、Googleアカウントでログインし、記入して自動的に開かれたフォームでアプリケーションを送信する必要があります。 (ハブのように、既製の便利なプログラムだけは必要ありません。)このステップの後、Googleの善意を待つ必要があります。 私は彼を約2週間待ちました。

原則として、これらはAppInventorを使用してプログラムを作成、またはむしろアセンブルできるようにするために実行する必要がある基本的なアクションです。 また、アプリケーションの満足を待つ時間を無駄にしないために、ジョブに必要なソフトウェアをダウンロードしてインストールできます(以下を参照)。
開発者がアセンブルされたプログラムの配布に関心がある場合、もう1つのステップを実行する必要があります。

c 。 「Googleデベロッパープレイスを購入します。」 今日、これらの場所の価格はそれぞれ25ドル(25米ドル)です。 同社によれば、このような対策は、Androidエコシステムをたわごとプログラムの流れから保護するように設計されています。 (例について詳しく説明する必要はありません。セクション2〜4を読んでください。しかし、他の目標もあります...)それでも、Androidプログラマーとして登録するには、 http://market.android.com/にアクセスしてください。 、登録手続き(現在は英語)とGoogle Checkoutシステムを使用した支払いを行う場所。 そのためには、国際決済システムのプラスチックカード(別途購入)が必要です。 登録プロセスについては、セクション5で詳しく説明します。

ただし、おそらく、誰もがAndroidマーケットに侵入したいわけではなく、プログラミングスキルのない人が自分でプログラムを作成したいので、この最後の点は誰もが実行するべきではありません。
プログラムを書くために直接やらなければならないことがいくつかあります。 Javaクライアントモジュールをインストールし、Androidフォンへの接続を構成する必要があります。 これらの手順を実行して問題を解決する方法については、 http://appinventor.googlelabs.com/learn/gettingstarted.htmlをご覧ください 。 手順を簡単に説明します。

-コンピューターにJavaがインストールされていない場合は、 http://java.com/から最新バージョンをダウンロードしてコンピューターにインストールする必要があります(Javaがインストールされているかどうかは、 http://www.java.com/en/download/で確認できます) help / testvm.xml 、最新バージョンのインストールを推奨);

-次に、ドライバーと他のソフトウェアを含むAppInventor Extrasソフトウェアパッケージをダウンロードしてインストールする必要があります。 さまざまなオペレーティングシステムのリンク: Mac OS XWindowsLinux 。 開発者は、インストール中にパラメーターを変更しないことをお勧めします。

-最後に、電話のいくつかの設定を変更する必要があります。 ここで、プログラムを記述するために電話をAppInventorに接続する必要はまったくないことに注意してください。コンパイルされたプログラム(.apk)は、ツールのWebインターフェイスからダウンロードして、いつでも電話に手動でインストールできます。 ただし、電話に接続すると、最後にリアルタイムで開発されたプロジェクトが実行されます。これはさまざまなバグを検出するのに非常に便利なので、続行します。 そのため、電話では、画面の自動回転をオフにし(設定-画面-自動画面回転)、不明なソースからのインストールを有効にし(設定-アプリケーション-不明なソース)、USBデバッグを有効にし(設定-アプリケーション-開発-USB経由のデバッグ)、設定しないでくださいコンピューターに接続したときに画面をオフにできるようにします([設定]-[アプリケーション]-[開発]-[オンのまま])。 また、電話機をコンピューターに接続することにより、SDカードをUSBフラッシュドライブとしてマウントすることはありません。

また、電話に接続した後、プログラムはサイズがAppInventorPhoneApp 3.81 Mbをインストールすることを考慮する必要があります。 無料の携帯電話のメモリが必要になります。
AppInventorでの多数の準備操作とアプリケーションの承認後、電子メールを受け取り、このWebアプリケーションにアクセスします。 創造的な計画の実装を開始できます!

2.プログラムインターフェイスの開発


Androidマーケットでの公開用に作成することにしたアプリケーションは、物事の複雑さにあふれていません。 プログラムに2次方程式の根を計算させます。 アップデートにより、プログラムはスムーズに方程式系を解き、十分であれば、不等式系を解くことができます。 すべては、猫の鳴き声の写真を作るよりもましです。

そのための要件を決定します。プログラムは2次方程式の根を計算するため、少なくとも係数の入力と結果の出力を実装する必要があります。
提案されたインターフェイスは、紙またはプレゼンテーションのスケッチで推定できます。 最初のバージョンでは、次のようになります。



さあ、始めましょう!

電話をコンピューターに接続し、カードをドライブとしてマウントせずに、ページhttp://appinventor.googlelabs.com/にアクセスして登録データを入力し、「サインイン」をクリックしてAppInventor BETAにアクセスします。
表示されるページを説明するのはあまり意味がありません(ページ上部の中央にある「学習」リンクのみが有用です)。



したがって、「新規」ボタンを大胆に押して、新しいプロジェクトの名前が表示されるウィンドウに入力します-uSolver、つまりユニバーサルソルバー、つまり ユニバーサルソルバー(Deep Thoughtと混同しないでください)。



「OK」をクリックして、「設計」モジュールに入ります。



説明するものがすでにあります。

ウィンドウの中央には、開発中のアプリケーションのインターフェースをプレビューし、制御要素を選択するビューアーパネルがあります(これはエミュレーターウィンドウでもシミュレータウィンドウでもありません!)。 インターフェース要素自体およびその他の制御構造は、パレットパネ​​ルに含まれており、分類されています。 使用される各アイテムの設定は、[プロパティ]パネルで利用できます。 インターフェイス要素の一般的な構造は[コンポーネント]パネルに表示され、要素を削除して名前を変更できます。

「ブロックエディターを開く」ボタンをクリックしてすぐに電話に接続して、ライブデザインの変更を追跡できますが、初めて別のおもちゃで頭を散らかすことはお勧めしません。

インターフェースについて理解を深めてください。 開始画面のタイトルの名前を変更し、背景色を変更します(白が疲れないように):



コントロール(コントロール)の場所を制御するために、「画面配置」のカテゴリがあります。 上から下への要素の一貫したシーケンスに興味があります。 目的のカテゴリ(KO:もちろん、それを左クリック)を選択し、そのコンテンツを開き、目的の配置を取得して、アプリケーションの画面の空のスペースにドラッグし、プロパティパネルで外観を少し調整します。



コンポーネントの選択が失われた場合、「Viewer」または「Components」でそれをクリックすると、プロパティの設定に使用できるようになります。
選択したコンセプトに従って画面の塗りつぶしを始めましょう...
最初にすべきことは、解く方程式の一般的な形式です。 Labelでプッシュします。 「パレット」->「基本」->「ラベル」を選択し、配置内にドラッグしてパラメーターを調整します。



次に、係数の入力フィールドを1本の水平線に配置し、それらのグループを画面の中央に配置する必要があります。 これを行うために、1行に5セルのテーブル配置を使用します。



3つの中央セルが入力フィールドを占有します。 これを行うには、おおよそのセル位置にフィールドをドラッグします。



好みに合わせて設定を調整することを忘れないでください。
方程式の解を導き出すために、2つのコントロール「ラベル」を提供します。 それらは、テーブルの配置を持つブロックの後に垂直配置で互いの下に挿入できます。



これが行われる予定だったすべてのようです。 いくつかの入力フィールド(TextBox)とラベル(Label)の名前に注意を払いたいです。 これらの名前は将来使用され、少なくともある種のセマンティックの負荷を負担する必要があります。そうしないと、ブロックの「コード」をコンパイルするプロセスで誤解が生じる可能性があります。 ただし、必要な名前のみを変更しました。

3.プログラムのブロック説明(プログラミング)


インターフェイスを作成したら、プログラムロジックを「アセンブル」します。 これを行うには、[ブロックエディターを開く]ボタンをクリックします。

ブラウザは特定のファイルをダウンロードする必要があります。これは、以前にインストールされたJavaを使用して開く必要があります。 通常、すべてのアクションは自動的に行われます。 開始後、Javaは、事前にダウンロードしてインストールしたAppInventors Extraファイルの場所を尋ねる場合があります。

電話への接続を提供する必要がある場合は、操作を実行する必要があることに注意してください。 接続が不要な場合-「キャンセル」をクリックします。
また、Block Editorの読み込みプロセスは高速ではありませんが、これについて心配する必要はありません。

もちろん、接続が必要な場合は、起動後に「電話に接続」をクリックします。 電話への接続、ソフトウェアのインストール、および開発されたプログラムの起動がありますが、動作しません。



すべてがうまくいけば、ブロックエディタに戻ります。

ブロックエディターインターフェイスは、シンボル化するインターフェイスエディターインターフェイスに非常に似ています。 ビルトインブロック(ビルトイン)には、コントロールブロック、My Blocksブロックが含まれ、プログラムインターフェイス要素と対話します。 すべてが明確になったわけではない場合は、テキストの経過を理解することが可能になります。次に、ビジネスに取り掛かりましょう。

まず、いくつかの変数を定義します-方程式の係数とその根:a、b、c、x1、x2。 これを行うには、組み込みの「組み込み」ブロックのタブで、定義->変数を選択し、そのブロックを空のフィールドにドラッグします。 「a」の「変数」をクリックして名前を変更し、変数のタイプを設定します-数字、添付の明るい茶色のブロックの質問を指し、メニューで「123」を選択します。 変数のデフォルト値は、「123」をクリックして「123」ではなく「0」を入力することで「0」に設定されます。値を入力したら、Enterキーを押してください。

残りの変数に対して同じ手順を繰り返します。 残念ながら、ブロックをコピーする方法を見つけられなかったので、ここと下のいくつかの場所で我慢する必要があります(開発者は関心のあるユーザーから通知され、既にブロックのコピー/貼り付けに取り組んでいると言う価値があります)



ここで、変数a、b、cには、ユーザーが入力した値を割り当てる必要があります。 変数aから始めましょう。

「My Blocks」タブで「A」ブロック(これは係数aの値を入力するためのテキストフィールドです)を選択し、「A.LostFocus」コンストラクトを空のスペースにドラッグします(このkagbeは、テキストフィールドがTを失うとブロックが実行されることを意味します)フォーカス、つまりユーザーが別のコントロール要素に切り替えます)。 「My Definitions」フィールドで「set global a to」コンストラクトを選択し、「A.LostFocus」ブロック内にドラッグして固定します(これは特徴的なサウンドで発生します)。 次に、もう一度「A」ブロックをクリックし、「A.Text」コンストラクトを「global global to」パズルカットアウトにドラッグします。 その結果、次のようになります(プロセスはコンポーネント「B」の例に示されています)。







このフローチャートは、フォーカスが係数「a」の入力フィールドによって失われると、変数「a」にこのフィールドに含まれるテキストが割り当てられることを意味します。 ブロック「B」と「C」について同じ手順を繰り返します。
次のステップでは、変数x1とx2を定義します。 方程式の根を見つけます。
私の知る限り、AppInventorの現在のバージョンに数学計算を実装することは、私が書いた式だけではありません。 手順をフェンスし、追加の変数を導入します...
判別式の値( D = b ^ 2-4ac )を計算します。このため、変数a、b、c、x1、x2に指定されたスキームに従って追加の数値変数「D」を導入し、設定されたグローバルDを取り出してワークスペースにブロックします。 ここで最も不愉快なことが始まります:シーケンス内の数学演算子を組み合わせて目的の値を計算します-組み込み-> Mathブロックから必要な演算子を引き出し、ブロックするグローバルDのスロットに配置します。 必要な変数を演算子の引数に代入します。 これはおそらく、言葉で説明するよりも写真で見る方が簡単です:



ヒント:判別式は主に違いであることを理解する必要があります。 bによる製品bとcによる製品aによる製品4の差。 4は数値定数です。

ちなみに、空のスペースを左クリックして数値定数を取得し、そこで[数学]-> [123]を選択し、この123を目的の数値に置き換えると便利です。 他のすべての組み込みブロックでも同じことができます!

今のところ、判別式の符号の検証を導入せず、何でルートを計算します。
セットのグローバルx1を抽出してMy Definitionsから空のスペースに構築し、式x1 =(-b + sqrt(D))/(2 * a)に従って変数x1の値を取得します。 x2でも同じことを行います。ここで、 x2 =(-b-sqrt(D))/(2 * a)です。

これで、必要なすべての値が計算されました。

方程式係数の入力フィールドのいずれかの「フォーカス」を失った後にカウントされたルートが返されると想定されているため、コピー&ペーストがない場合、「式」をさらに数回入力するのは非常に面倒なので、「。LostFocus」ブロックで呼び出す手順を記述します。

始めましょう。 Built-In-> Definition-> procedureブロックを引き出し、X12に名前を変更し(「procedure」という単語をクリックして)、Built-In-> Definition-> nameブロックを「arg」スロットに固定し、「ax」、「bx "、" Cx "(すべての変数はグローバルであるため、名前の変更が必要です)。



手順の中で、計算「D」、「x1」、「x2」、およびMy Blocks-> X1-> "set X1.Text to"ブロックを、スロットにルート値x1(My Blocks-> My Definitions- >グローバルx1)およびテキストラベル「X2」についても同様:





この手順は、「フォーカスの喪失」の各ブロックで呼び出します。 呼び出しは、My Blocks-> My Definitions-> call "X12 block"でパラメーター "global a"、 "global b"、および "global c"を使用して行われます。



上の写真は、「A.LostFocus」ブロックを分解し、そのコンテンツのチェーンを空きスペースに構築したことを示しています。 これは、プロシージャコールをチェーン内の適切な場所に配置するのが私にとってかなり難しかったという事実によるものです。 このような問題は非常に頻繁に発生するため、呼び出しの外側でブロックのチェーンを構成し、すべてを内側に接続する方法を見つけました。

まったく同じ呼び出しが残りのブロック.LostFocusに配置されます。 最後に、すべてが次のようになります。



電話では、方程式x ^ 2-9x + 20 = 0を解くと次のようになります。



すぐに、一部のコントロールの設定の欠陥がなくなりました...更新時に修正するものがあります。

電話がコンピューターに接続されていない場合は、AppInventor Webインターフェイスでアプリケーションをコンパイルし、バーコードを作成できます。



アプリケーションが作成されました。いくつかの結論を出しましょう。

4.作成プロセスと結果の結論


Googleは、複雑なアプリケーションでさえも作成できない非常にシンプルなツールを提供していると言えます。 このツールは確かに未加工であり、SDKには多くの関数、メソッド、およびすべてはありません。 ただし、Googleチームは多くの新機能を実装する提案と計画に対応しています。 http://code.google.com/p/app-inventor-for-android/で提案や気づいたバグを表示および追加できます
私の意見と現時点での主な欠点(ビルド:Mon Sep 27 17:51:06 2010(1285635066)-17446992):

しかし、このような欠点にもかかわらず、このツールには余地があると思います。SDKに飛び込むことなく、くだらないプログラムを作成することはできないからです。
いずれにせよ、Androidマーケットで利用可能なgovnoprogからの保護は、開発者の場所を取得するための料金になります。 それら同じ25ドル。
ところで、私たちがそこに自分の創造物を突き出す時ではありませんか?..

Source: https://habr.com/ru/post/J107308/


All Articles