週末のアプリ作成

androidアプリ個人開発者の実態を報告します。アプリの収入も公開中です♪

コロナ恐慌 広告収入に大打撃

こんばんわ、TF's appsです。

今回の記事はいつもの単月アプリ収入を報告します。

2020年2月のアプリ広告収入となります。

 

今月は悲惨な状況となりました。

では早速、2020年2月のアプリ広告収入(AdMob)です。

▶▶¥778-

 

ここ4カ月連続で

マイナス成長▽▽▽▽となっています。

 

また単月で¥1,000を割るのは、

2018年9月以降ありませんでした

今月はかなりの下げ幅となります(涙)

 

まさにコロナ恐慌です

 

いつもの通りに今までの経緯と昨対比の発表です。

f:id:TFs_apps:20200304220915p:plain

 

次に昨対比を報告します

 

2020年2月 ¥778-

 ▶▶▶ 32%

     (2019年2月:¥2,400-)

 

なんてこった~~~!!

 

昨対32%はまずいですね

まあ仕方が無いですけど・・・・

 

しかも2月は新しいアプリをリリースしたという

個人的には良いニュースあったのに残念です。

 

でも前を進んで行くくしかない!!

今が雨の日であれば、次は必ず晴れの日が待っている

一層の事、雨を楽しめば良い

やるべき事をして、次の晴れまで待てば良いだけだ

 

そんな事を考えて

新しいプログラミング言語Pythonの勉強を進めています。

 

次に何をするのか

新型コロナウィルスの影響で

休校やイベント中止など生活習慣が変わり

人の行動が変わっているのでしょう。

 

しかし、それは新たなチャンスでもあります。

今の世間の状況から

新しいアプリのアイディアを創出していきたいと思います。

 

行動が制限され

スマホを見る時間は間違いなく増えているはずです

 

そこにチャンスあり、さぁ作るぞ~!!

 

 

 

 

 

コロナ感染後の嫌がらせ テセウスの船にならないか?

もし自分や家族がコロナになったら!?近所や職場から「テセウスの船」で観た様な扱いにならないか心配

こんばんわ、TF's appsです。

このブログは週末のアプリ作成なのですが、

最近はコロナ記事になっています。

すいません(汗)

 

それほど生活している中で、会社でも家庭でも話題が絶えなく、

そして何よりも怖い

何が怖いって感染して生死に関わるのも恐ろしい事ですが、

もし自分が感染した時

その後に待ち受ける現実が怖いです

 

私は滋賀県在住です。

現時点では感染者は0名です。

(2月29日時点)

 

 ~予想できる未来~

私はメーカー勤務ですが

もし私が感染したら会社を封鎖するくらい勢いの話が出ております。

・・・ちょっと

・・・ちょっと待てよ!!

・・・・それって間違いなく

 

クビ、減給、ボーナスカット、将来(出世)が無くなる

などが考えられるよね。出世には興味はないが、クビは痛い。

 

あからさまには会社もしないが、

一人のために数千人規模が休職となり生産停止となる。

会社としては大損失ですよね。

そいつ一人の生涯の人件費と天秤にとると、

明らかに損失の方が大きい金額です。

 

また滋賀県となると

県内では誰だということで噂が広まり

私の家族や自分の子供たちにまで影響がでないか

子供はいじめられたり、両親などにも嫌がらせが起きないか

 

最近、日曜劇場「テセウスの船」を楽しみに観ているだが。。。

主人公の家族ような重大な犯罪をした家族みたいな扱いにならないのかっと不安になりますね。ドラマに熱中しすぎかな(^^)

f:id:TFs_apps:20200229213147p:plain

 

・・・っとまぁ色々考えてしまう。

 

こんな事が容易に想像つくから

感染していても検査しない人が

いるんじゃないかと推測してしまう

考え過ぎだとは思うが、

それほど見えない敵である「新型コロナは怖い」ですね。

 

神経質になりたくないが、

会社でも家でもテレビでも

連日「コロナ、コロナ、コロナ・・・」っとなると

そうなってしまう(涙)

 

でも感染したら勇気を出して

検査に行かなくては!!!

やっぱり命が大切です

また自分の周りにいる大切な人も大事です

 

もう人ごみに行くのは辞めよう

遊びにいくのは人気のない

近所の公園だけにしておく

明日はいつもの「ai彩ひろば」にでも行くか~♪

f:id:TFs_apps:20191212181002j:plain

 

今日の気分を記事にしてみましたが

引き続き、新型コロナの動向には注意していきたいですね。

 

あ~しばらくは飲み会も中止かな

ひと時の楽しみにしては代償が大きい

 

しばらくは週末は自宅待機ですね。

まさにアプリ作成がゆっくりできますよね

さぁ気持ちを変えて次のアプリを作って行こう♪♪

 

では次回またお会いしましょう

最後にこの記事を読んだ方々の健康の祈ります

 

覚える漢字カード小学2年 ついにリリース ★サンプルコード紹介

こんにちは、TF's appsです。

今回の記事は娘のための学習アプリ作成 最終章(5話)です。

 

2月23日にアプリをリリースしました。

令和天皇の誕生日と同じです。。。何ともありがたいです。

 

覚える漢字カード 小学2年

https://play.google.com/store/apps/details?id=tfsapps.kanjicard&hl=ja

f:id:TFs_apps:20200224080602p:plain

 

最後にはソースコード紹介しますので

これからプログラミングを始める方や

これからアプリ作成始めようと考える方

一つの参考例として確認下さいね

 

 

〇アプリの作成時間はどれくらい?

 15時間くらいかな

 

〇アプリ作成で苦労した点は?

 160個のデータ入力

 小学2年の覚える漢字は全160個なんです。

 下記データを合計900個を手入力しましたので

  漢字 ・・・160個

  音読み・・・160個

  訓読み・・・160個

  画数 ・・・160個

  例文 ・・・160個

 

〇アプリ作成の反省点は?

 漢字データのファイル化を途中で気付く

 途中で気付いたのですが、漢字データを

 ファイル(CSV)で管理すべきだったと(涙)

 今後、小学1年、3年・・・6年までシリーズ化

 する事も想定して、このアプリの心臓部である漢字

 データをファイルで差し替えることができるからです。

 つまりファイルの差し替えだけでソースをいじる必要

 が無くなるわけですよね。

 行き当たりばったりで作ったことが鮮明に結果として

 出ているなぁ・・・・(汗)

 皆さんはちゃんと今後の展開や保守面なども考えて

 実装してくださいね。どこがでリファクタリングします。

 

