週末のアプリ作成

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

コロナ休校とトイレットペーパー買い占め 中流家庭の一日

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

新型コロナウィルス拡大による我が家の騒動について記事にします。

コロナに振り回されております。

2020年2月27~28日にかけての滋賀在住のある家庭の様子。

 

我が家は子育て真っ最中です。

日本で約6割と言われている共働き世帯です。

長女(小学2年)、長男(保育園の年中)です。

 

コロナだけでなく、

今シーズンは娘の学級では今年既に2回もインフルエンザで学級閉鎖となっております。

 

そんな中、政府から2月27日に休校の要請。

f:id:TFs_apps:20200211215510p:plain

 

マジか。。。終わった。。。

 

我が家ではこんな感じでした。

嫁さんはもうこれ以上休めない、学級閉鎖2回だけでもかなりのダメージだ。

さらにコロナで休校となったら、仕事クビになるんじゃないか。

学校からは28日中に答えを出すとのメール通知あり。

 

・・・

・・・

 

そんな不安な気持ちから一夜明けて

 

・・・

・・・

 

2月28日 6時

私達夫婦は「おはよう」のいつも挨拶をしたのち

いつものように出勤・通学に向けて支度を進める

 

朝の会話

私「企業も一斉休暇になる可能性があるようだ」

 「もしそうなら最低2週間になるだろう」

 「保存できる食料と消耗品の生活雑貨は買っておこう」

 

妻「確かに」

 「今日仕事終わってから手分けして買い物しよう」

 

2月28日 8時(出勤途中)

妻「楽天でトイレットペーパーをポチした」

私「トイレットペーパー、ナイス!!」

 「仕事早めに切り上げて、24時間のスーパーに行くわ」

 

2月28日 10時

私の会社では3月2日から通常出勤ができるのか、

休校中は休みが必要かのヒアリングが実施(家庭により事情が様々)

会社としては来週以降に通知がある様子

 

2月28日 14時

嫁からLINE

学校は休校となるが、小学3年生以下は学校で子供を預かるとの連絡

良かった~^^v

 

2月28日 17時

 嫁から戦利品の報告

ドンキで食料を買う(保存食やお菓子、パスタ、米などの、合計6千円分)

 

2月28日 20時 マックスバリュー某店

私の目的はティッシュペーパーとインスタントラーメンと調味料(塩や油)

目的の物が一つだけ無い

 

私「あれっ」

 「いつもの生活雑貨がない」

 「ティッシュペーパーはゲットできず、すまん」

 

妻「了解、みんな考えること同じね」

 

この店舗、トイレットペーパーとティッシュペーパーだけキレイにありませんでした。

オイルショックのようだ。。。

f:id:TFs_apps:20200228234844j:plain

またインスタントラーメンやパスタなどもいつもより品薄の状態でした。

 

一日をざっと振り返りましたが、すごいですよね。

我が家では1週間ほどの普通の買い物レベルですが、中には大量にトイレットペーパーを買い占めしていた輩が居ました。(転売目的か...)

 

節度ある行動が必要ですね、社会が混乱しますしね。

以上、ドタバタな一日でした。

 

 

 

覚える漢字カード小学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に満ち溢れた世界です。

他の学問と同じです

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

ただそれだけの事です。 

 

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

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

 

 

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

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

 

 

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


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

 

アプリ作成 手順4「基本処理の実装 2」 サンプルコード紹介

こんにちは、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です。

今回の記事はサラリーマンにお勧めの本です。

人生に迷いがある時にぜひ読んで見て下さい

私の場合は中間管理職に就く前に読みました

このままで良いのかを考え直すきっかけになりました

 

 

私はサラリーマン生活になって15年程になりますが、

ここ最近は誰しもが考える事で悩んでいます 

今年で39才になります。。。

 

このまま同じ職場で良いのか

仕事は楽しむことはできているのか

定年まではまだまだ走る必要がある

自分の望む仕事ができていない

もっと良い仕事があるのでは

 

でも・・・

どんな状況でも自分の気持ち次第で

世の中は180度変わるものです。

そんな教えが多く記載されています

 

↓↓この本を紹介します

【道をひらく】 松下幸之助

道をひらく [ 松下幸之助 ]

価格:957円
(2020/2/8 11:32時点)
感想(190件)

悩むサラリーマンの気持ちが楽になります

 

大きくは下記のテーマにそって記載されています

どれかはきっと皆さんの気持ちにフィットする教えがあると思います

 

・運命を切りひらくために

・日々を新鮮な心で迎えるために

・みずから決断を下すときに

・困難にぶつかったときに

・自信を失ったときに

・仕事をより向上させるために

・事業をよりよく伸ばすために

 

人生の教えとしてこの本を買いました

 

日々忙しく過ごす一日ですが

ふと自分の状況を客観的にみてみる

そして自分の気持ちに素直に向き合ってみては如何でしょうか?

 

悩まない人はいません

どうするべきか

自分の悩み事とこの本の教えを照らし合わせると

自分の気持ちがどうするべきかの道が分かると思います。

 

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

 

 

 

あいさい広場 草津 公園

こんばんわ、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

 

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