2021年6月30日水曜日

[Android試験] Dalvikはサポート終了?

こんにちは、針山散策を今日もほのぼのと行います。

Androidアプリケーション技術者試験ベーシックの勉強をしています。

参考にしている本は
「携帯OS教科書 Androidアプリケーション技術者ベーシック」
です。

ただ、内容が古いようで、Eclipse環境を意識する時代のものです。

最近はAndroid Studio だけでインストール完了するので

ちょっと古すぎます。

ただ、昔のものとはいえ、基本的なところは覚えて、後で変更点を

検索やら問題集などで確認していけばいいかと思ってます。

上記書籍を読んでいて、

Android RuntimeとしてJavaコードを通常のJVMではなく、

Googleさんが作成した"Dalvik"を使用して仮想マシン実行を行っていると

あったのですが、

気になって、ググってみたところ、

サポート終了しているようです。
https://developer.android.com/studio/profile/monitor?hl=ja Dalvik Debug Monitor Server(DDMS)

はサポートが終了していて、Android Studio 3.0 からは

Android Profiler を使用して

アプリの CPU、メモリ、ネットワークの使用状況を確認出来るようです。

DDMS自体の用語がなくなったのかな。

せっかく覚えたのですが。

2021年6月26日土曜日

[Kotrin] [AndroidStudio] ランダム整数値をTextに表示

こんにちは、針山散策を今日もほのぼのと行います。

今日はAndroidStudio上で、ランダム整数値を

テキスト上に表示することがありましたので、メモします。

以下参考にしたURLは以下です。
https://techacademy.jp/magazine/17733 まず、plainテキストをres/layout/activity_main.xmlに

作ります。

AndroidStudio上で、res/layoutにあるxmlファイルを開きます。

palette上にあるText-> Plain TextをドラッグしてDesign上にドロップします

[Kotlin]
var text_view:TextView
text_view = findViewById(R.id.text_View) as TextView

var dataRandom: Random = Random()

text_view?.setText(dataRandom.nextInt(200).toString())

[Java]
TextView text_view
text_view = (TextView)findViewById(R.id.text_View)

Random dataRandom= new Random();

text_view.setText(dataRandom.nextInt(200).toString())


これによって、text上にランダムデータが表示されるようになります。

"Random dataRandom= new Random();"としているので

インスタンスを取得しないと使えない。ということは、Randomクラス内に"static"は無いと推測します。

2021年6月22日火曜日

[IAR] do not initializeのエラーが出ました

こんにちは、針山散策を今日もほのぼのと行います。

開発環境Iarのバージョンを最新にして

旧環境をビルドしてみたところ、

