前回のアップの時に日付を入力の時、テキストを表示してました。でも入力時は邪魔になります。プロパティ、例えば中央表示みたいなものがあるかと探したんですが、見つかりませんでしたので、本来であればフォーカスをゲットしたときにみたいなイベントで処理したいのですがsetOnClickLinstenerでtextViewをクリアしました。ダブルクリックが必要のようです。
上の例では2019/03/28と2020/07/24東京オリンピックまで484日のようです。但し入力はダブルクリックで消してます。
前回のアップの時に日付を入力の時、テキストを表示してました。でも入力時は邪魔になります。プロパティ、例えば中央表示みたいなものがあるかと探したんですが、見つかりませんでしたので、本来であればフォーカスをゲットしたときにみたいなイベントで処理したいのですがsetOnClickLinstenerでtextViewをクリアしました。ダブルクリックが必要のようです。
上の例では2019/03/28と2020/07/24東京オリンピックまで484日のようです。但し入力はダブルクリックで消してます。
日数計算のサンプルを見つけました。例えば2019,03,27から日付を作ってやろうとすると意外と難しい。文字列の2019/03/27から上のようにやると簡単にできました。サンプルはJavaでしたが、置き換え出来ました。(^_^)
入力の時に元のテキストは消えてほしいですね。
前やったのはごちゃごちゃし過ぎでした。東京オリンピックまで485日は正解のようです。(^_^) DatePickerDialogを使ってやろうとしたんですが、この場合は2個のtextViewがありますが、どちらか一方なら分かったんですが、両方にDatePickerDialogから入力する方法がわかりませんでした。手で入力した方が簡単ですけど。(-_-;)
上の2枚の図は「はじめてのアンドロイドプログラミング第3版」からですが、何回やっても原因不明でしたが、ようやく分かりました。と言ってもそのままの写経ですので。"onReceive"と"onRecieve"が混じってました。””の中まではコンパイラも手が出ないようです。(-_-;)
関数部分は前と全く同じ。textViewへ表示するようにだけ変更しました。
スマホの場合は向きもあるし、それの制御もあるようです。
Kotlinのサンプルがなかなか見つからないので、Javaのサンプルから取るのですが、微妙に違います。使い方も違うかもしれませんが、取り敢えずは思った通りに動いてます。
日付もCalendarとDateが有るようです。表示関係はCalendarで計算関係はDateかもしれません。逆ですか?。変換も簡単なんですが、Kotlinのサンプルが無くて、JavaのですがgetTimeはスニペット出ませんでしたね。エラーにはなりませんでした。
サンプルは現在の時刻から1時間ずつ進めるか、遅れかすか、時刻に応じた挨拶をする。覚えていることが出来ない年齢なので(-_-;)、四苦八苦しました。
Android Studioでは上の通りですが、IntelliJ IDEAでは下の通りです。プロジェクトは同じでしょうから、設定がおかしいのでしょうか?
キャッシュをクリアして、再起動しても同じでした。
上の図はDドライブです。主にデータを保存してます。分からないのは、MySideShowやSaintTropezはAndroidのプロジェクトなんです。QuiitaClientNo2もそうです。その一方でAndroidStudioProjectsやIntelliJ IDEAはその下にプロジェクトを持っているホルダーです。どうもAndroidは独立したホルダーD:\MySideShowの様に持つのが正解らしいです。
多分ですが、上の図の下に見える4個のファイルはAndroidのプロジェクトのファイルでしょう。上の4個もそのようです。自分的にはAndroidStudioProjectsにはこれらは要らないように思います。例えばClickTestはその下に必要なファイルを持っているはずです。
ClickTestはAndroidのアプリなので、中を見てみるとやはりAndroidプロジェクトの特有のファイルがあるようです。前に書いたファイル構成が正解であれば、ごっちゃになったホルダーから分離できるんでしょうかね。そのせいかどうか?以前動いていても、動かなくなったりしてます。素人には手探りが続きそうです。(-_-;)
出来れば、Androidのプロジェクトでも纏めたいと思ってましたが、どうもこの場合は出来ない。そんな気がします。特に前にやっていたような、上のようにプロジェクトにプロジェクトを含めるみたいな感じは出来なくなったように思います。プロジェクトにプロジェクトを含めるような感じではファイルがごちゃごちゃしますね。
さらに複雑になるのがIntelliJ IDEAですかね。プロジェクトもアンドロイドだけで無いから、自分の場合はJava,Kotlin,Python,Scalaなど試してますが、前動いたのが動かない?それの連続です。どうすれば良いんでしょうかね。
どう言う訳か?分かりませんが、上の図の左側が表示されなくなりました。自分的には、アップグレードをすると表示できなくなるように思います。インストールをし直すと、正常になるように思います。バージョンは2018.1でも2018.2でもどっちでも良いようです。しばらくはバージョンをアップしないでおいた方が良いように思います。
ネットで探してみると、一杯出てきたんですが、どうも旨くなくて、自分はアンインストールしてインストールする。これだと時間は掛かりますが、確実に直るようです。
Androidの開発環境は、一番はUnityが良いものが出来るようですが、完成までに結構時間が掛かる。「Unity 2D/3Dゲーム開発」は良く出来てますが、完成までの行程が今の自分ではありすぎです。後スクリーンショットが少し小さめで、目の悪い自分は結構見えない。(-_-;)「初めてのアンドロイドプログラミング第三版」は例題があまり長くないので飽きずに最後までいけます。ゲームの完成度はその分低い感じですが、初心者の自分には向いている感じです。
「はじめてのAndroidプログラミング第三版」の7章。球ころがしゲームです。サンプルをダウンロードできますが、どうやってもコンパイルが通りません。エラーメッセージは出ますが、対処できません。仕方なくですが、プロジェクトは本の通り作成して、MainActivity.ktをコピーする作戦にしました。でもエラーが出ます。surfaceViewに赤のアンダーラインが付きます。でもこれはactiviti_main.xmlで決めないといけませんでした。
一度は本の丸写しをしてましたが、何故か失ってしまったので、ダウンロードから作ろうとしたんですが。なかなか上手く行かないもんですね。
上と下の図でどこが悪いかわかりますか?答えはxmlns: androidが違うようです。正解はxmlns:androidとなるようです。
普通に考えると:の後のスペースはあっても無くても同じと思いませんか?
これで何とか本の通りできましたが、難しい。もう少し、分からないがやってみますかね?LinearLayoutとかRelativeLayoutとか普通の本には出てきませんからね。
リスト15.12ですが、MainActivity.javaとなってますが、MainActivity.ktですよ。多分。自分はそうして上手く行きました。
お互いに融通できるかどうか?分かりませんが、全く別物ではないようです。但し、intelliJ IDEAでAndroid Studioでのプロジェクト開くと、.Rが赤が出てました。ですが、その後また開いたらエラーが出ません。一体どうなってるんだろう?ファイル、キャッシュのクリアとビルドのクリーンをやっているうちに全く同じプロジェクトを開けるようになった。外見上のファイル構成が違います。下はAndroidStudio。
下はintelliJ IDEAです。
取り敢えずは、「Kotlinスタートブック」はintelliJ IDEAで、「はじめてのAndroidプログラミング」はAndroidStudioでやって行くことにします。お互いは全くの無関係ではないようですが、見た目のファイルの構成が今のところ違います。
Genymotionのエミュレータでは動くが、AndroidStudioのエミュレータではダメ、動かない。おかしい。なのでもう一個新規の仮想デバイスを追加しました。同じものですので最後に2がついてます。前のはAndroidStudioのツール、AMDマネージャー?で削除した状態が上です。AndroidStudioとintelliJ IDEAは同じ仮想デバイスを使っているようです。これで動くようになりました。
プロジェクトのコピーをintelliJ IDEAでもやってみてましたが、上手く行かずで、Windowsのエクスプローラーで単にコピー。これでは実行のタイトルが元のままです。
プログラムのタイトルは@string/app_nameで決めてるようです。どこに在るのかというとres/values/strings.xmlです。ここを下のように直します。
となってこれで良い様です。
中々思いつきません。でもこれは将来逸話になるだろうという事があります。岩手出身の小林陵侑選手(字これでよかったかな?かなり珍しい名前。)です。現在ワールドカップ10勝ですか?ジャンプ週間には全勝。あと何年かすればレジェンドの記録も抜く勢いです。日本(札幌?)では余り良くありませんでしたが、残り何試合あるのか?活躍を期待したいです。高梨沙羅選手がイマイチなので、十分活躍した?ともいえるかも、頑張ってほしいですね。
ネットで調べると原田雅彦さんの9回は抜いたようです。船木和喜さんは15回、葛西紀明選手は17回。最高はグレゴア・シュリーレンツァウアーさん53回のようです。高梨沙羅選手は勝ってるはず。55回でした。
QiitaClientNo2はAndroidStudioでのプロジェクトです。
QitaClientとあるのがintelliJ IDEAでのプロジェクト。どちらも実機でうまくいってました。AndroidStudioとintelliJ IDEAのエミュレータではダメです。半分めでたき、ですかね?
兎に角分からないトコだらけです。この例のファイル構成は例題とは少し違います。本の例と近いのはAndroidStudioよりもintelliJIDEAの方が近いのですが、やはり同じエラーが出てダメでした。これからGenymotionをエミュレータに選んでやってみるつもりです。
やはりintellJ IDEAのエミュレータではダメでしたが、Genymotionのエミュレータだと動きました。Kotlinスタートブックのファイルの構成はこちらがほぼ同じです。