2017-02-16 1 views
0

Androidスタジオプロジェクトでは、アプリのキャッシュにある.jpgファイルにつながるファイルパスがGoogleから共有イメージのインテントで取得されていますこの場合の写真です(ただし、Chromeからの共有などの理由で次の結果が得られます)。Androidの特定の無関係なコードの後に​​ファイル変数が不思議に空になる

.getAbsolutePath()を使用して配列内の文字列としてAsyncTaskに渡します。

System.out.println(new File(data[0]).length());data[0]を絶対画像ファイルのパスにすると、出力は1657139となります。

しかし、何らかの理由で、ファイルがどこかに私のコードに沿って空にします、と.length().canRead()ためfalseため0を返します。私はそれが起こる正確な場所を特定することはできません。なぜなら、それが空になる位置が変わるたびにそうであるからです。 (私はどこでもチェックするためにprint文を設定しました)。

System.out.println(localFile2.length()); 
System.out.println(localFile2.canRead()); 
System.out.println("reading"); 
//below lines 
DataDirectory AlgoOutputDirectory = algorithmiaClient.dir("data://.algo/deeplearning/ColorfulImageColorization/temp"); 
DataDirectory ChromoPhotoDataDirectory = algorithmiaClient.dir("data://TrivisionZero/ChromoPhotoData"); 
//above lines 
System.out.println(localFile2.length()); 
System.out.println(localFile2.canRead()); 

そのために出力されているとおり:

...実際、今それを数回テストし、それは主にAlgorithmiaから、次の2行のコードの後に​​先取りしているようです

02-15 22:22:36.373 8380-8415/? I/System.out: 77647 //correct size 
02-15 22:22:36.373 8380-8415/? I/System.out: true 
02-15 22:22:36.373 8380-8415/? I/System.out: reading 
//here's the algorithmia code 
02-15 22:22:36.388 8380-8415/? I/System.out: 0 //now it's empty 
02-15 22:22:36.388 8380-8415/? I/System.out: false 
02-15 22:22:36.388 8380-8415/? I/System.out: reading 

私はこれがAlgorithmiaの問題に特化したサイトではないことを認識していますが、応答時間が理想よりもかなり長くなっています。だから誰もがなぜサイズが0に突然下がっているのかわからないのであれば、本当に感謝しています。ありがとう。

追加情報:共有オプションの代わりに画像選択ウィンドウを使用してGoogleフォトまたはローカルストレージから選択した写真と同じものが常に動作するようです。

答えて

1

さて、私は本当にこのことを投稿するのはばかげていると感じています。

私はスタート時に不要なアプリケーションキャッシュをクリアするこのコードを持っていますか?私はそれを忘れていたので、いつもスタートで走っていた。実際、私が参照していたファイルを実際に削除していたのは、まったく同じ時刻だったので、空白になる特定のコードかもしれないと思っていました。いいえ!ちょうど私の忘れられない自己コードを書いて、私は必要なファイルを削除して書いた。 :P

私はこのコードにコメントしています。今は100%うまくいきます。

私はちょうど1人のユニークな個人が正確に同じ問題(そのチャンスは何ですか?)

うわを持っていることを小さなケースにここにこれを残しています。

+0

私は笑顔になりました!私たち一人一人がやったことはありますが、決して認めません! –

+0

嬉しい私の愚かさは、少なくとも誰かに恩恵を受けました! :p –

関連する問題