Error[Lp049]: there was no reference to __iar_data_init3, but it is needed to
initialize section .bss (main.o #8)

が表示されました。

no definition for init routine "__iar_zero_init3が表示される
に書いているのを見ると、

初期化のないRAMセクションで、

リンカ設定ファイルで明示的に do not initialize のリストにないセクションがある場合、

エラーになるようになったようです。

意味としては、RAMだからグローバル変数の初期化をきちんとしないと
エラーになりますよ。ということなのだと思います。

リンカファイルをいろいろ変えてみたりしましたが、あまり効果はありませんでした。



色々試したところ、main()に相当する部分の先頭で、

以下の関数を実行するとワーニングにはなったが、エラーにはならなくなりました。

void main_XXX()
{
__iar_data_init3();"

}

ワーニング[Pe223]: function "__iar_data_init3" declared implicitly …

と出ましたが、マップファイルにもそれなりのデータがあったので

問題無いと思います。

スッキリわかるJava入門/中山清喬/国本大悟/フレアリンク【3000円以上送料無料】

価格:2,860円
(2021/6/14 19:17時点)
感想(0件)


「スッキリわかるJava入門 第3版」でほぼ合格

2021年6月18日金曜日

画像認識におけるOpenCVメモ

	参考にしたURL
こんにちは、針山散策を今日もほのぼのと行います。

先日、Androidで画像をキャプチャするところまでは出来るようになりました。

今回は、その画像を解析するライブラリとしてOpenCVが使えるのではないかと

思いましたので何が出来るのかを調べてみました。

以下、参考にしたURLです。 https://www.sejuku.net/blog/113292
拝見したところ、オープンソースソフトウェアで無料で使えるのですね。

  1. 物体の位置情報パターン
  2. →細い板の側面も識別できるかもしれない。

    例えば段ボール箱を重ねていて、

    その数を数えたい等。

  3. 画像の切り出し
  4. →予め、アプリ内に四角で大枠を作成しておきます。

    その大枠内に検査対象を良い感じに入るようにして撮影してくださいね。

    とすれば、その大枠をごっそり取り出せる。

    といった使い方が出来るということですか。

     例えば、重ねてある段ボール箱を大枠内に入るように撮影

    すれば、その大枠でまずは取り出せるということですか。

  5. JavaでもC++、Pythonでも使える
  6. いいですね。
    AndroidStudioで利用できるってことで。
    Kotlinでも対応可なのでしょうか?
    Javaに似ているし使えると解釈

  7. 画像の認識・表示
  8. 段ボールの数を数える場合、
    画像のピクセルごとに数値で表すことが出来るということですか。
    段ボールの断面は格子型ですが、境界線は方向が
    異なるからわかりそうです。

  9. 画像の編集
  10. トリミングした画像で、段ボール断面が細かい場合、
    リサイズしてOpenCVで解析しやすくできるということですね。

  11. 物体の検出
  12. 段ボールという物体を検出させる学習が可能ということのようです。

  13. テンプレートマッチング
  14. 段ボールの見本画像と比較して認識率をあげていく。

  15. ノイズの除去
  16. 段ボール画像の揺らぎを補正してくれるのでしょうか?

  17. グレースケールへの変換
  18. 白黒画像に段ボール画像を変換するということか、
    確かに情報量を減らすことで、計算負荷や
    メモリ容量を節約できそうです。

これによって、段ボールの断面図を認識して
それがいくつあるのかを認知できれば、
細かい数の段ボールがあっても数えられそうです。

スッキリわかるJava入門/中山清喬/国本大悟/フレアリンク【3000円以上送料無料】

価格:2,860円
(2021/6/14 19:17時点)
感想(0件)


「スッキリわかるJava入門 第3版」でほぼ合格

2021年6月16日水曜日

[Javaプログラミング能力認定試験2級] 問題6の説明文で何をチェックすればよいのか?

こんにちは、針山散策を今日もほのぼのと行います。

Javaプログラミング能力認定試験2級の問題6の説明文で

チェックした方が良い箇所をメモしておきます。

ここでいう説明文とは、問題文の最初のところです。

メソッドや、クラスの説明ではありません。

あまり説明文には時間をかけるのではなく、

さっとチェックする程度ですすめましょう。

後で読み返した際に時間をかけないようにする為にも。

以下チェック項目です。
  • 1. 全体的に何を行うプログラムを軽くチェック。
  • 2. 番号は何番からか?
  • 3. 例外箇所はどこか?
  • 4.最大値は?
  • 5.アルゴリズムの説明では、その説明全体と例を囲っておく
です。

以下、詳細です。

・1.全体的に何を行うプログラムかを軽くチェック。
冒頭に書いています。
例:「顧客管理の説明です。」

・2.番号は何番からか?
例えば、リストに登録される番号は何番からか。
をチェックしていくようにします。
0からなのか1なのかが重要だったりします。


・3.例外箇所はどこか?
ある条件の時の表現はどうするのか。
といった内容をチェックします。
例「何も登録されていない時は、「登録してください。」を表示する」
・”何も登録されていない時”
・「登録してください。」
をチェックします。

・4.最大値は?
登録するリストの上限や、番号の最大値を
チェックします。

・5.アルゴリズムの説明では、その説明全体と例を囲っておく。
じっくり見ずに、さっと囲って、どのような
ことを言っているのかを軽く理解しておきます。
問題がアルゴリズム箇所の場合、
読み返すので、その時にじっくり見ればよいので、
初めは軽く見ておく程度で良いです。

以上です。

スッキリわかるJava入門/中山清喬/国本大悟/フレアリンク【3000円以上送料無料】

価格:2,860円
(2021/6/14 19:17時点)
感想(0件)


「スッキリわかるJava入門 第3版」でほぼ合格

2021年6月12日土曜日

[Android] CameraXのGetting Started を実装してみる

こんにちは、針山散策を今日もほのぼのと行います。

Androidで画像をキャプチャして加工を行う案件の見積もり

が発生しましたので、

実際に Androidで画面キャプチャして、何が出来るのかを

試してみようと思い、以下を参照して実装してみました。

https://developer.android.com/codelabs/camerax-getting-started?hl=ja#1

こちらはkotlinのようです。

結果としまして、画面はキャプチャできることを確認出来ました。

こちらの処理を自前で作るのはかなりしんどいので、

サンプルがあると非常に重宝します。

さて、加工などの画像処理についてはこちらのGetting Startedでは見当たりませんでしたので

別途探してみようと思います。

2021年6月10日木曜日

[C++] スコープ"::"

こんにちは、針山散策を今日もほのぼのと行います。 今日は、C++についてメモします。 C言語、Java言語とやってきて、C++は意外とやってませんでした。 JavaとC++は機能としては一部分でも似ていると思うので 差分で考えると理解しやすいのかもしれません。 書籍を読んで、メモしておきます。 スコープには以下三種があるようです。 1. ローカルスコープ 2. 関数スコープ 3. ファイルスコープ "1. ローカルスコープ" ローカルなので、関数内部({}の中だけで生きる) で生きる変数です。ここから外に出たらお終い。 "2. 関数スコープ" https://jsprimer.net/basic/function-scope/ ローカルスコープと似ていますが、 関数に値を渡した場合、関数の定義では変数として取り扱います。 この変数のスコープが関数スコープということのようです。 3. ファイルスコープ グローバル変数のようです。 C言語で考えたほうがここは理解しやすいかもしれません。 int test= 123; class aaa{ public: test= 555; void test1(); } void main() { int test= 1,a,b; … a= ::test; // (*1) ここはどちらのtestでしょうか? b= aaa::test; } ::testと単体で出てきたときはグローバル変数として扱うようです。 なので、 a= 123 が入ります。 ::の前にクラス名が入るとクラス内のメソッドとして扱う。 これは変数、関数両方いけるということか。 なので、 b= 555 か、以下をメモしておきます 関数の場合、 aaa::test1() { } 変数の場合 aaa::test= 11;

2021年6月8日火曜日

[Azure] Azure Fundamentals ウェビナー

こんにちは、針山散策を今日もほのぼのと行います。

Azureのウェビナーを受けたのですが、

資料等はダウンロード提供できないとなっていました。

推奨されていたのは、

以下コースの「Azureの基礎」でした。

https://aka.ms/MSLearn-JPN
ウェビナー自体は、とにかく進むのが早いので、ついていけませんでした。

なので、上記リンクから、トレーニングは必要そうです。

ウェビナーは受講すると、AZ-900の受験が無料になるみたいです。

何回分かは分からないですが少なくとも1回は受けれそうです。

何とかして、合格したいと思います。

以下、ヒントになるかもしれません。

1.”Alt”+ “PrtScn”で大事そうな箇所を自分のパソコン内に入れてみる。

2.XBOX 動画キャプチャ機能で録画をしてしまう。
https://www.pc-jozu.com/mame/movie-game-recording/#:~:text=%E3%81%BE%E3%81%9A%E3%81%AF%E9%8C%B2%E7%94%BB%E3%81%97%E3%81%9F%E3%81%84%E5%8B%95%E7%94%BB%E3%82%84,%E3%80%8D%EF%BC%8B%E3%80%8CR%E3%80%8D%E3%81%A7%E3%81%99%E3%80%82

2021年6月3日木曜日

[Javaプログラミング能力認定試験2級] 6/20は7/18に変更になりました

こんにちは、針山散策を今日もほのぼのと行います。


Javaプログラミング能力認定試験2級の受験について進展がありました。


6/20はコロナの影響もあって、7/18に変更になるということです。


受験場所は東京富士大学のようです。


JR山手線「高田馬場駅」より徒歩5分のところです。


関東にお住いの人は恐らくこちらで受験するのでしょう。


学習スケジュールとしては、6/20目標だったので、ちょっとペースを


考え直そうかなと思います。


「スッキリわかるJava入門 第3版」

「スッキリわかるJava入門 実践編 第3版 」


は6月いっぱいで2週目を終わらす。


7月からは、過去問は6,7問をひたすら解く。


で進めていこうと思います。