〇アプリの作成の目的た?娘の反応は?

 まずまずの反応ですかね

 何やかんや言いながら使ってくれてます。

 目的は達成した気がします。

 春休みの宿題にして欲しいですね。

 まだ習っていない漢字に遭遇すると

 フリーズします。。。。

 私が未知のバグと遭遇するかのように(笑)

 

 

この漢字アプリ、シリーズ5話にして完成しましたので

ではまた次のアプリに向けて週末のアプリ作成を進めていきますね。

次回また次回お会いしましょう♪ 

 

 

<以下ソース公開>

MainActivity.java

package tfsapps.kanjicard;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private KanjiTable _kanji_table; //漢字検索テーブル
private Kanji _display_kanji; //表示中の漢字
private String _display_status; //表示中のアプリ説明文
private String _display_progress; //表示中の進捗情報
android.support.v7.app.AlertDialog.Builder popup;
private TextView popuptext;
private boolean isStart = false;
private int disp_count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//漢字テーブルの作成
_kanji_table = new KanjiTable();
DisplayScreen();
}
/* アプリ画面の表示 */
public void DisplayScreen()
{
TextView btn_start = (TextView) findViewById(R.id.btn_start);
TextView text_status = (TextView) findViewById(R.id.text_status);
TextView text_status2 = (TextView) findViewById(R.id.text_status2);
TextView text_onyomi = (TextView) findViewById(R.id.text_onyomi);
TextView text_kunyomi = (TextView) findViewById(R.id.text_kunyomi);
TextView text_kakusuu = (TextView) findViewById(R.id.text_kakusuu);
TextView text_exp = (TextView) findViewById(R.id.text_exp);

String txt1 = ""; //onyomi
String txt2 = ""; //kunyomi
String txt3 = ""; //kunyomi
String txt4 = ""; //kakusuu

if (isStart == false)
{
btn_start.setText("はじめる");
text_status.setText("「はじめる」を押してね☆");
text_status2.setText("");
}
else
{
btn_start.setText("つぎへ");
text_status.setText("「つぎへ」を押してね☆");
text_status2.setText("いま:"+ disp_count + "個目 / ぜんぶ:" + _kanji_table.KanjiTableMax() + "個");

txt1 = _display_kanji.on_yomi;
txt2 = _display_kanji.kun_yomi;
txt3 = _display_kanji.kaku_suu;
txt4 = _display_kanji.exsample;
}
text_onyomi.setText(txt1);
text_kunyomi.setText(txt2);
text_kakusuu.setText(txt3);
text_exp.setText(txt4);
}

/* はじめる or 次へ */
public void onStart(View view) {

disp_count++; //何個目で漢字であるかのカウンター

if (isStart == false) //起動画面か否か
{
isStart = true;
}
//漢字検索
_display_kanji = _kanji_table.KanjiTableSearch();

/* 検索終了したら、全ての漢字が検索終了したら */
if (_display_kanji == null) {
isStart = false;
disp_count = 0;
_kanji_table.KanjiTableSearchReset();
}
DisplayScreen();
}
/* こたえ */
public void onResult(View view) {

if (isStart == false)
{
return;
}

//答えの漢字の拡大表示
popuptext = new TextView(this);
popuptext.setText(_display_kanji.kanji);
popuptext.setGravity(Gravity.CENTER);
popuptext.setTextSize(100);

popup = new android.support.v7.app.AlertDialog.Builder(this).setView(popuptext);
popup.setTitle("こたえの漢字");
popup.setPositiveButton("とじる", null);
popup.show();
}

}

Kanji.java

package tfsapps.kanjicard;

public class Kanji {
public String kanji; //漢字
public String on_yomi; //音読み
public String kun_yomi; //訓読み
public String exsample; //例文
public String kaku_suu; //画数

public boolean isAlive; //表示された否か

//コンストラク
public Kanji(String kan, String onyomi, String kunyomi, String exp, String suu)
{
this.kanji = kan;
this.on_yomi = onyomi;
this.kun_yomi = kunyomi;
this.exsample = exp;
this.kaku_suu = suu;
this.isAlive = true;
}
}


KanjiTable.java

