ものづくり筆耕ものづくり筆耕ものづくりを楽しむ。皇帝ダリアの栽培からオリジナルシステムの構築まで。AndroidアプリinventorWordPressのバージョンは今や3.8ですが3.5、3.6にアップデートして投稿したときに、下記ワ-ニングエラーメッセージに悩まされました。99長らく放っていましたが今回、時間ができたので根本対策をしました。エラー出力を抑制する方法もありますが、根本対応を示します。原因はno-future-posts.phpにおいて74行で呼び出しているprepare関数の引数の数が合わないというエラーであることが多くのWeb作成者の投稿で分かりました。噛み砕いて具体的な改修手順をメモに記します。対象となるPHPソースファイルがテーマに関わるものならば、ダッシューボード-外観-テーマの編集-サイドメニューでソース選択-ソース修正-ファイル更新でソースファイルを変更します。テーマ編集に無関係なno-future-posts.phpはFFFTPでパソコンにダウンロードし、74行目をテキストエディタにて下に示したようにprepare関数の引数を1から2に改訂し、再びFFFTPを用いてアップロードしWordPressを再起動したところエラーはなくなりました。null));前回までは、WordPress起動-投稿-エラー発生-WordPress終了-WordPress再起動でだましだまし使っていましたが、上記修正ですっきりしました。改訂方法は他にもあると思いますが、バックアップなどを取って自己責任にてご利用ください。FFFTPは曽田氏によって開発されたフリーなFTPクライアントソフトウェアです。AndroidアプリinventorAndroidアプリ開発で新しいプロジェクトを定義したり、SDKのバージョンを上げたときに以下のようなエラーに悩まされることがあります。その解決の一例を示します。このたぐいのエラーが起きたときは、ライブラリーの同期がとれていないことを意味します。Google-Play-services_libは古く、そのプロジェクトのAndroidManifest.xmlに指定したライブラリーバージョンが実機のバージョン(3.2.66)と異なるとエラーメッセージは指摘しています。プロジェクトが格納されているフォルダ、例えば、C:\PLEIADES\workspace\google-play-services_lib\AndroidManifest.xmlファイルのandroid:versionCode値は4.0.30となっていて両者に違いがあることがわかります。Google-Play-services_libプロジェクトと実機のどちらかを変更して同一状態にすれば解決しますが、実機のライブラリーを差し替えるのは影響が大き過ぎ得策ではありません。そこでプロジェクト側を変更するためにバージョンが’3266112’であるライブラリーをインポートします。3.2.66は用意できないので上に示すAndroidManifest.xmlを有するライブラリープロジェクトをインポートしたところ、問題なく動作しました。すべてのケースを調査したわけではありませんが、頭から2つのパラメータが同じであれば動作するようです。同様のエラーが起きたときには挑戦してみてください。このエラーは新しいプロジェクトに切り替えた時などに起きるようです。メッセージの意味からするとActionBarをサポートする[android-support-v7-appcompat]プロジェクトを開いていなかったことが最大の原因でした。念のため、コマンドプロンプトを起動して以下のコマンドを入力したら解決しました。AndroidアプリinventorスマートフォンのAndroidアプリ開発から離れて、しばらくぶりに戻ると浦島太郎状態になることがあります。開発環境や動作環境にちょっとした変更を加えただけで、動作まで至らず四苦八苦してしまいました。元の状態に復帰するまで一週間を要しました。動作手順を逐一、メモすることはしていません。これが厳しい納期や高額な受注額だったらと思うと行動の可視化が必要と考えます。最低2台のカメラが作動していて、1台は全体的な作業概要を把握するために、もう一台はパソコン画面を詳細に記録し続けるために利用します。上記方法は理想論です。気をつければ頓挫しかかることもなかった顛末を、二度と起こさないように以下の記録に留めます。Play開発者サービス」を削除したことにあります。1)GooglePlay開発者サービスを再インストールする。2)GooglePlay開発者サービスを起動する。Servicesをインストールします。図の矢印部が「インストール済み」に変わったことを確認します。以上で実機側の条件が整ったことになります。次に実機環境が新しくなり、ECLIPSE開発環境を再設定したことで、エラーが起きてしまいました。エラーごとの対応を以下に示します。ライブラリの参照に不備がある場合に出力されます。Servicesのライブラリーにチェックを入れる。2起動プロジェクトのライブラリーを組み込んでかつ、ライブラリーのチェックを外す。パッケージ名’を実行します。アプリケーションがアンインストールされます。まとめとして、スマートフォンのメモリサイズ不足というエラーが出ても安易に、既存アプリをアンインストールしてはならないということを体験しました。Androidアプリinventor抽選器取り扱い説明書はじめに本書はAndroidスマートフォン用アプリケーションである「抽選器」《名称:Lottery》の取り扱いについて記述されています。ここで提供される「抽選器」はあみだくじと福引を兼ね合わせた機能を持っています。用途としては、当選者や掃除当番を決めるためにあみだくじを引く、40名クラスのスピーチ順番を無作為に決める、グループ分けを行う、宴会席順決定、ホテルの部屋割りを決める、野外焼肉パーティーの任務・役割を決めるなどです。Playに公開されています。操作概要スマートフォン画面は機種やOSバージョンにより異なることがありますが、下図に示すステータス領域、タイトル領域、アプリケーション領域から成り立っています。上の2つはステータスバー、アクションバーと呼ばれています。このアプリケーションではアクションバーの4つのメニューボタンとアプリケーション画面の上左にある動作ボタン(Start,Stop,Ok)によって操作されます。4つのメニューボタンは2つしか表示されない機種もありますが、moreボタンを選択すると残りの2つが表示されます。Android3.0以前ではmoreボタンの代わりにメニューボタンで代替されます。この他に処理を終了させたり、元の画面に戻るバックキーが使用されます。メニューボタンや動作ボタンの用途と有効になるタイミングを以下に示します。抽選機能は無作為にくじを引きオリジナル番号を対応付けます。抽選方法を説明します。アプリケーションを起動すると抽選準備モードになりOKボタンをタップすると抽選開始画面が現れます。Startボタンを押すと抽選器(がらがらポン)が回転し、Stopボタンを押せば回転は停止し、番号つきボールが抽選器の中から出てきて抽選が決定します。この番号が抽選番号になります。一定時間内にStopボタンが押されなければ、取り消しになり再度、挑戦できます。くじが引かれた場合、残り数はひとつ減じられて表示されます。残りが0になると1から始まる整理番号とID、名称が表示されます。簡易設定の場合は、1~192020,21~38,39,40の丸囲み数字、算用数字が表示されます。任務数の暗黙値は40ですが、この値は任務設定画面に進んで2~40を選択できます。(抽選モード)設定とは抽選のやり方を手動か自動かを決めることです。この機能を起動するにはアクションメニューの抽選設定メニューをタップします。抽選モードは下図に示すように手動―自動―すぐにの順に繰り返されます。動作ボタンの上に赤字で表示される抽選モードを確認しながら最後にOKボタンを押します。インストール直後は手動になっていて、次からは前回状態を引き継ぎます。抽選モードの設定について説明します。手動はStartボタンとStopボタンを使って抽選を決定し、自動は自動的にがらがらポンを回転・停止して抽選を決めます。最後のすぐにではがらがらポンを使わずに発生させた乱数結果に基づいて抽選が決まります。動作設定ガイドメッセージは通常、日本語になっていて、動作設定メニューをタップすれば英語で案内されます。この機能は日本語と英語が交互に切り替わります。動作設定メニューをダブルタップすれば、回転動作を盛り上げたり、静寂を望んだり、操作の区切りや警告のために動作音が交互に鳴動・停止状態になります。このメニューがアクションバーに表示されない場合は、動作音の切り替えはできません。任務設定で対象となる抽選に名称を振付けます。合わせて件数を確定します。設定方法には詳細設定と簡易設定があります。詳細設定アクションバーにある任務設定メニューを選択して任務設定を起動し下記の画面を表示します。IDと名称を入力して登録、表示と指定して任務を設定します。入力済みの項目を修正する場合は更新を指定します。不要になった場合は削除を選択し表示で随時、確認します。10人分の任務情報を入力し、表示で確認した画面を以下に示します。元の画面に戻る場合は、戻るキーをタップします。今回の例で名称欄の数字は会費を意味します。300円や500円が複数あるのでこの場合は無理ですが、重なりが皆無であれば、ID欄に会費、名称欄に任務名を指定することが可能です。IDは一般に登録、更新、削除のキーワードに使われるので唯一無二が原則です。簡易設定40名のクラス員をグループ分けする場合などにおいて、欠番のない出席番号で抽選を決めるときはIDや名称を省略できるので、簡易設定が便利です。初めのIDに//40を設定するだけで済み、40人の入力IDデータとして123...19202122...3940を指定したことと等価になります。ある催し物に12人が参加し、1~12の受け付け番号で管理される場合にも適用できます。//12と指定し12人のIDは1~12が使われます。詳細設定で入力したデータを保存しながら簡易設定する場合は、//〇〇を入力すると以下のようになります。任務設定処理はIDが小さい順に並べ替えられるので、以下の例では最初に見つかった//12が採用されます。紛らわしさを避けるため//18は削除しておいた方が無難です。以前の詳細データに戻す場合は//から始まる項目をすべて削除すれば元に戻ります。操作を理解するためにヘルプメニューをタップします。取り扱い説明書の格納先URLアドレスにリンクし、説明書を読むことによって操作方法を習得します。戻るキーをタップして元の画面に戻ります。最初の起動画面からアクションメニューの任務設定を選びます。繰り返し再び表示で確認して戻るキーをタップして元の画面に戻ります。ボタンをタップして抽選を確定します。抽選結果を以下に表示します。同様にアクションメニューの任務設定を選びます。ID欄に//40を入力し、表示で登録結果を確認します。戻るキーをタップして元の画面に戻ります。数が多い場合は抽選方法ではすぐにを選んで、Okボタンをタップして抽選を確定します。抽選結果を以下に表示します。抽選は乱数を使用し、作為が混入する度合いは低くなっています。抽選方法を手動にした場合、Stopキーを押すタイミングで抽選の決定に影響を与えることができますが、実機がらがらポンでくじを引くことと大差なく運しだいです。簡易設定であみだくじのように抽選結果を扱うには、褒賞や任務の重要度順にあらかじめ約束事を決めておかなければなりません。12人グループを例にすれば掃除、見回り、買出しの当番を選ぶ場合、抽選前に10番:掃除当番、11番:見回り当番、12番:買出し当番のように全員に周知します。簡易設定での部屋割りも同様です。20人で4つの部屋に等しく分ける場合は、抽選番号の上から5人ずつA,B,C,Dの各部屋に割り振ることを周知徹底させます。2ヶ国語に対応していますが、抽選方法設定や取り扱い説明書は日本版のみです。AndroidアプリinventorこのブログはWordPressを用いて作成されています。WordPressで図や表を織り込んだ説明書を載せたいときがあります。Wordでスマートフォンのバックキーを画像化して文章に埋め込んても望むようには表示されません。このような場合、PDFにしてPDFファイルをダウンロードして確認するのが一般的です。PDFをJPEGやPNGにして画像として載せても、文字ははっきりとは表示されず不満が残ります。そこでPDFをそのまま、表示できないかと考えます。PDF」をインストールして直接、PDF表示する方法を発表していますが後追い記事を以下に示します。WordPressのプラグインウィンドウで「http://wordpress.org/extend/plugins/dirtysuds-embed-pdf/」を検索してインストール後、有効化します。その後、PDFファイルをアップロードし、ファイルURLアドレスを確保します。ファイルURLの前に[]のなかにembed、最後に[]のなかに/embedというタグで囲みます。表示が乱れたらwidth=”600′′などのパラメータを追加します。AndroidアプリinventorWordPressやAddinツールが世界の技術者により、刻々、改訂されてこちとらは参照するばかりで、恐縮しています。そんなわけで注文をつけることはできませんが、全ツールに同期がとられていませんので、以前に問題なく動作していたものが、WordPressを改訂した途端に警告エラーが表示されるようになりました。ほっておいてもそのうちに治るような気がしてそのままにしています。このたび、Windows8パソコン(64ビット)を開発環境に追加したので、五度目のAndroidアプリ開発環境構築をメモに残します。ECLIPSEの原本は英語版です。Oneをインストールします。Edition、Ultimateを指定してダウンロードします。圧縮ファイルPleiades-e4.3-ultimate-jre_20130626.zipを解凍して、PleiadesフォルダをAndroidツールフォルダにコピーします。Javaアプリのライブラリやコンパイラが同梱されている「JDK」をダウンロードしてインストールします。ダウンロードしたjdk-7u25-windows-x64.exeを実行します。Onlyの項目にある「android-sdk_r22.0.5-windows.zip」をダウンロードします。android-sdk_r22.0.5-windows.zipを解凍して「android-sdk-windows」フォルダをPleiadesフォルダにコピーします。Plugin」をインストールします。https://dl-ssl.google.com/android/eclipse/の後、OKと入力し追加、すべて選択、次へ、次へ、使用条件の条項に同意します、完了と指定します。操作の切れ目で多少の時間がかかります。SDKマネージャーとAndroid仮想デバイス・マネージャーにて、デバッグする機種の設定などを行います。SDKマネージャーとAndroid仮想デバイスマネージャーが表示されなくなることがあります。その解決策を以下に示します。SDKおよびAVDマネージャーにチェックマークを入れOKを入力します。World」プロジェクトは動作するものと思います。この後には少しずつ、開発環境を拡張することになります。Androidアプリinventorアンドロイドアプリを開発するに、機種に依存せずにあらゆるメーカーのスマホで問題なく動作させたいという欲求があります。この情報は多くの方が提供され大いに役立っています。「画面サイズを攻略して機種依存を吸収する」などはありがたい記事です。この記事を受けて今回、当方のミスにより誤動作がありましたが解決に至ったくだりをメモにまとめます。処理の概要はある画像を描画してその周辺に文字を表示させ回転させるというものです。画面サイズ(縦、横)を取得する関数を呼べば100%期待通りの動作になると思いきや、画面サイズが同じ値ながら画像が期待より大きく描かれ誤動作になりました。この原因が判明しましたので記録にとどめます。Definitionsを選択すると上左のような画面が現れ、様々な解像度のデバイスがあることがわかります。javaアプリプロジェクトをパッケージ・エクスプローラーで表示した図を右に示します。今回の失敗は画像ファイルをリソースフォルダres-drawable-mdpiにしか置いてないことが誤動作の原因でした。Nexusを選ぶならばdrawable-xhdpiにも画像ファイルを置いておかないと期待した動作にならないようです。これらの規則性はまだ調査段階ですが、resフォルダのすべてのdrawableサブフォルダに画像ファイルを格納しておおむね期待した動作を得ていますがどうしても納得のいかない画面が表示されるものもあって今後の課題です。Androidアプリinventorかつてjavaであみだくじゲームを作った際、くじが決定する様をダイナマイトの導火線が燃え移るように描画するべく挑戦したけれど、徒労に終わっていました。時間が経過しJavaに関する知識も少しずつ増えて時間差表示に目途が立ち、導火線が燃え移りダイナマイトに点火し爆発する小アプリを開発しました。lockCanvasとunlockCanvasAndPostを用いてブロックを作りdrawBitmapで画像を描画しました。動作結果をユーチューブに投稿しましたのでご覧いただきたいです。AndroidアプリinventorAndroid端末の画像をPC上に保存したい時があります。スマホ画像をYoutubeに投稿したい、スマホの動きをプレゼン画面に表示したいときなどです。AndroidScreenCast.jnlpでPC上に動画ファイルとして保存する1つの方法をまとめました。ソフトウェアの細かなダウンロードとインストール方法は参考にしたURLをご参照ください。SDKをインストールします。2Android端末とPCをUSBケーブルで接続します。3コマンドプロンプトでAndroidandroid-sdk-toolsにあるDDMS.BAT(最近は同じフォルダにあるMONITOR.BATを推奨)を実行します。port(8700).」で失敗します。Eclipse.exeが実行中ならば終了してから行います。AndroidScreenCast.jnlpを実行します。5メニュー左のRecordを選択します。6動画として保存するファイル名を指定します。7スマートフォンでアプリを実行します。8再びメニューのRecordを押して保存するファイルをクローズします。動画ファイル(XXXX.MOV)が指定先に保存されています。Playerで再生できますが、MOVtoWMV変換ツールでWindows版動画ファイルが出来上がります。音声が録音されなかったり、画面の動きがぎこちなかったりしますが、フリー版としては合格でしょう。Key取得も打ち切られてしまったので、地図アプリを新規に開発するにはv2を利用するほかありません。無償で他のシステムに乗る危うさが図らずも浮き彫りになりましたが、自力で地図システムを構築することはできないので、長いものに巻かれる以外はないのです。ここで大きく躓いてしまいました。バージョン間に互換性がないので古いプログラムコードが利用できなくなり全面的な改訂は大きな負担になりました。そのため、新しい仕様による簡単なテストサンプルが動作するまで10日間ほどかかりました。その顛末を以下に示します。解説書を購入しようとしてWebを検索しましたがまだありません。サンプルコードが本家本元のグーグルからリリースされていて編集することなく動作するはずですが、それを可能にするためのハードルは高いです。それはなぜかというと、同様の開発や動作条件を設定するのが容易でないのです。新しい用語、v1とv2の差などを理解しなければならず、大きな機能を持つサンプルコードは不向きです。この点、篤志家が発表している技術情報が役立ちました。目を通したWebサイトを掲げます。https://developers.google.com/maps/documentation/android/上に示した資料がたいへん参考になりました。動作環境がそれぞれ異なるため、正常に動作を確認できたのは9、10、11の解説記事です。小さなサンプルコードのコンパイルエラーを取り払うことにもかなりの時間が取られ、その後、実行させても実行時エラーに悩まされます。それらが解決されても、グーグルマーケットが古く更新を促すメッセージに往生しました。Storeに変わってしばらく経ち、改訂方法が有効期限を過ぎたりして難渋の末、ようやく地図が描画されたときはほっとしました。新バージョンは新しい機能が追加され大きな希望を膨らますには十分のようです。APIというまぎらわし規格があり、Androidを省略するとえらい目にあいます。ただで使わせていただくことはありがたいことですが、そのうち課金されるのではと恐れているのは私だけでしょうか。