teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/02/17 12:36

投稿

hoshi-takanori
hoshi-takanori

スコア7903

answer CHANGED
@@ -9,5 +9,6 @@
9
9
  CascadeClassifier cascadeOpenParam = new CascadeClassifier(openpalmcascade.getAbsolutePath());
10
10
  ```
11
11
 
12
- もしかして、openpalmcascade や cascadeOpenParam を MainActivity のフィールドとして宣言して setupOpenPalmCascadeFile を呼んで初期化しているのでしょうか。
12
+ もしかして、openpalmcascade や cascadeOpenParam を MainActivity のフィールドとして宣言して setupOpenPalmCascadeFile を呼んで初期化しているのでしょうか。(その発想はなかったです…。)
13
- Java 的にはそれで問題ない気がしますが、Android は Java VM ではない Dalvik というものを使っているのと、Activity は Android OS のアプリ実行コンテキストを担う特別なオブジェクトのため、onCreate が呼ばれる前にはアプリ情報と紐づいてなくて getDir できないということだと思います。
13
+ Java 的にはそれで問題ない気がしますが、Android は Java VM ではない Dalvik というものを使っているのと、Activity は Android OS のアプリ実行コンテキストを担う特別なオブジェクトのため、onCreate が呼ばれる前にはアプリ情報と紐づいてなくて getDir できないということだと思います。
14
+ onCreate などのメソッドの中から setupOpenPalmCascadeFile を呼んだら動くと思います。