package tfsapps.kanjicard;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class KanjiTable {

private List<Kanji> Kanji_List = new ArrayList<Kanji>();
final int Maxkanji = 160;
private final Random rand = new Random(System.currentTimeMillis());
private Kanji nowkanji;

static String[] kanji_data = {
// 漢字
"刀", //1
"丸", //2
"弓", //3
"工", //4
"才", //5
"万", //6
"引", //7
"牛", //8
"元", //9
"戸", //10
"午", //11
"公", //12
"今", //13
"止", //14
"少", //15
"心", //16
"切", //17
"太", //18
"内", //19
"父", //20
"分", //21
"方", //22
"毛", //23
"友", //24
"外", //25
"兄", //26
"古", //27
"広", //28
"市", //29
"矢", //30
"台", //31
"冬", //32
"半", //33
"母", //34
"北", //35
"用", //36
"羽", //37
"会", //38
"回", //39
"考", //40
"光", //41
"交", //42
"行", //43
"合", //44
"寺", //45
"自", //46
"色", //47
"西", //48
"多", //49
"池", //50
"地", //51
"当", //52
"同", //53
"肉", //54
"米", //55
"毎", //56
"何", //57
"角", //58
"汽", //59
"近", //60
"形", //61
"言", //62
"谷", //63
"作", //64
"社", //65
"図", //66
"声", //67
"走", //68
"体", //69
"弟", //70
"売", //71
"麦", //72
"来", //73
"里", //74
"画", //75
"岩", //76
"京", //77
"国", //78
"姉", //79
"知", //80
"長", //81
"直", //82
"店", //83
"東", //84
"歩", //85
"妹", //86
"明", //87
"門", //88
"夜", //89
"科", //90
"海", //91
"活", //92
"計", //93
"後", //94
"思", //95
"室", //96
"首", //97
"秋", //98
"春", //99
"食", //100
"星", //101
"前", //102
"茶", //103
"昼", //104
"点", //105
"南", //106
"風", //107
"家", //108
"夏", //109
"帰", //110
"記", //111
"原", //112
"高", //113
"紙", //114
"時", //115
"弱", //116
"書", //117
"通", //118
"馬", //119
"魚", //120
"教", //121
"強", //122
"黄", //123
"黒", //124
"細", //125
"週", //126
"雪", //127
"船", //128
"組", //129
"鳥", //130
"野", //131
"理", //132
"雲", //133
"絵", //134
"間", //135
"場", //136
"晴", //137
"朝", //138
"答", //139
"道", //140
"買", //141
"番", //142
"園", //143
"遠", //144
"楽", //145
"新", //146
"数", //147
"電", //148
"話", //149
"歌", //150
"語", //151
"算", //152
"読", //153
"聞", //154
"鳴", //155
"線", //156
"親", //157
"頭", //158
"顔", //159
"曜", //160
};

static String[] onyomi_data = {
// 音読み
"トウ", //1 刀
"ガン", //2 丸
"キュウ", //3 弓
"コウ、ク", //4 工
"サイ", //5 才
"マン、バン", //6 万
"イン", //7 引
"ギュウ", //8 牛
"ゲン、ガン", //9 元
"コ", //10 戸
"ゴ", //11 午
"コウ", //12 公
"コン、キン", //13 今
"シ", //14 止
"ショウ", //15 少
"シン", //16 心
"セツ、サイ", //17 切
"タイ、タ", //18 太
"ナイ、ダイ", //19 内
"フ", //20 父
"ブン、ブ", //21 分
"ホウ", //22 方
"モウ", //23 毛
"ユウ", //24 友
"ガイ、ゲ", //25 外
"キョウ、ケイ", //26 兄
"コ", //27 古
"コウ", //28 広
"シ", //29 市
"", //30 矢
"ダイ、タイ", //31 台
"トウ", //32 冬
"ハン", //33 半
"ボ", //34 母
"ホク", //35 北
"ヨウ", //36 用
"ウ", //37 羽
"カイ", //38 会
"カイ", //39 回
"コウ", //40 考
"コウ", //41 光
"コウ", //42 交
"コウ、ギョウ", //43 行
"ゴウ、ガッ", //44 合
"ジ", //45 寺
"ジ、シ", //46 自
"ショク、シキ", //47 色
"セイ、サイ", //48 西
"タ", //49 多
"チ", //50 池
"チ、ジ", //51 地
"トウ", //52 当
"ドウ", //53 同
"ニク", //54 肉
"ベイ、マイ", //55 米
"マイ", //56 毎
"カ", //57 何
"カク", //58 角
"キ", //59 汽
"キン", //60 近
"ケイ、ギョウ", //61 形
"ゲン、ゴン", //62 言
"コク", //63 谷
"サク、サ", //64 作
"シャ", //65 社
"ズ、ト", //66 図
"セイ", //67 声
"ソウ", //68 走
"タイ、テイ", //69 体
"ダイ", //70 弟
"バイ", //71 売
"バク", //72 麦
"ライ", //73 来
"リ", //74 里
"ガ、カク", //75 画
"ガン", //76 岩
"キョウ、ケイ", //77 京
"コク", //78 国
"シ", //79 姉
"チ", //80 知
"チョウ", //81 長
"チョク、ジキ", //82 直
"テン", //83 店
"トウ", //84 東
"ホ、ブ", //85 歩
"マイ", //86 妹
"メイ", //87 明
"モン", //88 門
"ヤ", //89 夜
"カ", //90 科
"カイ", //91 海
"カツ", //92 活
"ケイ", //93 計
"ゴ、コウ", //94 後
"シ", //95 思
"シツ", //96 室
"シュ", //97 首
"シュウ", //98 秋
"シュン", //99 春
"ショク", //100 食
"セイ", //101 星
"ゼン", //102 前
"チャ、サ", //103 茶
"チュウ", //104 昼
"テン", //105 点
"ナン", //106 南
"フウ", //107 風
"カ、ケ", //108 家
"カ、ゲ", //109 夏
"キ", //110 帰
"キ", //111 記
"ゲン", //112 原
"コウ", //113 高
"シ", //114 紙
"ジ", //115 時
"ジャク", //116 弱
"ショ", //117 書
"ツウ", //118 通
"バ", //119 馬
"ギョ", //120 魚
"キョウ", //121 教
"キョウ、ゴウ", //122 強
"オウ、コウ", //123 黄
"コク", //124 黒
"サイ", //125 細
"シュウ", //126 週
"セツ", //127 雪
"セン", //128 船
"ソ", //129 組
"チョウ", //130 鳥
"ヤ", //131 野
"リ", //132 理
"ウン", //133 雲
"エ、カイ", //134 絵
"カン、ケン", //135 間
"ジョウ", //136 場
"セイ", //137 晴
"チョウ", //138 朝
"トウ", //139 答
"ドウ", //140 道
"バイ", //141 買
"バン", //142 番
"エン", //143 園
"エン", //144 遠
"ガク、ラク", //145 楽
"シン", //146 新
"スウ", //147 数
"デン", //148 電
"ワ", //149 話
"カ", //150 歌
"ゴ", //151 語
"サン", //152 算
"ドク、トク、トウ", //153 読
"ブン", //154 聞
"メイ", //155 鳴
"セン", //156 線
"シン", //157 親
"トウ、ズ", //158 頭
"ガン", //159 顔
"ヨウ", //160 曜
};

static String[] kunyomi_data = {
// 訓読み
"かたな", //1 刀
"まる、まる(める)", //2 丸
"ゆみ", //3 弓
"", //4 工
"", //5 才
"", //6 万
"ひ(く)、ひ(ける)", //7 引
"うし", //8 牛
"もと", //9 元
"と", //10 戸
"", //11 午
"おおやけ", //12 公
"いま", //13 今
"と(まる)、と(める)", //14 止
"すく(ない)、すこ(し)", //15 少
"こころ", //16 心
"き(る)、き(れる)", //17 切
"ふと(い)、ふと(る)", //18 太
"うち", //19 内
"ちち", //20 父
"わ(ける)、わ(かる)", //21 分
"かた", //22 方
"け", //23 毛
"とも", //24 友
"そと、はず(す)", //25 外
"あに", //26 兄
"ふる(い)", //27 古
"ひろ(い)、ひろ(がる)", //28 広
"いち", //29 市
"や", //30 矢
"", //31 台
"ふゆ", //32 冬
"なか(ば)", //33 半
"はは", //34 母
"きた", //35 北
"もち(いる)", //36 用
"は、はね", //37 羽
"あ(う)", //38 会
"まわ(る)、まわ(す)", //39 回
"かんが(える)", //40 考
"ひか(る)、ひかり", //41 光
"まじ(わる)、ま(じる)", //42 交
"い(く)、おこな(う)", //43 行
"あ(う)、あ(わせる)", //44 合
"てら", //45 寺
"みずか(ら)", //46 自
"いろ", //47 色
"にし", //48 西
"おお(い)", //49 多
"いけ", //50 池
"", //51 地
"あ(たる)、あ(てる)", //52 当
"おな(じ)", //53 同
"", //54 肉
"こめ", //55 米
"", //56 毎
"なに、なん", //57 何
"かど、つの", //58 角
"", //59 汽
"ちか(い)", //60 近
"かた、かたち", //61 形
"い(う)、こと", //62 言
"たに", //63 谷
"つく(る)", //64 作
"やしろ", //65 社
"はか(る)", //66 図
"こえ", //67 声
"はし(る)", //68 走
"からだ", //69 体
"おとうと", //70 弟
"う(る)", //71 売
"むぎ", //72 麦
"く(る)、きた(る)", //73 来
"さと", //74 里
"", //75 画
"いわ", //76 岩
"", //77 京
"くに", //78 国
"あね", //79 姉
"し(る)", //80 知
"なが(い)", //81 長
"なお(す)、ただ(ちに)", //82 直
"みせ", //83 店
"ひがし", //84 東
"ある(く)、あゆ(む)", //85 歩
"いもうと", //86 妹
"あか(るい)、あき(らか)", //87 明
"かど", //88 門
"よ、よる", //89 夜
"", //90 科
"うみ", //91 海
"", //92 活
"はか(る)、はか(らう)", //93 計
"のち、うし(ろ)、あと", //94 後
"おも(う)", //95 思
"むろ", //96 室
"くび", //97 首
"あき", //98 秋
"はる", //99 春
"た(べる)、く(う)", //100 食
"ほし", //101 星
"まえ", //102 前
"", //103 茶
"ひる", //104 昼
"", //105 点
"みなみ", //106 南
"かぜ、かざ", //107 風
"いえ、や", //108 家
"なつ", //109 夏
"かえ(る)、かえ(す)", //110 帰
"しる(す)", //111 記
"はら", //112 原
"たか(い)、たか(める)", //113 高
"かみ", //114 紙
"とき", //115 時
"よわ(い)、よわ(める)", //116 弱
"か(く)", //117 書
"とお(る)、とお(す)", //118 通
"うま", //119 馬
"うお、さかな", //120 魚
"おし(える)、おそ(わる)", //121 教
"つよ(い)、つよ(める)", //122 強
"き", //123 黄
"くろ、くろ(い)", //124 黒
"ほそ(い)、こま(かい)", //125 細
"", //126 週
"ゆき", //127 雪
"ふね、ふな", //128 船
"くみ、く(む)", //129 組
"とり", //130 鳥
"の", //131 野
"", //132 理
"くも", //133 雲
"", //134 絵
"あいだ、ま", //135 間
"ば", //136 場
"は(れる)、は(らす)", //137 晴
"あさ", //138 朝
"こた(える)、こた(え)", //139 答
"みち", //140 道
"か(う)", //141 買
"", //142 番
"その", //143 園
"とお(い)", //144 遠
"たの(しい)、たの(しむ)", //145 楽
"あたら(しい)、あら(た)", //146 新
"かず、かぞ(える)", //147 数
"", //148 電
"はな(す)、はなし", //149 話
"うた、うた(う)", //150 歌
"かた(る)、かた(らう)", //151 語
"", //152 算
"よ(む)", //153 読
"き(く)、き(こえる)", //154 聞
"な(く)、な(らす)", //155 鳴
"", //156 線
"おや、した(しい)", //157 親
"あたま、かしら", //158 頭
"かお", //159 顔
"", //160 曜
};

static String[] exp_data = {
// 例文
"この[かたな]", //1 刀
"[まる]太の木", //2 丸
"[ゆみ]矢", //3 弓
"[コウ]作", //4 工
"きみは天[サイ]だ", //5 才
"一[マン]円", //6 万
"つな[ひ]き", //7 引
"[ギュウ]にゅう", //8 牛
"[ゲン]気な子ども", //9 元
"[と]じまりをする", //10 戸
"正[ゴ]は12時だ", //11 午
"[コウ]園に行く", //12 公
"[いま]からあそぶ", //13 今
"車が[と]まる", //14 止
"[ショウ]年のごはん", //15 少
"[こころ]からしんぱい", //16 心
"大[セツ]な本", //17 切
"[タイ]ようがあつい", //18 太
"[うち]がわ", //19 内
"[ちち]とあそぶ", //20 父
"ケーキを[わ]ける", //21 分
"夕[がた]", //22 方
"[け]糸のマフラー", //23 毛
"わたしたちは[とも]だち", //24 友
"家の[そと]であそぶ", //25 外
"ぼくには[あに]がいる", //26 兄
"[ふる]い車がある", //27 古
"[ひろ]場に行く", //28 広
"[いち]場でお買いもの", //29 市
"木に[や]がささる", //30 矢
"[たい]風が来る", //31 台
"[ふゆ]休み", //32 冬
"前[はん]でおわり", //33 半
"[はは]と本をよむ", //34 母
"[きた]に行く", //35 北
"遠足の[ヨウ]い", //36 用
"はとの[はね]を見つける", //37 羽
"友だちに[あ]う", //38 会
"コマが[まわ]る", //39 回
"もんだいを[かんが]える", //40 考
"星が[ひか]る", //41 光
"ブランコを[こう]たいする", //42 交
"りょ行に[い]く", //43 行
"しゅう[ゴウ]する", //44 合
"お[てら]に行く", //45 寺
"[ジ]てん車にのる", //46 自
"赤[いろ]がすきだ", //47 色
"[にし]にすすむ", //48 西
"しゅくだいが[おお]い", //49 多
"[いけ]に魚がいる", //50 池
"[チ]きゅうは丸い", //51 地
"くじが[あ]たる", //52 当
"[おな]じ色のくつ", //53 同
"お[ニク]やさんに行く", //54 肉
"お[こめ]を作る", //55 米
"[マイ]日が楽しみ", //56 毎
"[なん]回も聞く", //57 何
"牛の[つの]", //58 角
"[キ]車のきてき", //59 汽
"[ちか]道を通る", //60 近
"人[ギョウ]であそぶ", //61 形
"[こと]ばをつたえる", //62 言
"[たに]がふかい", //63 谷
"工[サク]でつくる", //64 作
"パパの会[シャ]", //65 社
"地[ズ]を見る", //66 図
"大[ごえ]でよぶ", //67 声
"うんどう会で[はし]る", //68 走
"[タイ]そうをする", //69 体
"私には[おとうと]がいる", //70 弟
"やす[う]りでラッキーだ", //71 売
"[むぎ]茶をのむ", //72 麦
"友だちが家に[く]る", //73 来
"[さと]帰りする", //74 里
"えい[ガ]をみる", //75 画
"[いわ]のぼりする", //76 岩
"[キョウ]とに行く", //77 京
"[コク]語と算数", //78 国
"[あね]と妹", //79 姉
"友だちはもの[し]りだ", //80 知
"校[チョウ]先生", //81 長
"正[ジキ]な人です", //82 直
"お[みせ]に行く", //83 店
"[トウ]京に行く", //84 東
"友だちと[ある]く", //85 歩
"[いもうと]とあそぶ", //86 妹
"[あか]るいへや", //87 明
"家の[モン]", //88 門
"もうすぐ[よる]になる", //89 夜
"[カ]学のじっけん", //90 科
"[うみ]でおよぐ", //91 海
"学校生[カツ]", //92 活
"時[ケイ]を見る", //93 計
"さい[ゴ]のあいさつする", //94 後
"[おも]いついた", //95 思
"音楽[シツ]に行く", //96 室
"キリンの[くび]は長い", //97 首
"[あき]はすきなきせつ", //98 秋
"[はる]にサクラがさく", //99 春
"きゅう[ショク]", //100 食
"[ほし]を見る", //101 星
"[まえ]をよく見る", //102 前
"お[チャ]づけを食べる", //103 茶
"[ひる]休み", //104 昼
"テストで100[テン]をとる", //105 点
"[みなみ]のしまに行く", //106 南
"[フウ]船をもらう", //107 風
"[カ]ぞくが大切", //108 家
"[なつ]はあつい", //109 夏
"家に[かえ]る", //110 帰
"にっ[キ]を書く", //111 記
"[はら]っぱでねる", //112 原
"[たか]い山がある", //113 高
"[かみ]ひこうきを作る", //114 紙
"のこり[ジ]間", //115 時
"[よわ]い人と強い人", //116 弱
"かん字を[か]く", //117 書
"[とお]り道", //118 通
"[うま]にのる", //119 馬
"金[ぎょ]をかう", //120 魚
"べん強を[おし]える", //121 教
"あの人は[きょう]てきだ", //122 強
"[き]色のリボン", //123 黄
"[コク]ばんに書く", //124 黒
"糸は[ほそ]い", //125 細
"今[シュウ]のこんだて", //126 週
"[ゆき]だるま", //127 雪
"[ふね]にのる", //128 船
"[く]み立てる", //129 組
"わたり[どり]", //130 鳥
"[ヤ]さいがにがて", //131 野
"もんだいを[リ]かいする", //132 理
"[くも]がはれてきた", //133 雲
"[エ]をかくのがすきだ", //134 絵
"休み時[カン]", //135 間
"広[ば]に行く", //136 場
"明日は[は]れる", //137 晴
"[あさ]から元気だ", //138 朝
"[こた]え合わせ", //139 答
"帰り[みち]", //140 道
"[か]いものをする", //141 買
"そうじ当[バン]", //142 番
"ようち[エン]の先生", //143 園
"[エン]足に行く", //144 遠
"[たの]しい音がく", //145 楽
"[シン]かんせんにのる", //146 新
"算[スウ]がとくい", //147 数
"[デン]車にのる", //148 電
"電[ワ]ではなす", //149 話
"みんなで[うた]う", //150 歌
"ゆめを[かた]る", //151 語
"あん[ザン]がとくい", //152 算
"本を[よ]む", //153 読
"話を[き]く", //154 聞
"ねこの[な]き声", //155 鳴
"[セン]ろがつづく", //156 線
"[おや]が大切だ", //157 親
"[あたま]のよい人", //158 頭
"[かお]を上げる", //159 顔
"日[ヨウ]日が楽しみ", //160 曜
};

static String[] kakusuu_data = {
// 画数
"2", //1 刀
"3", //2 丸
"3", //3 弓
"3", //4 工
"3", //5 才
"3", //6 万
"4", //7 引
"4", //8 牛
"4", //9 元
"4", //10 戸
"4", //11 午
"4", //12 公
"4", //13 今
"4", //14 止
"4", //15 少
"4", //16 心
"4", //17 切
"4", //18 太
"4", //19 内
"4", //20 父
"4", //21 分
"4", //22 方
"4", //23 毛
"5", //24 友
"5", //25 外
"5", //26 兄
"5", //27 古
"5", //28 広
"5", //29 市
"5", //30 矢
"5", //31 台
"5", //32 冬
"5", //33 半
"5", //34 母
"5", //35 北
"5", //36 用
"6", //37 羽
"6", //38 会
"6", //39 回
"6", //40 考
"6", //41 光
"6", //42 交
"6", //43 行
"6", //44 合
"6", //45 寺
"6", //46 自
"6", //47 色
"6", //48 西
"6", //49 多
"6", //50 池
"6", //51 地
"6", //52 当
"6", //53 同
"6", //54 肉
"6", //55 米
"6", //56 毎
"7", //57 何
"7", //58 角
"7", //59 汽
"7", //60 近
"7", //61 形
"7", //62 言
"7", //63 谷
"7", //64 作
"7", //65 社
"7", //66 図
"7", //67 声
"7", //68 走
"7", //69 体
"7", //70 弟
"7", //71 売
"7", //72 麦
"7", //73 来
"7", //74 里
"8", //75 画
"8", //76 岩
"8", //77 京
"8", //78 国
"8", //79 姉
"8", //80 知
"8", //81 長
"8", //82 直
"8", //83 店
"8", //84 東
"8", //85 歩
"8", //86 妹
"8", //87 明
"8", //88 門
"8", //89 夜
"9", //90 科
"9", //91 海
"9", //92 活
"9", //93 計
"9", //94 後
"9", //95 思
"9", //96 室
"9", //97 首
"9", //98 秋
"9", //99 春
"9", //100 食
"9", //101 星
"9", //102 前
"9", //103 茶
"9", //104 昼
"9", //105 点
"9", //106 南
"9", //107 風
"10", //108 家
"10", //109 夏
"10", //110 帰
"10", //111 記
"10", //112 原
"10", //113 高
"10", //114 紙
"10", //115 時
"10", //116 弱
"10", //117 書
"10", //118 通
"10", //119 馬
"11", //120 魚
"11", //121 教
"11", //122 強
"11", //123 黄
"11", //124 黒
"11", //125 細
"11", //126 週
"11", //127 雪
"11", //128 船
"11", //129 組
"11", //130 鳥
"11", //131 野
"11", //132 理
"12", //133 雲
"12", //134 絵
"12", //135 間
"12", //136 場
"12", //137 晴
"12", //138 朝
"12", //139 答
"12", //140 道
"12", //141 買
"12", //142 番
"13", //143 園
"13", //144 遠
"13", //145 楽
"13", //146 新
"13", //147 数
"13", //148 電
"13", //149 話
"14", //150 歌
"14", //151 語
"14", //152 算
"14", //153 読
"14", //154 聞
"14", //155 鳴
"15", //156 線
"16", //157 親
"16", //158 頭
"18", //159 顔
"18", //160 曜
};

//コンストラク
public KanjiTable() {
int i;

/* 漢字リスト作成 */
for (i = 0; i < Maxkanji; i++) {
Kanji list_data = new Kanji(kanji_data[i], onyomi_data[i], kunyomi_data[i], exp_data[i], kakusuu_data[i]);
Kanji_List.add(list_data);
}
}

//漢字の検索
public Kanji KanjiTableSearch()
{
int index1 = 0;
int i;
int j;

for(i=0;i<Maxkanji;i++)
{
index1 = rand.nextInt(Maxkanji);

//検索済みの漢字(すでに表示済み)
if (Kanji_List.get(index1).isAlive == false)
{
continue;
}
//初ヒットした漢字
else
{
Kanji_List.get(index1).isAlive = false;
nowkanji = Kanji_List.get(index1);
return nowkanji;
}
}

//ランダム検索でヒットしなかった漢字をもう一度全件サーチする
for (j=0; j<Maxkanji; j++)
{
if(Kanji_List.get(j).isAlive == false)
{
continue;
}
else
{
Kanji_List.get(j).isAlive = false;
nowkanji = Kanji_List.get(j);
return nowkanji;
}
}

return null;
}

//漢字の検索状態の初期化
public void KanjiTableSearchReset()
{
int i;
for(i=0;i<Maxkanji;i++)
{
Kanji_List.get(i).isAlive = true;
}
}

public int KanjiTableMax()
{
return this.Maxkanji;
}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:layout_weight="1">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bak_status"
android:orientation="vertical" >

<TextView
android:id="@+id/text_status"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="44"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:focusable = "true"
android:focusableInTouchMode = "true"
android:text=" ここに説明文を表示 "
android:gravity="center_horizontal"
android:textSize="28sp" />

<TextView
android:id="@+id/text_status2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="30"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:text=" ここに進捗を表示 "
android:gravity="center_horizontal"
android:textSize="21sp"
android:textStyle="bold" />

</LinearLayout>

<LinearLayout
android:id="@+id/linearLayout0"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentStart="true"
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
android:layout_below="@+id/linearLayout4"
android:orientation="horizontal">

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@drawable/bak_noselect"
android:orientation="vertical">

<TextView
android:id="@+id/ttl_onyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="15"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_ttl"
android:text="音読み"
android:textSize="30sp" />

<TextView
android:id="@+id/ttl_kunyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="15"
android:background="@drawable/bak_ttl"
android:text="訓読み"
android:textSize="30sp" />


<TextView
android:id="@+id/ttl_kakusuu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="10"
android:background="@drawable/bak_ttl"
android:text="画数"
android:textSize="30sp" />

<TextView
android:id="@+id/ttl_exp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="15"
android:background="@drawable/bak_ttl"
android:text="例文"
android:textSize="30sp" />

</LinearLayout>

<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="7"
android:background="@drawable/bak_noselect"
android:orientation="vertical">

<TextView
android:id="@+id/text_onyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="15"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:text=""
android:textSize="28sp" />

<TextView
android:id="@+id/text_kunyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="15"
android:text=""
android:textSize="27sp" />

<TextView
android:id="@+id/text_kakusuu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="10"
android:text=""
android:textSize="33sp" />

<TextView
android:id="@+id/text_exp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="15"
android:text=""
android:textSize="27sp" />

</LinearLayout>

</LinearLayout>


<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout0"
android:orientation="horizontal">

<Button
android:id="@+id/btn_start"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:onClick="onStart"
android:text="はじめる"
android:textColor="#ffffff"
android:background="@drawable/bak_btn_1"
android:textSize="36sp"
android:textStyle="bold" />

<Button
android:id="@+id/btn_result"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:onClick="onResult"
android:text="こたえ"
android:textColor="#ffffff"
android:background="@drawable/bak_btn_2"
android:textSize="36sp"
android:textStyle="bold" />

</LinearLayout>

</RelativeLayout>

</ScrollView>

新型バグから考える新型ウィルス(コロナ)への対策について

こんにちは、TF's appsです。

最近のニュースは新型ウィルス(コロナ)が溢れています。

 

今回の記事は非常にデリケートなテーマとなります。

マスコミをみている一般的な国民が感じている

1つの意見として読んで頂ければと思います。

 

f:id:TFs_apps:20200216093917j:plain

 

本業でもリリースしてから何年もたつ製品で

新型バグが発生して対応に追われることがあります。

今回の記事はソフトバグから考える

新型ウィルス対策について紹介したいと考えます。 

 

私も最近出張が続いて人口が密集する場所に

行っておりましたので

家族には「大丈夫か?」とよく聞かれています。

確かに心配ですよね?

 

良く言われている不要不急の外出は控えるようにして

手洗い/うがいを続けていきたいと思います。

 

私はソフト設計を職業としていますが、

IT系ではありませんので在宅勤務が難しいです。

組み込み系のソフト開発ですので

テストは実機確認(機械を動かして評価)が必要ですのでね(汗)

 

さて、今回は我々が扱うソフトの世界でもバグが発生します。

私の本業(会社)では全国・世界に製品を出荷しておりますので

致命的な新型バグが発生した場合の対応を考えてみます。

 

f:id:TFs_apps:20200216094059j:plain

 

下記の対策を3つ同時で行います

1.原因追及と対策

2.製品の出荷停止

3.市場対応

 

1.原因追及と対策 

一刻も早く原因を特定して対策を検討することが大事です。

原因が分かることで応急的な対応が検討できます。

例えば特定の条件(操作方法や設定内容)が揃わないと

発生しないバグであればそれをアナウンスできることができます。

 

今回の新型ウィルスでいうと

新薬の開発や感染者への治療に当たりますよね。

またウィルスの原因が詳細にわかれば

対抗できる食べ物や生活習慣などから、

治療への道筋を立てることもできますよね。

 

2.製品の出荷停止

新たな製品を出荷しない。

新型バグを含む製品を拡散しないことが大事です。

出荷すればそれを修正しに行かないとダメになりますのでね。

 

今回の新型ウィルスでいうと

外国からの入国拒否や隔離に当たりますよね

新たな感染者を生み出さないことが大事です。

ニュースを見ていても(その情報が正しいのかはありますが)

ダイアモンドプリンセス号の隔離方法が適切なのかとは

疑問に思います。

船内での感染は日々増えていきますし、

疑いのある方だけでも別の場所に移せないのかなど

しかし、これは現場を知らない他人が言えることであって

現場対応されている方には本当に頭が下がります。

 

3.市場対応

応急対応ができるのか?

また、問題が発生した時の連絡先や対応マニュアルの作成などになります。

 

今回の新型ウィルスでいうと

感染者が特定の医療機関に搬送されたりはしていますが、

感染の疑いがある方への対応などが追い付いていない

ニュースを見かけますのでそのような事にあたります。

感染の疑いがある方への対応がこのウィルスを終息に

繋げる一番の対策かと素人ながら考えます。

 

色々、ソフトバグと照らし合わせて描いていますが、

問題が起きた時の対応として

正確な情報(事実)をもとに対応を検討することが大事です。

推測が入ると誤った対策になることがあります。

 

素早く正確な情報を集めて

事実をもとに

有識者の意見と取り入れて

(少数過ぎると対策も間違います)

新型バグに対処していく事が肝心です。

 

頑張れニッポン

頑張れダイアモンドプリンセス号

頑張れ武漢

 

今回の記事はこの辺で次回またお会いしましょう♪

 

 

 

 

プログラミング教室 草津校を夢みて

こんばんわ、TF's appsです。

今回の記事は「プログラミング教室」についてです。

 

過去にも子供に教えたいプログラミングとは何か?をテーマにしてきました。

 

私の日常生活

会社でプログラミングをして

家で趣味のプログラミングをする

(最近は会社でのプログラミングが少し減っていますが・・・)

 

そんな38才のおっさんが

ついに地元(滋賀県草津市)でプログラミング教室をする夢を見てしまったので、そんな記事です。

f:id:TFs_apps:20200211215510p:plain

 

もともと、人に教えるのは嫌いじゃないんです(笑)

自分の知っていることはすべて教えたいと思う人なんでね(汗)

 

大学の時、アルバイトは高校生の家庭教師と、公文(KUMON)の先生をしていました。家庭教師は4年間続けていました、数学が赤点だった子を教えて、教え子が大学に合格するところまで面倒を見ましたね・・・懐かしい。

 

そんな人だから!?

子育てがもう少し落ち着いたら

こじんまりとプログラミング教室でもできたらなぁと思います。

地元に恩返しだぁ

 

先日の会話

私 「プログラミング教室しようかな?」

妻 「・・・こんな地元で・・・恥ずかしいわ」

私 「長女のピアノの先生は近所にいるのだから」

  「それと一緒一緒」

妻 「・・・・」

  「・・・・」

 

私はプログラミングと出会わないと生活ができなかったでしょう。

(そもそもはゲーム好きから始まっているのですが・・・)

生活の収入もそうですが、なんせ夢中にさせてくれるので

何か楽しい趣味に打ち込んでいるような感じになります。

 

この感覚は人それぞれですが

レゴやプラモデルなどモノを作る事が好きな人は

きっとプログラミングはフィットすると思います。

 

プログラミング学習において一番大切なことは

よく映画やドラマなどテレビで放送される

英語のような文字(プログラミング言語)を入力して

ソフト作成やハッキングをするような事ではありません。

 

ロジカルな考え方を養うことです。

またIT(=情報技術)が発展する現代において、最低限のITリテラシー(=適切に理解・解釈をして活用すること)を身に付けることが必要でしょう。

 

私が小学生の頃(30年前)は家庭にパソコンなんてありませんでした。今の子供はパソコンどころの世界では無くなっています。タブレットスマホ、家電でさえ、世界中とつながる世の中になっているのです。

 

ですから、私が小学生であった頃と同じ教育(国語・算数・理科・社会)ではダメでしょう。世の中の変化に適応していく必要があるのです。

プログラミング教育が必修化されるのは当然のことです

 

でも慌てることはありません。

この記事を読んでいる方もスマホやパソコンで見ているはずです。

それなりのITリテラシーがあるということです。

他の学問(理科や社会など)と同じように

少しずつ疑問に思うところを調べていくだけです

 「なぜ夏は暑くて、冬は寒いのか?」

 「なぜインターネットは繋がるのか?」

 

少しずつ分かる範囲が増えていきます。

焦らず少しずつ知識を増やしていけば良い

周りの環境が自然にそうなっています。

今やITに満ち溢れた世界です。

他の学問と同じです

恐れずぶつかって行けば良い

ただそれだけの事です。 

 

なんか最後が根性論になりましたが(汗)

如何だったでしょうか?ではまた次回お会いしましょう♪ 

 

 

↓↓↓ 過去の記事はこちら ↓↓↓

 なぜプログラミングの教育が必要なのか

 

 

子供にとって本当に大事なプログラミング教育について


子供とゲームに関してゲームは悪なのか?

 

アプリ作り方 android その4「基本処理の実装2」

1からandroidアプリを作っていく。第4弾です。いつも通りソースコードを全公開しています。

 

こんにちは、TF's appsです。

今回の記事は娘のための学習アプリ作成 第4弾です。

前回に引き続き基本処理の実装を進めました。

基本動作ができた様な状態です。

 

今回実装した点

・画面上部のステータス欄の表示

・ボタンの表示(はじめるとつぎへの切替)

・11個の漢字をすべて完了した後の表示

 

1.基本実装の紹介

1-1.画面上部のステータス表示に対応

アプリ起動直後は「はじめるを押してね☆」を表示します。

f:id:TFs_apps:20200209092532p:plain

 

1-2.プレイ中の画面表示

漢字を検索すると画面上部のステータスは「つぎへを押してね☆」に変わります。

また「はじめる」のボタンも「つぎへ」に変わります。

音読み、訓読み、画数、例文をヒントにこたえの漢字を考える。

f:id:TFs_apps:20200209092552p:plain


1-3.こたえの画面

「こたえ」ボタンを押すと

答えの「漢字」がポップアップ表示されます。

f:id:TFs_apps:20200209092611p:plain

 

1-4.次のステップ

基本処理の実装は終わりましたので

あとはアイコン作成や漢字をひたすら登録するだけです。

漢字がどれくらいあるのか調べたところ

・・・

2年生が覚える漢字の個数

・・・

・・・

なんと

・・・

・・・

160個もあります

・・・

・・・

まだ現在入力できているのは11個です(涙)

昨晩80個入力したのですが

2時間弱程度かかっています(汗)

 

う~ん

頑張りますね。すべては我が娘のため。

 

 

2.ソースコードの紹介

 

MainActivity.java

package
tfsapps.kanjicard;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private KanjiTable _kanji_table; //漢字検索テーブル
private Kanji _display_kanji; //表示中の漢字
private String _display_status; //表示中のアプリ説明文
private String _display_progress; //表示中の進捗情報
android.support.v7.app.AlertDialog.Builder popup;
private TextView popuptext;
private boolean isStart = false;
private int disp_count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//漢字テーブルの作成
_kanji_table = new KanjiTable();
DisplayScreen();
}
/* アプリ画面の表示 */
public void DisplayScreen()
{
TextView btn_start = (TextView) findViewById(R.id.btn_start);
TextView text_status = (TextView) findViewById(R.id.text_status);
TextView text_status2 = (TextView) findViewById(R.id.text_status2);
TextView text_onyomi = (TextView) findViewById(R.id.text_onyomi);
TextView text_kunyomi = (TextView) findViewById(R.id.text_kunyomi);
TextView text_kakusuu = (TextView) findViewById(R.id.text_kakusuu);
TextView text_exp = (TextView) findViewById(R.id.text_exp);

String txt1 = ""; //onyomi
String txt2 = ""; //kunyomi
String txt3 = ""; //kunyomi
String txt4 = ""; //kakusuu

if (isStart == false)
{
btn_start.setText("はじめる");
text_status.setText("「はじめる」を押してね☆");
text_status2.setText("");
}
else
{
btn_start.setText("つぎへ");
text_status.setText("「つぎへ」を押してね☆");
text_status2.setText("いま:"+ disp_count + "個目 / ぜんぶ:11個");

txt1 = _display_kanji.on_yomi;
txt2 = _display_kanji.kun_yomi;
txt3 = _display_kanji.kaku_suu;
txt4 = _display_kanji.exsample;
}
text_onyomi.setText(txt1);
text_kunyomi.setText(txt2);
text_kakusuu.setText(txt3);
text_exp.setText(txt4);
}

