chevron_left

メインカテゴリーを選択しなおす

cancel
75才からのモバイルアプリ作成 https://blog.goo.ne.jp/kanoo

2023年11月に75歳になり、後期高齢者の仲間入りをしました。高齢となってもできるプログラミングとしてMIT App Inventorをやってみることにしました。かなり色々なことができますよ!

kanoo
フォロー
住所
未設定
出身
未設定
ブログ村参加

2024/06/11

arrow_drop_down
  • MIT App Inventor 2で遊ぶ 閉鎖 その2

    MITAppInventor2を使ったアプリ作成は続けていくが、この機会に、Python,JavaScript,Swiftなどの言語を使ったアプリ作成も勉強しようかな、と考えている。Pythonは顔認識、データの扱いあたりから始めてAIの分野に足を踏み入れることができたらなあ〜と、JavaScriptやSwiftはMITAppInventor2で作っていたようなアプリの作成ができたらいいなあ〜と、漠然と、でもワクワクしながら考えている。まあ、あとは寿命との戦いとなるかな?今年で喜寿を迎えるし!いずれにせよ、gooblogサービスの終了が良い引き金となってくれたように思う。完追記:それから、このブログをそのまま他のブログに引っ越すことは全く考えていない。ブログを始める時は、また、1からやりたいと思っている。MITAppInventor2で遊ぶ閉鎖その2

  • MIT App Inventor 2で遊ぶ 閉鎖

    本ブログは、2025年4月15日をもって閉鎖する予定です。また、適当なツールあるいはSNSがあれば、同じような内容で再開したいと考えています。ありがとうございました。**************************************************MITAppInventor2で遊ぶ閉鎖

  • MIT App Inventor 2で遊ぶ (Memory Game 2)

    genericのブロックは便利だが、気をつけないといけない、と言うことを再認識させられた。ボタンの画像を表示する動作(flip)はもう少し改善の余地があるようだ。絵柄を変更、あるいは選択できるようにするのも面白いかも。アプリ実行のビデオ:スクリーン・デザイン:test用のLabelは非表示とし、新たに「Showtips」ボタンを設定した。このボタンをタップすると、左上端からの画像ファイル名が表示される。対となる画像を簡単に見つけられる「禁断のボタン」。ブロック・コード:大きな変更点と言うか、唯一の変更点は以下の通り。genericのブロック「whenanyButton.Click」の適用を16個のボタンに限定。これにより、「Flip」「Reset」のいずれのボタンもこのブロックの影響を受けることは無くなっ...MITAppInventor2で遊ぶ(MemoryGame2)

  • MIT App Inventor 2で遊ぶ (Memory Game 1)

    YouTubeで見つけたこのビデオ(BuildAMemoryCardGameinHTMLCSS&JavaScript)に触発されて作り出したのが約1ヶ月前。アプリ自体は基本的に思った通りに動作するのだが、いかんせんエラー表示(RuntimeError)が出てしまう。Listより存在しないindex0の値を取り出そうとしている、とのエラーメッセージ。MITAppInventor2の場合、Listのindexは1から始まるが、index0の値を取り出そうとしているらしい。う〜ん、わからん。今回、とりあえずできたところまででアップすることとした。なお、今回のアプリ実行のビデオでは、エラー部分は見苦しいのでカットした。エラーの内容は以下の通り。エラーが出るのは、「Flip」および「Reset」ボタンをタップした時...MITAppInventor2で遊ぶ(MemoryGame1)

  • MIT App Inventor 2で遊ぶ (PinpointWeather 2)

    各種お天気情報の表示および対象都市の変更ボタンを実装。ちょっとは、お天気アプリらしくなった。現在、日付の変更、選択にListPickerを利用しているが、前回のブログでも触れた通り、次回以降に「<」「>」のようなボタンで変更可能にしたい。それとも良い別の方法が見つかればその方法を採用したい。まだ、検討中の段階。アプリ実行のビデオ:スクリーン・デザイン:testlabelを非表示に。その他のお天気情報表示labelも初期段階でTextは全て空白に変更。お天気アイコンのみ初期画像を表示。ブロック・コード:変更および追加のブロック・コードのみ。前回、対象都市名の頭文字を大文字に変更する関数を作成したが、対象都市名に限らず一般的に頭文字を大文字にできるような関数に変更した。考え方はいたってシンプルで、「tokyo...MITAppInventor2で遊ぶ(PinpointWeather2)

  • MIT App Inventor 2で遊ぶ (PinpointWeather 1)

    またまた、お天気アプリ。ブロック・コーディングの練習にもってこいの素材なので。今回は、都市名をインプットしてお天気情報をゲットして、当日のデータを表示。その後は日付を選択してそれぞれの日付のデータを表示するというもの。「+」ボタンをタップすれば、他の都市名をインプットし当該都市のお天気情報をゲットできるもの。ほとんど目新しいものはなし。今回はとりあえず、日付をゲット。これが問題なければ、次から日付をキーにお天気情報を抽出し、画面にレイアウトする予定。日付を変更する場合は、ListView(リスト形式で日付を表示し、その中から該当の日付をタップして選択)で日付を選択しているが、これを「<」「>」のようなボタンで日付を変更するようにしたい。アプリ実行のビデオ:スクリーン・デザイン:ブロッック・コード:変数ta...MITAppInventor2で遊ぶ(PinpointWeather1)

  • MIT App Inventor 2で遊ぶ (銀行屋さんごっこ 1 -おまけ-)

    Firebaseのデータベースを利用したり、PublicAPIを使う、いわゆるネットを介したアプリはMITAppInventor2にとって難しい。うまくいく時は非常にうまくいく。当たり前だけど!前回は、口座を持っているKanooKanaのみのアプリ操作を録画したが、kanooKanaに加えKanooKeiのアプリ操作も録画し2人で使っているところをビデオに録画してみた。スクリーン・デザインとブロック・コードは同じなので省略。どうしても、(1回だけだけど)Warningが表示されてしまう。まあ、「Reload」ボタンをタップすれば正常に表示してくれるので、OKというところか。アプリ実行のビデオ:(ビデオの中で「KanooKen」と表示あるのは「KanooKei」の間違い)KanooKanaとKanooKei...MITAppInventor2で遊ぶ(銀行屋さんごっこ1-おまけ-)

  • MIT App Inventor 2で遊ぶ (銀行屋さんごっこ 1)

    Firebaseを利用して金融機関のスマホ・アプリのシンプルなものを作ってみることにした。ヒントを与えてくれたのは、このYouTubeビデオ。Let'scodeabeginnerPythonBANKINGPROGRAM今回の設定は、1.KanooBankという架空の銀行2.同銀行に2人が口座を保有3.それぞれの入金、出金およびその2人の間での送金をトレースするこのアプリでは、データベースを扱うときの基本CRUD(Create/Read/Update/Delete)の内、CRを実装。アプリ実行のビデオの通り、「取引実行」ボタンをタップするとWarningが表示されたり、残高がリアルタイムに変更されないなどまだまだ、問題多いが、このアプリを作り始めて随分時間も経過したので、この段階で一旦アップするもの。引き続...MITAppInventor2で遊ぶ(銀行屋さんごっこ1)

  • MIT App Inventor 2で遊ぶ (Calculator 2 JavaScript)

    前回の問題点の解決と「べき乗」および「平方根」の追加も行った。ほぼ期待した通りの計算結果を表示してくれるようになった。残る改善点としては、式の途中でも「べき乗」および「平方根」を使用できるようにすることだが、これはちょっと難しそう。また、「べき乗」の式の表示も一工夫が必要なようだ。アプリ実行のビデオ:スクリーン・デザイン:式を表示、計算結果を表示の部分は前回、今回とも同じ。今回の画面前回の画面ブロック・コード:主な追加点は、Xʸと√のボタンがタップされた時の処理。ボタン操作のブロックは以下の通り。<最初の赤黄点線で囲んだ部分>1.Xʸボタンをタップした時は、他の数字、演算子と同様、変数calculationListにJavaScriptのべき乗の演算子である「**」を追加する。2.√ボタンをタップした時は...MITAppInventor2で遊ぶ(Calculator2JavaScript)

  • MIT App Inventor 2で遊ぶ (Calculator 1 JavaScript)

    CodewithAniaKubówのYouTubeアカウントに「LearnJavaScriptbybuildingtheEASIESTCalculator!-Supereasy!」というTutorialがあったので早速MITAppInventor2でもできるかやってみた。JavaScriptのeval関数を使ったものだが、closedの環境でちょこっと楽しむ程度だったらいいだろう。画面作成に時間を要したが、コード自体はいたって簡単なお手軽アプリ。ただし、ビデオの通り、ちょっと期待通りには動いてくれない場合があるようなので、次回改善予定。たとえば、100/2+50まで計算してその結果100が表示されるが、続けて/2をタップすると、50を期待したが、75となってしまうなど。アプリ実行のビデオ:スクリーン・デザ...MITAppInventor2で遊ぶ(Calculator1JavaScript)

  • MIT App Inventor 2で遊ぶ (じゃんけん特別編 3 JavaScript)

    前回、switchstatementの代わりにifstatementを使用したが。switchstatementを代替するものがMITAppInventor2にないかググっていたら、MITAppInventorHelpに「Isthereaswitchcaseextensioninsteadofnumerousif/then/else?」という記事があり、webviwerブロックを使ってJavaScriptで判定させてはどうかとのアドバイスがあった。以前にも電話番号をチェックするのにJavaScriptを使ったことがあるので早速やってみた。アプリ実行のビデオ:ビデオは内容的に前回のブログと全く同じですが。。。スクリーン・デザイン:JavaScriptを実行させて、リターン値を受け取るためWebViewerブ...MITAppInventor2で遊ぶ(じゃんけん特別編3JavaScript)

  • MIT App Inventor 2で遊ぶ (じゃんけん特別編 2)

    前回に引き続き、YouTuber「AniaKubów」の3waystocodeRockPaperScissorsinJavaScript(BeginnertoIntermediatetoAdvanced!)のIntermediatelevelをMITAppInvwentor2でどこまでやれるかやってみた。「AniaKubów」のコード(JavaScript+HTML)はこちら。MITAppInventor2では、UserInterfaceはあらかじめDesignerPanel上に配置しておく必要がある。したがって、チュートリアルのように、コードで各画面要素を生成して配置していくことはできない、と思う。しかし、とりあえず要素だけを素の状態で配置して、背景色、サイズとかの属性はブロック・コードで指定していくと...MITAppInventor2で遊ぶ(じゃんけん特別編2)

  • MIT App Inventor 2で遊ぶ (じゃんけん特別編 1)

    YouTuber「AniaKubów」のアカウントに3waystocodeRockPaperScissorsinJavaScript(BeginnertoIntermediatetoAdvanced!)というJavaScriptのチュートリアルがあったので、MITAppInventor2で同じようにできるのかやってみた。今回は、初心者向けの一番簡単なコード。「AniaKubów」のコード(JavaScript+HTML)はこちらに。アプリ実行のビデオ:TitleVisibleのチェックを外すのを忘れたので「Screen1」が表示されてしまった。スクリーン・デザイン:ブロック・コード:コンピューターが選択した手、ユーザーが選んだ手、勝負の結果をそれぞれ格納する変数を設定タップしたボタンの表示名を小文字に変更...MITAppInventor2で遊ぶ(じゃんけん特別編1)

  • MIT App Inventor 2で遊ぶ (Slot Machine 2)

    賭け金の設定ができるようにした。アプリ実行のビデオ:3つの絵柄が揃う大当たりを出して録画しようと思って何度も回してみたが、ビデオの通りダメだった。スクリーン・デザイン:Tabletサイズのスクリーンショットを表示ブロック・コード:以下3つの変数を追加変数yourInitialFund:最初の手持ち金を格納変数yourRemainingBetAmount:賭けた後の手持ち金を格納(yourRemainingFundAmountとすべきだったかも)変数yourBetAmount:賭けたお金を格納画面の初期化時に最初の手持ち金を表示「Spin」ボタンをタップした時の動作で追加した主な部分(赤黄点線部分):手持ち金より入力した賭け金が多い場合には、「手持ち金を超過している」旨のポップアップを表示「Stop3」ボタ...MITAppInventor2で遊ぶ(SlotMachine2)

  • MIT App Inventor 2で遊ぶ (Slot Machine 1)

    まずはスロット・マシンを動かすだけの単純なもの。賭け金の設定など、次回はもう少し「賭け事」らしくしたい。アプリ実行のビデオ:スクリーン・デザイン:tabletサイズでのスクリーンショット。ブロック・コード:変数images:使用するimageのファイル・リストを格納。3つのスロットにそれぞれシャッフルされたimageリストをセットするための変数変数lengthOfImagesList:imageの個数を格納画面初期化時に使用する3つのClockのintervalを100ミリ秒に念のため設定するとともにimageの個数を変数lengthOfImagesListにセット。(intervalはあらかじめデザイナーパネルの属性設定欄で設定ずみではあるが)関数clearSymbolImages:imageブロックの...MITAppInventor2で遊ぶ(SlotMachine1)

  • MIT App Inventor 2でもできるかやってみた (Small Apps 3 じゃんけんゲーム1)

    今回は、「9HOURSofPythonProjects-FromBeginnertoAdvanced」#3-Rock,Paper,Scissors(Easy)。プログラミング初心者向けTutorialsには必ずあると言ってもよい「じゃんけんゲーム」。これもシンプルなゲーム。アプリ実行のビデオ:スクリーン・デザイン:左端の初期画面の中で下部に配置されているボタンのうち「3」をタップすれば右側の画面に遷移する。ブロック・コード:初期画面で「3」をタップした時に関係するブロックのみ。「3」をタップしたら、関数makeVAVisibleがパラメーターとして「1VA3」を受け取り実行。また、関数initButtonImageを実行して、関係のButton、Image、Labelを初期化。3つのボタン(グー、チョキ、...MITAppInventor2でもできるかやってみた(SmallApps3じゃんけんゲーム1)

  • MIT App Inventor 2でもできるかやってみた (Collection of Small Apps 2)

    今回は、数当てゲーム。「9HOURSofPythonProjects-FromBeginnertoAdvanced」#2-NumberGuessingGame(Easy)シンプルなアプリなので特に問題となるような点はなかった。アプリ実行のビデオ:スクリーン・デザイン:左端:アプリの初期画面中央・右端:初期画面で2をタップしたときに表示されるアプリの画面.ブロック・コード:上限(topOfrange)をインプットする=>0〜上限の間の数字から無作為に選択された数字を当てるゲーム。上限の数字を格納する変数topOfRange、無作為に選択された数字を格納する変数randomNumber2を0で初期化。関数clearVarsVA2:変数の初期化とTextBoxを空白で初期化。testLabelVA2はテスト用の...MITAppInventor2でもできるかやってみた(CollectionofSmallApps2)

  • MIT App Inventor 2で遊ぶ -番外編1- (私の道具箱)

    以前、MITAppInventor2でアプリを作成していく際に参考にしたウエッブサイト、YouTubeなどをアップしたことがある。今回はハードも含めて「私の道具箱」というタイトルで再度まとめてみた。1.パソコン:1-1MacBookPro13-inchM12020メモリ:16GB(メイン)1-2MacBookPro(Mid2012)2.3GHzクアッドコアIntelCorei7メモリ:16GB(古い古いCanonprinterMP470専用)(2012年以前は、一時期Macを使った以外は主にNEC、Gateway、Dell、日立などのWindowsPCを使用。)2.スマホ:2-1モトローラmotog53y5G(MITAppInventor2で作成したアプリのシミュレーション用およびアプリのインストール先)...MITAppInventor2で遊ぶ-番外編1-(私の道具箱)

  • MIT App Inventorで遊ぶ (インディアンポーカー 1)

    インディアン・ポーカーとは?このYouTubeを見るのが早いと思う。=>「IndianPokerCardGameRules」スマホのアプリもあるらしいが、今回は、MITAppInventor2で簡単なアプリを作ってみたい。以前「ポーカー・ゲーム1」でも使用したDeckofCardsAPIを利用。アプリ実行のビデオ:スクリーン・デザイン:縦に長い画面なので2つに分けて表示。ブロック・コード:1.Screen1の初期化時に「カードを配る」ボタンを無効に設定まず、「カードを受取る」ボタンをタップして、52枚のカードのIDを取得する必要があるため。IDが取得できたら、「カードを配る」ボタンをタップして、取得したIDをキーにして具体的なカード(今回の場合4枚ずつ)データを取得することになる。したがって、「カードを配...MITAppInventorで遊ぶ(インディアンポーカー1)

  • MIT App Inventor 2でもできるかやってみた (Collection of Small Apps 1)

    YouTubeにあった「9HOURSofPythonProjects-FromBeginnertoAdvanced」をMITAppInventor2でできるのかやってみた。今回は、略語が何を表しているのかを答える簡単なアプリと、思いきや、ちょっと手こずった。アプリ実行のビデオ:スクリーン・デザイン:左端:初期画面中央:初期画面で「1」をタップした時に遷移する画面右端:中央の画面を上方向にスクロールした画面今回は、「1」をタプした時が対象。ブロック・コード:スクリーン・デザインで表示している初期画面の部分=>今回は、5つのVerticalArrangements(mainScreenVA+subScreen1VA1〜subScreen1VA4)でScreen1が構成されている。mainScreenVAは上記...MITAppInventor2でもできるかやってみた(CollectionofSmallApps1)

  • MIT App Inventor 2で遊ぶ (Weather App New 5)

    最高・最低気温、日の出・日の入時間、湿度を表示。ブロック・コード的には、復習。特別目新しい事項はないが、関数実行の順序などで勘違いし解決するのに随分時間を使った。(例えば、変数Aに値を設定する関数A-funcが実行される前に変数Aを使うなど、初心者がよくやる行き当たりばったりのコーディングからくる間違い。)日の出・日の入時間については、以前と同様、timezoneによる補正を行った。日付(date)についても、一応補正を行った。実質的には何も変わらないが。アプリ実行のビデオ:スクリーン・デザイン:変更点は、右上端に配置していた日の出・日の入時間の表示ボタンを削除したこと。ブロック・コード:最高・最低気温、日の出・日の入時間、湿度を表示する部分のみを要約の形で。1.デコードする前のDBより取得したJSONデ...MITAppInventor2で遊ぶ(WeatherAppNew5)

  • MIT App Inventor 2でもできるかやってみた (Convert a number to words 1)

    YouTubeやX上では、いろいろなプログラミング言語のチュートリアル(1分未満から数十時間まで)がある。そんな中で、Xに、PythonCodingというアカウントがあり、「入力した数字を文字に変換する」というコードの紹介があった。Python自体全くわかっていないが、グーグル先生もいるので見よう見まねでMITAppInventor2で可能かやってみた。入力する数字が1000未満まで対応できるようになったが、これ以上は根気が続かずギブアップ。また、今回は、Xの記事内容に沿ってMITAppInventor2で再現しようとしたが、記事の内容にとらわれることなくブロック・コードを考えたらどうなるのか、機会があれば考えてみたい。アプリ実行のビデオ:スクリーン・デザイン:ブロック・コード:変数units:数字が20...MITAppInventor2でもできるかやってみた(Convertanumbertowords1)

  • MIT App Inventor 2で遊ぶ (T-Rex Jump 2 - や〜っと -)

    や〜っと、横向き画面(landscapeorientation)で背景を右から左へ動かし、T-Rexをジャンプさせることができるようになった。問題は、現在の状態では、ゲーム・アプリとして成り立っているとは言い難いこと。T-Rexがサボテンにいとも簡単にぶつかってしまい、ゲームが終わってしまう。T-Rexやサボテンの大きさ、背景の移動のスピードなどをもう少し調整する必要があり。=>次回に向けた検討課題。横向き画面(landscapeorientation)だと、どうしてもジャンプの滞空時間が短くなってしまうのでタイミングを調整するのが難しい。以前作成したマリオの場合、縦向き画面(Portrait)なのでジャンプの時間を長く取ることができて調整がやりやすかったのではないかと思う。アプリ実行のビデオ:スクリーン...MITAppInventor2で遊ぶ(T-RexJump2-や〜っと-)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び -番外編 3-)

    編集画面(更新、削除)を追加。ブロック・コードは、以前のブログと重複箇所多い。アプリ実行のビデオ:またミラリングアプリのX-Mirageがうまく作動しなくなったので、今回、スマホの画面録画とMac側のウエッブサイト(Firebase)録画をそれぞれの録画機能を利用して行い、動画編集アプリで結合したが、微妙に同期がずれている感じのところができてしまった。スマホとパソコンで同時に録画をスタートさせたつもりでも、若干のずれができてしまう。スクリーン・デザイン:編集(更新、削除)画面:TextBoxが4つあり(赤黄点線部分)、上から、editFirstPartTextBox1:最初の句を表示および更新可editSecondPartTextBox2:次の句を表示および更新可editFullTextTextBox3:...MITAppInventor2で遊ぶ(新ことわざ遊び-番外編3-)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び -番外編 2-)

    Layoutのcomponentを使って複数画面の「ことわざ遊び-英語編-」を作ってみた。アプリ実行のビデオ:スクリーン・デザイン:左から、ランディング・ページ(1600ミリ秒経過後メインスクリーンに自動的に遷移)、メインスクリーンの初期画面(クイズの画面)、メインスクリーンのデータ追加画面なお、メインスクリーンの編集画面(更新・削除)は次回以降の予定。ブロック・コード:基本的にすでにこのブログで紹介したブロック・コードが多く、かなり重複していますが。。。ランディング・ページ=>画面初期化時にClock1を有効にする。intervalはあらかじめ400ミリ秒にセット。画面遷移のタイミングを決める変数countを0で初期化。countが4以下の場合は、400ミリ秒毎にcountの数値を1ずつカウントアップす...MITAppInventor2で遊ぶ(新ことわざ遊び-番外編2-)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び -番外編 1-)

    今回は、番外編として、一つのスクリーンで複数の画面を作るということについて復習してみたい。「新ことわざ遊び」では、メイン画面に、データ追加画面、データ編集画面(更新および削除)の3つのスクリーンで構成し作成した。複数スクリーン間での関数、変数の使い回しができず、かなり重複したブロック・コードとなった。そこで、スクリーン一つで作り直してみることとした。レイアウト用のcomponentであるVerticalArrangementを縦に3つ配置。VerticalArrangement(垂直配列)とは、MITAppInventor2(日本語版)によれば、***********************************************************************垂直配列上下に表示さ...MITAppInventor2で遊ぶ(新ことわざ遊び-番外編1-)

  • MIT App Inventor 2で遊ぶ (Weather App New 4)

    対象都市名の横に国名を表示。都市の位置をgooglemap上に表示。いずれも既にこのブログで紹介したもので、目新しいものはない。なお、googlemapの利用方法については、以前にも紹介した通り、こちらのブログに教えてもらった。アプリ実行のビデオ:任意の都市名を入力して検索する場合の「FetchData」ボタンの表示が、言語を日本語に変更してもそのままになっていたことを発見。次回修正したい。スクリーン・デザイン:すでに紹介済みのものもあるが、左より、アプリ立ち上がり時の画面、言語選択後の初期画面、左上の拡大鏡アイコンタップ時遷移する任意検索画面、GoogleMap表示画面。なお、このスクリーンショットではわからないが、CityName:の右側には都市名に加え国名のLabelが追加されている。ブロック・コー...MITAppInventor2で遊ぶ(WeatherAppNew4)

  • MIT App Inventor 2でチャレンジしたらどうなる (Coding Challenge 1)

    CodingChallengeとは、Google先生によると、プログラミング能力を競う競技や、スキルを向上させるための課題を解くこと、とのこと。CodingChallengeを行う場や機会がウエッブサイトにて多数提供されている。MITAppInventor2は、子供から大人までが手軽にスマホのアプリを作れるようにと開発されたツールなので、CodingChallengeのようなものには向かないと思うが。componentの使い方やアルゴリズムの練習にはいいかもしれない。今回のCodingChallengeはProjectEulerという有名な(?)サイトにある906個の問題の中で、もっともやさしい問題2つにチャレンジするもの。実行画面のビデオ(Problem1andProblem2):問題は以下の通り。Pr...MITAppInventor2でチャレンジしたらどうなる(CodingChallenge1)

  • MIT App Inventor 2で遊ぶ (T-Rex Jump 1)

    再度マリオ型ゲームに挑戦。GoogleChromeの有名なゲームT-RexGameがお手本。今回のブログでは、T-Rex(ティラノサウルス・レックス)をジャンプさせてみるだけで、背景はまだ動かない。と言うより、今のところ背景を右から左へ動かすとうまくいかないから、が正確な表現。また、本来であればスクリーン・オリエンテーション(画面の向き)は、landscape(横向き)だが、とりあえず慣れているportrait(縦向き)に設定。試験的に横向きで試行錯誤してみたが、これまた、うまく作動しない。********************************************************作り方は、marioに非常によく似ていると言うよりは、marioの代わりにティラノサウルスが飛び跳ねるよう...MITAppInventor2で遊ぶ(T-RexJump1)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び 3 -U&D of CRUD-)

    今回は、CRUDのU:Update(更新)、D:Delete(削除)を実装。アプリ実行のビデオ:ミラリングアプリがなぜか知らないが、一回だけうまく作動してくれた。でも、音声の録画設定を忘れたため効果音は録音されていない。また、編集画面に遷移したときに、「更新または削除したいことわざをタップして選んでください」という感じのAlertをポップアップした方がuser-friendlyと思う。これがないと、ユーザーは、まず、何をする必要があるかわからない。スクリーン・デザイン:左がメイン画面。右が編集画面。.ブロック・コード:<編集画面のブロック・コード>初期化:editScreenの初期化:変数のリセット、各データ固有のIDのリストを取得する関数getTagListの実行、削除ボタンをタップしたときに再生する警...MITAppInventor2で遊ぶ(新ことわざ遊び3-U&DofCRUD-)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び 2 -R of CRUD-)

    今回は、CRUDのR(Read)を中心にステップごとに確認しながら、次の句の表示などを実装。次の句を表示させるのは「再読込」ボタンを使っている。ことわざデータの更新(U)、削除(D)の実装は次回以降に予定(は未定)。アプリ実行のビデオ:テスト、確認のためのデータなどがあり、画面がごちゃごちゃしているが最終的には、これら不要なものは削除予定。また、ミラリング・ソフト(X-Mirage)が不調のため、とりあえずスマホの画面キャプチャーのみ。次回実装予定の更新、削除の時にはソフトがうまく作動し、連動しているところを見ることができればと思うが。スピーカーをONにすれば効果音も聞ける。スクリーン・デザイン:左より、1.メイン画面:「タグリスト」および「取得JSONデータ」はFirebaseRealtimeDatab...MITAppInventor2で遊ぶ(新ことわざ遊び2-RofCRUD-)

  • MIT App Inventor 2で遊ぶ (新ことわざ遊び 1)

    初めて作ったアプリが、ことわざ遊びだったが、もう一度作成。初回はことわざデータをFirebaseDatabaseに登録する部分。主に、データベースを扱う基本CRUDのC(Create)を扱う。FirebaseRESTAPIを使用。以前にこのブログで書いた内容と重複する箇所も多いが、Firebaseのデータベース(RealtimeDatabase)の復習も兼ねて。アプリ実行のビデオ:スクリーン・デザイン:左側:メインスクリーン(今回は対象ではない)右側:ことわざデータ追加画面(今回のブログの対象)ブロック・コード(ことわざデータ追加画面):メインスクリーンで「追加」ボタンをタップしたら、追加画面(AddScreen)へ遷移する。追加画面の初期化componentで「入力チェック」ボタン(checkInput...MITAppInventor2で遊ぶ(新ことわざ遊び1)

  • MIT App Inventor 2で遊ぶ (Weather App New 3)

    前回は、データ取得に特に問題ないことを確認。何度もOpenWeatherMapのデータを利用しているが、ちょっとした勘違いなどによりデータの確認がなかなかできないこともある。今回は、この取得データの一部(年月日、曜日、天候、天候のアイコン)をListViewを利用してリスト形式で表示。他に取得できるデータとしては、当該都市の緯度・経度、国コード、人口、日の出・日の入時刻、最高気温、最低気温、体感温度(日中、夜、夕方、朝)、気圧、湿度、降水量、風速等々。今までに作成したアプリで使用したものもあり。ブロック・コード的には、今回表示するデータとほぼ同じようなブロック・コードを作成していくことになる。今回のアプリWeatherAppNewでは、主に日本語と英語の2か国語による表示をいろいろ試すのが目的の一つ。以前...MITAppInventor2で遊ぶ(WeatherAppNew3)

  • MIT App Inventor 2で遊ぶ (Nobel Prize Laureates 4)

    表示するデータの項目として受賞者の生誕地、または団体の所在地を追加した。受賞が個人の場合は、Birthplaceのデータを抽出すればよい。しかし、団体の場合は、2つのキーをチェックする必要がある。(当方が誤解しているのかもしれないが。。。)2024年平和賞を受賞した日本被団協の場合は、以下のJSONデータの通り、キーを辿っていくとfounded=>place=>locationString=>enではなく、nobelPrizes=>residences(index1)=>locationString=>enに所在地のデータがある。設立場所(founded)は不明で、現在の所在地のみがわかっているからこのようなデータの内容となっているのだろうか?一方、2022年に平和賞を受賞したCenterforCivil...MITAppInventor2で遊ぶ(NobelPrizeLaureates4)

  • MIT App Inventor 2で遊ぶ (Nobel Prize Laureates 3)

    受賞者(団体/組織)の名称(または名称の一部)を入力して、情報を検索できる画面を追加。以下のnameパラメーターに個人又は団体の名称のフル、又は一部をインプットし検索すれば該当の受賞者(団体)のデータを返してくれる。https://api.nobelprize.org/2.1/laureates?name=例えば、https://api.nobelprize.org/2.1/laureates?name=nuclearで検索すれば、2017年に平和賞を受賞した有名な"InternationalCampaigntoAbolishNuclearWeapons"(ICAN)と1985年に同じく平和賞を受賞した"InternationalPhysiciansforthePreventionofNuclearWar...MITAppInventor2で遊ぶ(NobelPrizeLaureates3)

  • MIT App Inventor 2で遊ぶ (Nobel Prize Laureates 2)

    先日、2024年のノーベル平和賞が、日本被団協に授与されましたので、早速アプリ「NobelPrizeLaureates1」で「平和賞」、「2024」で検索してみると、(アプリの対象年度に2024を追加)上記の通り団体の名前が表示されない。一方、1974年の平和賞を検索すると、佐藤栄作氏とショーン・マクブライド氏の情報が表示された。データベースより取得したJSONデータを見てみると、対象が団体と個人の場合でキーの名前が異なっていることが判明。平和賞は、団体に対しても授与されるが、団体が受賞した場合は、fullNameの代わりにorgNameがキーとなっていることがわかった。また、受賞年度によっては、同じ分野の受賞対象が個人と団体双方が含まれていることもある。アプリ実行のビデオ:スクリーンデザイン:以下の通り...MITAppInventor2で遊ぶ(NobelPrizeLaureates2)

  • MIT App Inventor 2で遊ぶ (Weather App New 2)

    今回は、最小限の変更、追加で、いつでも言語の選択を可能にした。アプリ実行のビデオ:スクリーンのデザイン:緑の背景に白字の「English<==>日本語」ボタンを追加。ブロック:コード:1.変数langの設定はそのまま。2.前回は、Screen1(メイン画面)が初期化されるときに関数slelctLangを実行したが、今回は、「English<==>日本語」の変更ボタンをタップした時も、関数selectLangを実行するように設定した。(今回新しく追加したのは実質的にこのcomponentのみ)3.関数selectLang以下は前回と同じ。4.各言語選択ボタン(4つ)の動作をコントロールするのにgenericのイベントハンドラーを使っている。言語変更ボタンも対象ボタンになってしまうため、「タップしたボタンが言...MITAppInventor2で遊ぶ(WeatherAppNew2)

  • MIT App Inventor 2で遊ぶ (Weather App New 1)

    天気予報アプリ。素材は同じだが、UIなどを若干変更して作成してみると、新たな発見があるし、色々な使い方の復習にもなる。都市毎のボタンをタップしデータを取得。最初に言語を英語か日本語より選択。ボタンの処理はgenericのイベントハンドラーに任せる。アプリ実行のビデオ:スクリーンのデザイン:中央部分にある黒い長方形はListView。その下のTestLabel2は取得したデータを確認するテスト用のLabel。今回は、ListViewを使っていない。TestLabel1は、気象データ検索対象の都市名(検索に使用するので英語名)を確認のために表示するLabel。今回は、Tokyo,Paris,London,Beijingの各ボタンの動作確認を行なった。ブロック・コード:1.選択した言語を格納する変数lang2....MITAppInventor2で遊ぶ(WeatherAppNew1)

  • MIT App Inventor 2で遊ぶ (Nobel Prize Laureates 1)

    ノーベル財団は、ノーベル賞受賞者・受賞団体に関するデータをPublicAPIで提供している。データの属性として、生誕地(birth)、没地(death)、現在主に活動(?)している国(countryNow)とかはあるが、「国籍(nationality)」はない。当然であるが、1901年第1回のノーベル賞からのデータを検索できる。今回は、まず、対象分野と受賞年を指定してデータを検索。アプリ実行のビデオ:1901年第1回ノーベル物理学賞、日本人の受賞者などを検索してみた。スクリーンのデザイン:左側:メイン画面右側:対象受賞者のプロフィールのウエッブサイトを表示(ブラウザーのcomponentを配置)ブロック・コード:<Screen1>1.受賞対象のカテゴリーについて、フルネイムのカテゴリー(選択リストに使用)...MITAppInventor2で遊ぶ(NobelPrizeLaureates1)

  • MIT App Inventor 2で遊ぶ (GlobalChat 7)

    avatarの数を増やし、ChatRoom上部にnicknameとともに該当のavatar画像を表示した。大きな変更・追加ではないが。。。アプリ実行のビデオ:スクリーンデザイン:左側:nickname他情報の登録画面。avatarを12個に増やす。(一部のavatarは右側に隠れてしまって見えない)右側:ChatRoomの上部のボタン。「Reload」および「Logout」ボタンのアイコン化。真ん中にログインしている人のavatar画像を表示するimagecomponent。ブロック・コード:Screen1(メイン画面)=>nicknameを入力し、「EnterChat」(loginButton)をタップし、問題なければpostsScreen(ChatRoom)に遷移するが、その際、ログインした人のnic...MITAppInventor2で遊ぶ(GlobalChat7)

  • MIT App Inventor 2で遊ぶ (Space Travel 2)

    小型の隕石を追加。大型、小型隕石ともに回転しながら迫ってくるように設定。粉砕した隕石の個数を表示。画面に表示されていないが制限時間(30秒)を設定。制限時間に達するか、隕石に衝突したら「GameOver」。アプリ実行のビデオ:スクリーンのデザイン:左上端の数字0は、粉砕した隕石の数を表示するもの。ブロック・コード:追加した部分のみ。小型隕石の追加:大型隕石と同様に設定したが、起点をずらし、また下に移動するスピードは若干遅くした。画像は同じものを使用し、サイズのみ変更。1.経過時間と制限時間を格納する変数timePassedとtimeLimitを設定。「Start」ボタンをタップするとcountingTimeClockが動き出す。timeLimitまで来ると関数gameIsOverが実行される。関数game...MITAppInventor2で遊ぶ(SpaceTravel2)

  • MIT App Inventor 2で遊ぶ (GlobalChat 6)

    GlobalChat6用に、FirebaseRealtimeDatabase内に、新たにチャットを保存する「GlobalChatRoom」とnicknameを保存する「NickNameList2」を設けた。個人情報として、nicknameの他に趣味とアバターの登録を追加した。新たに登録したnicknameでツイートを追加したら、うまくいかなかったが、「Reload」ボタンをタップしたら追加したツイートも表示された。今回FirebaseRealtimeDBに新しくdirectoryを設けたが、その途端、やりとりがうまくいかない時が出てきた。(ビデオの通り)う〜ん、難しい。前回のGlobalChat5とブロック・コードの内容も同じなのに????アプリ実行のビデオ:スクリーンのデザイン:ブロック・コード:追加・...MITAppInventor2で遊ぶ(GlobalChat6)

  • MIT App Inventor 2であのアプリを作ってみる (Tic-Tac-Toe 2 -勝ち負けなしの場合-)

    勝ち負けなしの判定が抜けていたので、追加した。これはてこずるのではないかと思っていたが、意外と簡単に解決方法が見つかった。アプリ実行のビデオ:スクリーンのデザイン:上記ビデオの通りだが、それぞれの場合のスクリーンは以下の通り。CirclewinsCrosswinsNowinsorlossesブロック・コード:1.9つのボタンのいずれかをタップした回数を格納するtapCountを設定。これらボタンは、一度タップすると無効となるので、一回の勝負で先攻後攻合わせて9回タップすることになる。2.先攻、後攻、いずれがタップしてもtapCoupntを1加算する。(赤黄色点線部分)3.関数noWinsNoLosses:tapCountが9(タップできるボタンがなくなった時)で、かつshowWinnerLabelのテキス...MITAppInventor2であのアプリを作ってみる(Tic-Tac-Toe2-勝ち負けなしの場合-)

  • MIT App Inventor 2であのアプリを作ってみる (Tic-Tac-Toe 1)

    もう少しスマートに作りたかったが。。。何しろ動けばいいやということで、かなり無理矢理作った。またの機会に格好良く作ってみたい。アプリ実行のビデオ:スクリーンのデザイン:Tabletsizeでキャプチャー。「Playagain」ボタンは、勝敗が決まるまでは非表示。ブロック・コード:1.マル、バツの画像ファイル名をリスト形式で変数imageToShowに格納。circle1Trans.pngcross1Trans.png2.9つのボタンの初期化。有効にすると共にimageは「なし」に設定。変数buttonListは以下の9つのボタンをリスト形式で格納3.Buttonのgenericのイベントハンドラー(タップした時の動作を設定)を使用。genericのイベントハンドラーは、対象となるcomponent全ての動...MITAppInventor2であのアプリを作ってみる(Tic-Tac-Toe1)

  • MIT App Inventor 2で遊ぶ (GlobalChat 4 (5) - 再々追加 -)

    nicknameの登録、削除した場合、FirebaseRealtimeDatabaseとのデータのやり取りがうまくいかない場合がよくあった。nicknameの登録関係のブロックを以下のように全て取り出し、相互の関係などを一覧図にまとめてみた。図にまとめてブロック・コードの見直しを行ったのは初めて。自分で作ったとは言え、全体の構造がよくわかった。MITAppInventor2の場合、適当にブロックを組み合わせると簡単にアプリらしきものが出来上がる。が、この手軽さゆえに、ブロックが無秩序に作成され、いわゆる「スパゲッティコード」のようになってしまう。今後もコードの見直しを行う際は、まずはブロックを一覧図にまとめた上で行うのがいいかもしれない。今回の具体的な対応としては、タイミングをとる(次の関数の実行を遅らせ...MITAppInventor2で遊ぶ(GlobalChat4(5)-再々追加-)

  • MIT App Inventor 2で遊ぶ (Space Travel 1)

    マリオ型の横方向ではなく、縦方向に背景を動かすものを作りたかったので。。。宇宙船の左右への移動は、AccelerometerSensorを利用し、左右にスマホを傾けたらその方向へ移動。ビデオではその感じがわからないが。アプリ実行のビデオ:(ちょっと単調なビデオだが。。。)スクリーン・デザイン:ブロック・コード:TutorialsAzaotlのYouTube「MariorunGameforAppInventor Scrollingbackgroundpart01」(10::00以降の部分)で教えてもらった通り、以下の関数setAllにてCanvasの高さをScreenの3倍のサイズに拡大して設定。(以下の赤黄色点線内)ただし、同関数を普通に実行するだけではサイズを3倍に拡大して設定することはできず(何回も実...MITAppInventor2で遊ぶ(SpaceTravel1)

  • MIT App Inventor 2で遊ぶ (GlobalChat 4 -追加-)

    FirebaseRealtimeDatabaseと連動しているビデオを追加でアップします。今回も、最初のnickname追加時には、RuntimeErrorが発生しており、タイミングが合わなかったため登録済リストへの表示は失敗したようだ。この場合も、FirebaseRealtimeDatabaseへに追加は問題なく実行されている。なお、2回目の追加は問題なく処理されたようだ。MITAppInventor2で遊ぶ(GlobalChat4-追加-)

  • MIT App Inventor 2で遊ぶ (GlobalChat 4)

    nicknameの削除機能を追加。このアプリ、一人で何通りもの役になって、チャットするとおもしろい。あまりnicknameをたくさん登録しすぎると、誰が誰だかわからなくなってしまうが。でも、それはそれでまたおもしろい。(孤独な老人の独り言?)アプリ実行のビデオ:スクリーンのデザイン:追加したのは赤黄点線内の入力内容の可視化ボタンのみ。ブロック・コード:追加した削除の部分のみ。1.変数deleteKeyTagは、削除対象のnicknameのIDを格納2.nickname登録、追加、削除画面は以下の通り。(赤点線部分が登録済nicknameリスト)削除したいnicknameをタップしたら(選択したら)、削除の意向を確かめるダイアログ・ウインドウが表示される。また、タップしたらindexを返してくれるので、それ...MITAppInventor2で遊ぶ(GlobalChat4)

  • MIT App Inventor 2で遊ぶ (GlobalChat 3)

    前回までは、チャット参加者のニックネームは以下の通り変数に格納していた。今回は、参加者のニックネームをFirebaseのRealtimeDatabaseにて管理することに変更。追加、削除(まだ実装していないが)もアプリを操作すれば可能になった。以下の左図は、新たに設定したFirebaseRealtimeDatabaseのNickNameListのディレクトリー。テスト中にスクリーンショットしたもので、ビデオ撮影の際には削除してアプリを実行した。今回は、NickNameListが未設定の状態からアプリを実行。そのため最初にRuntimeerrorが表示されるが、そのエラー表示が右図。ピンク色の「ENDAPPLICATION」をタップせずに、エラー表示ウインドウの以外のグレーの部分をタップすればアプリを続行で...MITAppInventor2で遊ぶ(GlobalChat3)

  • MIT App Inventor 2で遊ぶ (GlobalChat 2)

    メッセージの削除は、当該メッセージの投稿者のみとした。(この種アプリでは、あまり意味はないが)アプリ実行のビデオ:(バックは、Googleに表示されている「FirebaseRealtimeDatabase」のページ)スクリーンのデザイン:変更点は特にないが、削除するアイテムのIDと投稿者名、および削除しようとしている者の名前をチェックするためのLabelを追加した。(赤点線枠内)ブロック・コード:追加・変更部分のみ。1.削除するアイテムのIDおよび投稿者名を格納する変数の設定2.Listviewのアイテムをタップした場合、まず削除の是非を再確認するメッセージを表示。削除するアイテムのIDおよび投稿者名に加え削除しようとしている者(ログインしている者)のニックネームをtestLabel(LabelForCh...MITAppInventor2で遊ぶ(GlobalChat2)

  • MIT App Inventor 2であのアプリを作ってみる (Whack-a-Mole 2)

    ゲームのレベル選択を追加。アプリ実行のビデオ:(ちょっとスコアーの数字がおかしいようですが。退屈なビデオです。)スクリーンのデザイン:レベルの選択を追加しただけ。ブロック・コード:レベル選択部分のみ。1.「遊び方」にゲームのレベルに関する記述を追加。2.ゲームのレベルは、モグラの出てくる間隔を長くするか短くするかで調節。数字の単位はミリ秒。3.「Start」ボタンをタップした時にゲームのレベル(ClockのInterval時間)をセットする。*******************************************************前回までのブログ:MITAppInventorであのアプリを作ってみる(Whack-a-Mole1)MITAppInventor2であのアプリを作ってみる(Whack-a-Mole2)

  • MIT App Inventor 2で遊ぶ (GlobalChat 1)

    GlobalChatと呼ばれている(?)形式で、誰でもあらかじめ登録しておけばChatに参加できるという単純なチャット・アプリ。もちろん、pushnotificationなんて便利なものは備わっていない。pullしに行かないとダメ。あらかじめ登録しておいたニックネームを入力すればChatRoomにログインできる。チャットのメッセージが左右に分かれることもなく、リスト形式で表示される。パスワード登録もなく、2〜3人の仲間内で使う「おもちゃ」、または秘密の連絡ツール?(作成途中で、なかなかうまくいかず、何度も中断があり、作成し始めてから結構時間が経過しているが、当初は、「MySecretMemo」と呼んでいた)。Chatの内容はFirebaseのRealtimeDBに保存されるので、Firebaseを通じての...MITAppInventor2で遊ぶ(GlobalChat1)

  • MIT App Inventorで遊ぶ (YouTube よりの動画削除通知を受け取る)

    先ほど、YouTubeより以下のような連絡を受け取った。MovieWorld9は、MITAppInventor2で遊ぶ(THEMOVIEDB9)にアップした動画。*****Quote*****MovieWorld9はコミュニティガイドラインに準拠していないようです。コミュニティの安全を確保するため、このコンテンツをYouTubeから削除しました。問題の内容お客様のコンテンツはYouTubeの有害で危険なコンテンツに関するポリシーに準拠していないと判断されました。本来は有料の音声コンテンツ、映像と音声のコンテンツ、ソフトウェア、サブスクリプションサービス、ゲームに、不正に、または無料でアクセスする方法を説明するコンテンツは、YouTubeで許可されていません。*****Unquote*****そして、再審査...MITAppInventorで遊ぶ(YouTubeよりの動画削除通知を受け取る)

  • MIT App Inventor 2であのアプリを作ってみる (Whack-a-Mole 1)

    要するに、「モグラ叩き」ゲーム。動物をハンマーで叩くなんて、ゲームとは言え、あまり好きなタイプではないゲームですが。。。でも、小さい時(?半世紀以上前)に旅館などで、よくバンバンと叩いていた記憶あるが。これも、YouTubeにはたくさん作り方のチュートリアルがある。MITAppInventorだとどの程度できるのか、作ってみた。アプリ実行のビデオ:スクリーンのデザイン:ブロック・コード:1.「遊び方」を表示。2.「Start」ボタンをタップするとClock1が有効となる。mole2.pngmole3.png全体で56マスあり、ランダムにそのうちの一つを選び、選ばれた当該のマスの背景画をmole2.pngに置き換える(モグラが顔を出し=>タップすることになる)。56マス全ての表示が終わると終了のメッセージが...MITAppInventor2であのアプリを作ってみる(Whack-a-Mole1)

  • MIT App Inventor 2で遊ぶ (World News 2 -追加-)

    データをGNewsより直接取得。詳細情報をみることができるメディアのウエッブサイトを追加。アプリ実行のビデオ:スクリーン・デザイン:メインスクリーンは変更なし。右図がウエッブサイトを表示するために追加したarticleScreen。ブロック・コード:追加部分のみ。1.今回は、同梱のファイルからデータを読み込む代わりに、直接所定のURLに対しGETリクエストを行い、データを取得。「fetchUSDataButton」(ボタンの表示は「US」)をタップした時の動作。言語:英語、国:米国、対象カテゴリー:「全て」で設定。日本語(「JP」)、中国語(「CN」)、フランス語(「FR」)も同様。2.データ取得に成功したら、必要なデータを抽出(extractData)、日付のフォーマット変更(makeDateAndTi...MITAppInventor2で遊ぶ(WorldNews2-追加-)

  • MIT App Inventor 2で遊ぶ (World News 1)

    世界のニュースを提供しているPublicAPIがいくつかある。今回は、そのうちの一つGNewsを利用。***********************************************ListViewを使用する時(画像+MainText+DetailText)に、デフォルトの設定のまま使用すると以下の通り、画像とテキスト部分の間が余白なしで表示される。(赤点線部分)ネット上でいろいろ調べたところ、extensionを使うadviceが多かったので試してみたが、期待通りの動作を得ることはできなかった。その後、Designerで設定をいろいろ変更して試行錯誤を重ねた結果、ListViewの画像のサイズを以下の通り変更すれば、期待通りの動作に「近い結果」を得ることができた。200pxX200px=>...MITAppInventor2で遊ぶ(WorldNews1)

  • MIT App Inventor 2で遊ぶ (Audiobook 1/2)

    電子書籍とオーディオブックを合体させたようなもの。日本語、英語、フランス語、ドイツ語の誰でも知ってる書籍のごくごく一部を読んで聞く。あまり実用的なアプリではないが。。。どの言語の発音も及第点というところか?アプリ実行のビデオ:=>選択した書籍のテキストをtextLabelに表示させた場合。単語の選択などは不可。=>選択した書籍のテキストをTextBoxに表示させた場合。この場合は、単語の選択が可能で、翻訳を参照したり、コピー機能なども使える。TextBoxは、通常は、文字、数字などを入力する機能を提供。なお、フランス語とドイツ語の場合、単語に赤の下線が表示されているものもあるが、理由はわからない。スクリーンのデザイン:ブロック・コード:1.イソップ童話の名前をリスト形式の変数aesopに格納。この名前に....MITAppInventor2で遊ぶ(Audiobook1/2)

  • MIT App Inventor 2で遊ぶ (Sudoku 3 -追加-)

    <Sudoku2への追加>PublicAPI(DOSUKU)より数独の問題と解答を取得した際、問題のレベルに関する情報も得ることができる。アプリ実行のビデオ:スクリーンのデザイン:「Start」ボタンの右側にレベルを表示するLabel(Level)を追加。ブロック・コード:1.取得したJSONデータよりレベルのデータ(キーは、difficulty)を抽出し、levelLabelに内容を表示する関数getDifficutyData。2.関数getdifficultyDataの実行*******************************************************************前回までのブログ:MITAppInventor2で遊ぶ(Sudoku2)MITAppInvento...MITAppInventor2で遊ぶ(Sudoku3-追加-)

  • MIT App Inventor 2で遊ぶ (Sudoku 2)

    ListViewとLabelをTextBoxに統合。データはPublicAPIより直接取得。Nextボタンをタップすれば次の新しいSudokuを楽しむことができる。ブロックはSudoku1と比べると随分とシンプルなものとなった。(まだ、コピー&ペーストのブロックは多いが)PublicAPIは、前回と同様こちらを利用。アプリ実行のビデオ:Sudokuのやり方があまりわかっていないので、解答を見ながらやってみたデモのためのビデオです。スクリーンのデザイン:「CheatSheet」ボタンの下に解答が表示されるスペースがある(最初は非表示)ブロック・コード:1.「Start」ボタンをタップ=>表示を「Next」に変更=>背景色を橙色系に変更=>「FetchingData...」を画面に表示=>所定のURLに対しG...MITAppInventor2で遊ぶ(Sudoku2)

  • MIT App Inventor 2で遊ぶ (Sudoku 1)

    最近アプリ作成の基本的な考え方、作り方などで大変参考にしているYouTuber「CodewithAniaKubów」の「5APIProjectsin5hours」というのを視聴していたら、(JavaScriptではあるが、あまり言語は関係ない)「数独」のアプリ作成が紹介されていた。面白そうなので、MITAppInventorで可能なのかチャレンジしてみた。私自身、数独はやったことがないので、これでいいのか、よくわからない。。。PublicAPIが公開されているので、ネット経由データを取得しても良いが、今回は、あらかじめダウンロードしたJSONファイルをアプリに同梱して、そのファイルからデータを読み込んだ。したがって、1種類のみ。ネット経由だと、GETリクエスト毎に異なった数独を取得できる。アプリ自体はとて...MITAppInventor2で遊ぶ(Sudoku1)

  • MIT App Inventor 2であのアプリを作ってみる (Pacman 4)

    左右上下のボタンをタップすると、その方向にpacmanが一コマずつ動く仕様になっていた。これを変更し、ボタンをタップすると、その方向に行けるところまで自動で動くようにした。もちろん、分岐点で方向の違うボタンをタップすれば、今度はその方向に動いていくことになる。アプリ実行のビデオ:スクリーンのデザイン:画面の下部に、一コマずつ動かすボタンを新設した。(右側の図)ブロック・コード:Pacmanが動く部分と追加した部分のみ。1.Clockのintervalを格納する変数clockTimeIntervalを設定した。今後、レベル設定などにも使えるかもしれない。2.上下左右のボタンがあるが、たとえば左矢印ボタンをタップした場合、前回と異なり、新たに設定したleftClockを有効にさせる。3.leftClockが有...MITAppInventor2であのアプリを作ってみる(Pacman4)

  • MIT App Inventorであのアプリを作ってみる (KanooPizza 5)

    今回は、支払い関係の部分を追加した。前回の課題はそのまま。無理矢理アプリを終了させたような感じが否めないが。。。機能的には、配達時刻の選択とか、客の囲み込みの一つの手段である「顧客の登録」とか、まだまだ重要な部分が欠落しているが、このアプリ自体はここまでかもしれない、という感じもする。でも、この注文情報をネット経由(Firebaseなどの外部DB経由)で受け取る店側のアプリを作っても面白いかもしれない。アプリ実行のビデオ:スクリーンのデザイン:赤点線内の部分。(非表示の部分も多い)ブロック・コード:1.支払い方法のうち、クレジットカードにチェックを入れた場合、クレジットカードの詳細を入力する項目が表示される。(実際にはVerticalArrangement18というコンテナー内に設定されている)また、同時...MITAppInventorであのアプリを作ってみる(KanooPizza5)

  • MIT App Inventorであのアプリを作ってみる (Pacman 3)

    ゴーストを若干動かしてみる。アプリ実行のビデオ:スクリーンのデザイン:赤線枠内のゴーストを動かす。ブロック:コード:1.スクリーンの初期化の際に、ghost1Clockおよびghost3Clockを有効にする。2.ghost1Clockが有効となったら、関数animationGhostSprite1を実行。ghost1をY軸方向に上下に移動させる。y:60〜y:180の間を30pxずつ移動させる。3.ghost3Clockが有効となったら、関数aninationGhostSprite3を実行。ghost3をX軸方向に左右に移動させる。x:30〜x:90の間を30pxずつ移動させる。4.3つのバナナのいずれかを食べたらパワーレベルを5加算。(ちょっと画像が見にくいが、赤線枠内)なお、Ghostと衝突したら2...MITAppInventorであのアプリを作ってみる(Pacman3)

  • MIT App Inventorで遊ぶ (Analog Clock 2)

    前回のAnalogClock1で課題としてあげた「秒針が1秒毎にカクカク動くのではなく、スムースに動かせる」件について、その後、ネット上でいろいろ検索してみた。1番のポイントは、MITAppInventorでミリ秒単位で時間を取得できるかどうかという点。この点については、StackOverflowの記事に「HowcanIgetthecurrentmillisecondsfromthecurrenttime」というのがあって、その記事に対する回答(longmillis=System.currentTimeMillis()%1000;)を参考に、MITAppInventorに当てはめて色々(回答の意味がわからないままで)やってみたら1秒のミリ秒単位での時間の取得ができた。以下ブロック・コードの赤点線部分。He...MITAppInventorで遊ぶ(AnalogClock2)

  • MIT App Inventorについて (Release Note July 7, 2024 and February 19, 2024)

    MITAppInventor2も常にアップデートされているようだ。最新のアップデートは、July7,2024だが、一つ前のアップデート(February19,2024)で、日本語版も追加されたようだ。<英語版>「English」をクリックするとドロップダウンメニューが表示されるので「日本語」を選択すると下の日本語版に変わる。<日本語版>なお、最新のアップデート(July7,2024)では、MITappInventor2のUserInterfaceに「Neo」が追加された。(追加と言っても、従来版とNeoの2種類だけだが)NeoのUserInterfaceは以下の通り。全体に今風のUIになっている。今後のアップデートに期待!😀MITAppInventorについて(ReleaseNoteJuly7,2024andFebruary19,2024)

  • MIT App Inventorであのアプリを作ってみる (KanooPizza 4)

    今回も、メニュー選択画面。メニューと個数の選択と合計金額算出まで。個数選択はextensionを利用して、ドロップダウンメニュー形式を採用。アプリ実行のビデオ:スクリーンのデザイン:前回と若干重複があるが。。。スクロールの順に画面展開を表示。赤点線部分は、このスクリーンに遷移した時は非表示。TableArrangementを初めて利用(赤点線内)>途中若干省略>ブロック・コード:メニュー選択部分のみ。1.スクリーンの初期化時に、関数setPopUpを実行して、個数選択のドロップダウン・メニューを生成するextension(UrsAI2Popup)のメニューアイテムをセットする。また、関数setInitialOrderLabelを実行して、各商品名の下に価格を表示する。(各「個数選択」ボタン毎にドロップダウ...MITAppInventorであのアプリを作ってみる(KanooPizza4)

  • MIT App Inventorで遊ぶ (Analog Clock 1)

    今回はアナログ型の時計。これもよくYouTubeの初心者用チュートリアルで見かけるアプリ。シンプルなアプリで、意外と簡単に作ることができた。ただし、秒針、分針、時針の画像を作成するのにはかなりの時間を費やした。イメージを回転させる時の回転の中心はその画像の中心点になるので、以下のように文字盤と同じ大きさの300pxX300pxのシンプルなイラストを作成。いずれもpngファイルで、白い部分はくり抜いて透明にした。こう言ってしまえば、いたって簡単なんだが。。。意外とてこずった。アプリ実行のビデオ:スクリーンのデザイン:位置については、ブロック・コードにて設定。ブロック・コード:1.スクリーンの初期化時に秒針、分針、時針、文字盤、文字盤の枠をキャンバスの中央に配置し、Clockを有効に。2.秒針は1秒毎に6度回...MITAppInventorで遊ぶ(AnalogClock1)

  • MIT App Inventorで遊ぶ (THE MOVIE DB 9)

    バットマンって映画、何本あったっけ。。。という時がある。今回は、「Batman」で検索すると、過去に上映されたその名前の映画のリストを表示する画面を追加した。アプリ実行のビデオ:スクリーンのデザイン:従来。家のアイコンがあった場所に今回の画面へのボタンを設置。(拡大鏡のアイコン)右図は、新しいsearchMovieScreenの画面デザイン。ブロック・コード:searchMovieScreenのみ。1.searchButtonをタップしたら、もしsearchTextboxが空白ではない場合、所定のURLに対しGETリクエスト行う関数makeGETRequestを実行する。searchTextboxが空白の場合は、映画の名前を入力するように促す。2.関数makeGETRequest:所定のURLを生成し、G...MITAppInventorで遊ぶ(THEMOVIEDB9)

  • MIT App Inventorであのアプリを作ってみる (Pacman 2)

    画面をもう少しPacmanらしく。Pacmanの移動を制御するために動けるルートをあらかじめ設定。設定方法は以下の通り。1.matrixList:Macのスプレッドシートで以下のようなルートを作成(左図)。0は侵入不可地域、1は移動可能地域。赤線枠内がスクリーン(Canvasの領域)。Canvasの領域を出ることはできないが、一応0で囲むことにした。1の青色部分がpacmanが動ける範囲。スクリーン初期化の際にこのマトリックスをリストとして生成。2.侵入不可地域を画面上で認識するために右図のpacmanPositionリストを作成。例えば、pacmanが「23」の位置にいる場合、23の直下は、現在のposition番号+12の35となる。もし、下に進もうとしたら(下矢印ボタンをタップ)、matrixLis...MITAppInventorであのアプリを作ってみる(Pacman2)

  • MIT App Inventorであのアプリを作ってみる (Pacman 1)

    パックマンというゲームはあまりよく知らないのだが、ネット情報を見て、こんな感じなのかなというパックマンを作ってみることにした。まずは、パックマンが動き、パワーエサを食べ、ゴーストと会う(衝突する?)程度まで。これで終わってしまうかもしれないが。。。理想的には、GoogleDoodleのようなものを作成できたらなあ〜と思うが。。。なかなか難しそう!アプリ実行のビデオ:スクリーンのデザイン:右側画面の下部の右向きと左向き矢印はブロック・コードにて、それぞれ上向き、下向き矢印に回転させている。ブロック・コード:1.extensionを使って右向き矢印と左向き矢印をそれぞれ時計回りと反対に90度回転させて、上向き矢印、下向き矢印に変更している。変数powerLevelの数値をpowerLevelLabelに表示。...MITAppInventorであのアプリを作ってみる(Pacman1)

  • MIT App Inventorで遊ぶ (色と描画4-ColorPicker2-)

    お絵描き帳の中にカラーピッカーを追加する。もうすでにどちらのアプリも作成済みなので、新しい要素は特にない。アプリ実行のビデオ:スクリーンのデザイン:右2つは、描画モードとカラーピッカーモードの画面。.ブロック・コード:カラーピッカーの表示の部分のみ。(前回までと重複部分が多いので、かなり省略。)1.背景色がグラデーションの「カラーピッカー」ボタンをタップした時の動作。描画用キャンバス(Canvas1)が表示されている時は、カラーピッカー用キャンバスが設定されているVerticalArrangement3を表示。カラーピッカー用キャンバス(Canvas2)に配置されているBall1(黒色の丸)の位置をx=120,y=120にセットする。(ほぼ中心)「カラーピッカー」ボタンの表示文字を「キャンバスへ戻る」に変...MITAppInventorで遊ぶ(色と描画4-ColorPicker2-)

  • MIT App Inventorで遊ぶ (THE MOVIE DB 8)

    俳優の出演作品を検索。人気順。ページ送り機能はつけず、また、1ページ目のみ表示の簡素型とした。アプリ実行のビデオ:スクリーンのデザイン:「Starringfilms」ボタンをタップすると、右図の赤点線部分が非表示となり、緑点線部分が全面表示される。ブロック・コード:1.変数pageに1を設定。今回は1ページのみ表示。URLに埋め込むパラメーターを日本語の場合と英語の場合にわけて変数parameterListに設定。2.関数setParameters:parmeterListより日本語(index2)あるいは英語(index1)いずれを選択するかにより、language,region,countryの変数に値を設定する。3.日本語を選択した場合、関数setParametersのパラメーターindexとして2...MITAppInventorで遊ぶ(THEMOVIEDB8)

  • MIT App Inventorで遊ぶ (色と描画3-ColorPicker1-)

    MITAppInventorのチュートリアルの定番として、カラーピッカーがある。最初に見た時は、えっえっ。。。どうしてできるの?と不思議に思った。タネを明かせば、簡単。componentの中に、キャンバス内の特定ポイントの色をRGBで取得できるもの(以下)が用意されている。それだけのことなのだが。アプリ実行のビデオ:(ビデオの撮影がうまくいきませんでしたが。。。)スクリーンのデザイン:アプリに同梱した3枚の写真の他に、写真ライブラリーからまたは撮影した写真からも色を取得できる。ブロック・コード:変数color:取得した色のRGBの値をリスト形式で格納変数photoList:同梱の画像名のリストを格納変数colorIndex(photoIndexとすべきか?):現在表示している同梱画像のindexを格納「N...MITAppInventorで遊ぶ(色と描画3-ColorPicker1-)

  • MIT App Inventorで遊ぶ (色と描画2-お絵描き帳2-)

    今回は、少しお絵描き帳のアプリらしく。。。基本的な機能を整えた。データの保存については、お手軽にTinyDBというMITAppInventorが用意してるものを使用。データはスマホ内部に保存される。TinyDBは小さな容量のファイル保存には適しているが、画像ファイルのような大きな容量の場合は適当なDBとは言えないようだ。アプリ実行のビデオ:やっぱり絵はどうしようもないくらいヘタ。スクリーンのデザイン:Tabletsizeでキャプチャー。ブロック・コード:1.描画の部分:前回と同じ。2.「全消去」ボタン:キャンバス(描画)を消去すると共に、背景画像(写真ライブラリーより取り込んだ画像)も消去。3.「画像消去」ボタン:キャンバス(描画)を消去。3.写真ライブラリーより画像を取得するImagePickerの動作...MITAppInventorで遊ぶ(色と描画2-お絵描き帳2-)

  • MIT App Inventorであのアプリを作ってみる (KanooPizza 3)

    メニューの選択画面を追加。と言っても、メニュー選択機能を付加するのではなく、担当店舗の詳細を表示できるようにした。(半熟アプリだが、前に進むためにアップ)アプリ実行のビデオ:スクリーンのデザイン:メニュー選択画面のみ。左図の赤点線内のボタンをタップすれば右図のように非表示としていたcomponentが開く。今回、地図を使っているが、MITAppInventorのMapcomponentを利用。GoogleMapより古臭い感じはするが、マーカーなどが簡単に追加することができるので。このMapcomponentの反応は悪く、うまく指定した緯度経度の場所を表示しないことがある。やり直すとうまく表示するのでOK。ブロック・コード:1.「戻る」ボタン:二つ前のスクリーン(郵便番号を入力して住所を取得するスクリーン)...MITAppInventorであのアプリを作ってみる(KanooPizza3)

  • MIT App Inventorと失敗、勘違い等諸々 1(JSONファイルのデコード)

    MITAppInventorなら、比較的簡単にPublicAPIからデータを取得して、様々なアプリを作ることができる。でも、このブログを始めた頃は、JSONファイルをデコードするメソッドを間違えてたというか、適当にメソッドを使ったため随分苦労した。以前のブログでも触れたことがあるが。。。MITAppInventorでは、通常以下のようなブロック・コードでJSONファイルを取得。スクリーンの初期化時に所定のURLに対し、GETリクエストを行う。取得したオリジナルのJSONファイル:今回は、フェイク・データを提供してくれているhttps://dummyjson.com/よりデータ個数を1つに限定してデータを取得。赤字、下線は当方にて加えたもので、例として後でこのデータを抽出する。{"users":[{"id"...MITAppInventorと失敗、勘違い等諸々1(JSONファイルのデコード)

  • MIT App Inventorで遊ぶ (色と描画1-お絵描き帳1-)

    モバイルアプリ作成の初心者なら一度は作る、、、、、、お絵描きアプリ。一度はやってみないと。指でスクリーンをなぞると線が描けるんですから!私のような素人にとってはちょっとした感動の瞬間。(イーロン・マスク氏が、初めてのStarship打ち上げの際に、"Successisnotguaranteed,butexcitementisguaranteed."と言ったのを思い出した。)今まで見たこともないようなアプリではなく、今までに何度も何度も出くわした、平凡なアプリだが。YouTubeにもMITAppInventorのみならず、色々なプログラミング言語で作られたお絵描きアプリの紹介がたくさんある。まずは、線を描く。アプリ実行のビデオ:絵は下手だが、ここは恥を忍んで。。。NewDrawingApp1とNewがついて...MITAppInventorで遊ぶ(色と描画1-お絵描き帳1-)

  • MIT App Inventorであのアプリを作ってみる (KanooPizza 2)

    前回、郵便番号を入力すると、その地域に対する丁目の候補が表示され、選択できるようにしたいと書いたが、解決方法は意外と簡単に見つかった。全国の市区町村に存在する丁目を提供してくれるAPIがあった。Geoloniablogというサイト。以下は東京都世田谷区の丁目を検索した結果の冒頭部分。他の都道府県の市区町村も検索してみたら、データが取得できた。今回は、とりあえず、東京都世田谷区に絞ってアプリを作成している。もし、全国のピザ販売店の位置情報などが取得できるのであれば、世田谷区に限ることはないが。。。無理な相談!また、そんな膨大なデータを作ることは不可能。[{"town":"赤堤一丁目","koaza":"","lat":35.655245,"lng":139.641523},{"town":"赤堤二丁目","...MITAppInventorであのアプリを作ってみる(KanooPizza2)

  • MIT App Inventorで遊ぶ (THE MOVIE DB 7)

    映画のカテゴリー別(複数選択可能)の情報が取得できるようにした。通常、どの映画も複数のカテゴリーに属している。以前にも利用したが、チェックボックスの処理を行うのにgeneric(AnyComponent)のイベント・ハンドラー(この言い方が正しいかどうかはわからぬが?)を使用した。アプリ実行のビデオ:「MovieListByCountry」で、Byreleasedateで検索している画面があるが、前回だったか、トップは2115年に封切予定の映画がリストアップされていた。現在、その映画はリストアップより外されたようである。なお、ビデオを撮り忘れたが、どのカテゴリーにもチェックを入れない場合は、全てが対象となる。この時は下図の通りAllcheckedが表示される。(赤枠内)スクリーンのデザイン:新たに追加した...MITAppInventorで遊ぶ(THEMOVIEDB7)

  • MIT App Inventorであのアプリを作ってみる (KanooPizza 1)

    ド○ノ・ピザのスマホアプリに似たようなものを作ってみる。機能がたくさんあるので、少しずつ追加していきたい。途中で投げ出すかもしれないが。最初で最後?でも、まずは、トライ!(東京都世田谷区に限定したアプリ)MITAppInventorのアプリにJavaScriptを組み込む(連携させる)ことができるので、今回は、初めての試みとして、ネット上にもサンプルが豊富にある携帯電話番号のチェックに使ってみた。関数と変数の名前、そして返り値を変えただけで、ほぼそのまま使わせてもらった(と言ってもいい)ウエッブサイト、YouTubeのチュートリアルなどは以下の通り。1.IntegrateaJavaScriptcodeinanAppInventorApplication2.MITAppInventorHelp:Javasc...MITAppInventorであのアプリを作ってみる(KanooPizza1)

  • MIT App Inventorであのアプリを作ってみる (SpeakByWriting 2)

    前回は、メッセージの表示を上下逆さまにするボタンを設置した、今回はボタンを取り除き、スマホを前後に傾けることにより表示の方向を変える方法に変更した。「MITAppInventorで遊ぶ(TreasureHuntApp1)」で使ったAccelerometerSensorを利用。デジタル・ペイのアプリなんかにも、お店側の人が見やすいように、スマホを前後に傾けると表示が逆になるものがありますが、ちょうどそのようなもの。アプリ実行のビデオ:スクリーンのデザイン:今回もTabletsizeでキャプチャーした。右端の黒色の縦長長方形は、実行ビデオの通り、傾きをボールの移動で示すためのもの。白いボールが上の方向に移動している時は、スマホの上部を下に傾けた時。下の方向の場合は、スマホの下部を下に傾けた時。ブロック・コード...MITAppInventorであのアプリを作ってみる(SpeakByWriting2)

  • MIT App Inventorで遊ぶ (THE MOVIE DB 6)

    映画の批評を見ることができるようにした。メインページ(Screen1)で選択した言語で批評を検索するべきだが、英語以外の言語の場合、批評がほとんどないため、英語の批評を表示することとした。なお、批評を書いた批評家の名前をクリックするとTheMovieDBのウエッブサイトに飛ぶことができる。さらに、同ウエッブサイトで、批評家の名前をクリックすると、その批評家の活動について知ることができる。アプリ実行のビデオ:スクリーンのデザイン:追加したReviewScreenのみ。Tabletsizeでキャプチャー。ブロック・コード:追加ブロックのみ。<Screen1>映画一覧のListViewの列をクリックすると、映画のID、ポスター画のパス、映画のタイトルをreviewScreenへ渡し、reviewScreenへ遷...MITAppInventorで遊ぶ(THEMOVIEDB6)

  • MIT App Inventorであのアプリを作ってみる (SpeakByWriting 1)

    YouTubeには、人気のあるアプリのUI(UserInterface)を真似て、種々のプログラミング言語で似たようなアプリを作って、その言語やアプリの作り方を教えてくれるチュートリアルがたくさんある。MITAppInventorでも、どれだけできるのか、やってみようと思う。まずは、比較的簡単なもと思われるものから。********************************************************iOSのアプリに「しゃべって筆談」というアプリがある。話しをすると、画面に文字として表示されるという簡単なアプリだが、結構役に立つアプリ。iPadにインストールして使っていた。MITAppInventorでこのアプリを再現できるかやってみた。コード的には非常にシンプルで、わざわざこの...MITAppInventorであのアプリを作ってみる(SpeakByWriting1)

  • MIT App Inventorで遊ぶ (Expenses Memo 3)

    カテゴリー(item)別の合計額を円グラフで表示するようにした。文字のサイズを変更できず見にくいグラフとなってしまった。このあたりがグラフの限界?extensionを使えばもう少しマシなグラフを描けるのか?アプリ実行のビデオ:FirebaseRealtimeDBからのデータの取得が時々うまくいかない。スムースにいく時もあるのに。スクリーンのデザイン:左から、メインのScreen1には円グラフのScreenに遷移するためのボタンを追加。円グラフを表示するpieChartScreenは見ての通り。棒グラフと同様、Chart1の中にChartData2D1を組み込んでいる。ブロック・コード:1.円グラフの各扇形の背景色は、緑系のランダムな色に設定。RGBの値をリスト形式で保存する変数colorsを作成。なお、緑...MITAppInventorで遊ぶ(ExpensesMemo3)

  • MIT App Inventorで遊ぶ (The Movie DB 5)

    言語、地域を増やした。これまでは、bypopularity(人気投票?順)でソートしていたが、byreleasedate(封切日、公開日)でソートしたリストも見ることができるようにした。byreleasedateは、これから先に封切られる映画も含まれるということで、これからどんな映画が制作されようとしているのか、または制作途中なのかがわかる。USA/byreleasedateで検索したら、2115年封切予定の映画がトップに来た。下記アプリ実行のビデオで確認できる。アプリ実行のビデオ:スクリーンのデザイン:左がメイン画面Screen1。スマホサイズでは全体を見通せないので、タブレットサイズでキャプチャーした。右がfreeSearchScreen。.ブロック・コード:<Screen1>下段タブの一番右側のアイ...MITAppInventorで遊ぶ(TheMovieDB5)

  • MIT App Inventorで遊ぶ (Expenses Memo 2-1 追加訂正部分のみ)

    <追加訂正>0,0の位置が上にずれている問題は、単にグラフの初期設定が適切になされていなかったためと判明。初期設定後は以下の通りとなった。ExpensesMemo2は、訂正追加済み。グラフの初期設定とは以下の部分で、XFromZeroにチェックが入っていた。チェックを外すと期待通りに表示された。なお、YFromZeroのチェックを外すと、縦棒が左によってしまって、最初の縦棒の表示幅が半分になってしまった、問題だった点:以下のように0,0の位置が上にずれていた。*************************************************************************前回までのブログ:MITAppInventorで遊ぶ(ExpensesMemo2)MITAppInven...MITAppInventorで遊ぶ(ExpensesMemo2-1追加訂正部分のみ)

  • MIT App Inventorで遊ぶ (Expenses Memo 2)

    <追加訂正あり>費用の推移を見るためのグラフを追加してみたが、グラフに関する知識不足のためこれが精一杯というところ。今回は棒グラフ。円グラフにも挑戦予定。なお、削除機能も追加した。アプリ実行のビデオ:(データ取得がうまくいかず、何度もRefreshボタンをタップしている場面がある。基本的にデータ取得のブロック・コードに欠陥があるかもしれない。)スクリーンのデザイン:グラフを表示するスクリーンに遷移するためのボタンを追加。componentとしては、Char1およびChartData2D1を追加。ChartData2D1はデータまわりに関係するcomponentで、Chart1の中に組み込む必要がある。真ん中のcomponentsリストを見ると、Chart1の中にChartData2D1が組み込まれているの...MITAppInventorで遊ぶ(ExpensesMemo2)

  • MIT App Inventorで遊ぶ (THE MOVIE DB 4)

    映画関係者の一覧リストを表示するボタンの位置の座りが良くなかったので、全体のレイアウトを若干変更するとともに、地域と言語(要するに、言語の選択?)を選択できるようにした。デフォルトは、英語(USA)にした。アプリ実行のビデオ:スクリーンのデザイン:言語(地域)選択のボタンおよびスター検索ボタンを下部に移動(タブ形式に変更)言語(地域)選択ボタンは、左側の画像では4つしかないが、実際には右側のcomponentsパネルの通り5つある。(JP=日本,USA=米国,FR=フランス,KR=韓国,CN=中国)ブロック・コード:追加部分のみ。1.TheMovieDBのサンプルURL何度を見ると、region,country,language(lang)の3つのパラメーターが使われているので、それに倣って作っているもの...MITAppInventorで遊ぶ(THEMOVIEDB4)

arrow_drop_down

ブログリーダー」を活用して、kanooさんをフォローしませんか?

ハンドル名
kanooさん
ブログタイトル
75才からのモバイルアプリ作成
フォロー
75才からのモバイルアプリ作成

にほんブログ村 カテゴリー一覧

商用