/* はじめる or 次へ */
public void onStart(View view) {

disp_count++; //何個目で漢字であるかのカウンター

if (isStart == false) //起動画面か否か
{
isStart = true;
}
//漢字検索
_display_kanji = _kanji_table.KanjiTableSearch();

/* 検索終了したら、全ての漢字が検索終了したら */
if (_display_kanji == null) {
isStart = false;
disp_count = 0;
_kanji_table.KanjiTableSearchReset();
}
DisplayScreen();
}
/* こたえ */
public void onResult(View view) {

if (isStart == false)
{
return;
}

popuptext = new TextView(this);
popuptext.setText(_display_kanji.kanji);
popuptext.setGravity(Gravity.CENTER);
popuptext.setTextSize(90);

popup = new android.support.v7.app.AlertDialog.Builder(this).setView(popuptext);
popup.setTitle("こたえの漢字");
// popup.setView(popuptext);
// popup.setMessage(_display_kanji.kanji);
popup.setPositiveButton("OK", null);
popup.show();
}

}

 

あいさい広場 草津 公園

こんばんわ、TF's appsです。

今回の記事はわが公園であるai彩ひろば(あいさい広場)に注目してみます。

f:id:TFs_apps:20191212175326j:plain

 

過去の記事でも紹介しました。

↓↓この公園のオススメを紹介しています

 滋賀に来たら一度来てください

www.tfsappsone.com

 

今週末も癒しを求めていつもの公園に足を運びました。

 

いつものように・・・

 

当たり前のように・・・

 

そして自然に・・・

 

一週間のストレスがふーっと落ちていきます

 

そう私にとってのai彩ひろばはそんな場所です。

子供たちも大好きです。

 

かけっこして、自転車して、遊具で遊んで

そんな地元の身近な公園です。

 

この公園の魅力はどこにあるのか

そんな事を考えることは一切ありません

訪れたら自然とわかります

そう感じます

 

何か気持ちがリラックスできる

 

私はバス釣りも好きで琵琶湖によく行きますが

琵琶湖を見ながら

ボケーっと過ごしている時と同じ感覚になります

 

そんなリラックスをこのブログの読者にも

感じで頂きたいのです

 

滋賀に来たらぜひ寄り道して下さいね(^^v)

 

 

ai彩ひろば

〒525-0061 滋賀県草津市北山田町3268−1

TEL: 077-568-2941

f:id:TFs_apps:20191212175044j:plain

 

ではまた次回お会いしましょう♪