Androidアプリ開発初心者のしゃちょうさん。
Javaでこんなコードを書きました。
String version = null; try { BufferedReader reader = new BufferedReader( new FileReader("/proc/version")); version = reader.readLine(); } catch (FileNotFoundException e) { Log.e("tag", e.toString()); } catch (IOException e) { Log.e("tag", e.toString()); } TextView text = (TextView)findViewById(R.id.textView); String str = "カーネルのバージョン:" + version; text.setText(str);
AVD(エミュレーター)で実行しても「null」(つまり例外であるcatchに当てはまっている)としか表示されません。
本来「カーネルのバージョン:Linux version 3.10.0+(略」などと表示されなければなりません。なりません!
コードにミスはないのです。
あれれ?
権限が必要なのかな……
Linuxの脆弱性がどうのこうのと最近ありました。
パーミッションを加えなければならないのか……でもその宣言が見当たりません。
簡単に確かめよう!そうしよう!
そんなわけで AVDのAPIレベルを22(Lollipop)に下げてみました。
表示されるではありませんか!
根本的な解決にはなりませんでしたが、Javaのプログラミング自体はうまくいっていることが分かりました。
しゃちょうさんはここで力尽き、解決策(パーミッションの問題なのかどうなのか)を見いだせないまま、次のステップに進むのです。
今日、シャインさんはGW明けで出勤してきました。
隣で連休明けなのに一所懸命作業してくれています。
ヘッドホンで音楽聴きながらも頑張っています。
「シャインさん、おつかれさまです」
「……」シャンシャン
「シャインさん、お疲れなのかな……」
「……」シャンシャン
「じゃましてごめんね、お互いがんばろうね」
「……」シャンシャン
あとできいたら、バンドリというアプリにはまっているそうで、お仕事はしなかったそうです。
バンドリがなにかはわからないけど、きっと役に立つアプリなんですね!
しゃちょうさんもそんなアプリを開発できるようにがんばります。
ありがとうございます。おなじげんしょうでした。。。命令がふるいのか、、フォルダが違うのか・・・
なんにせよ助かりました。。
まさお様
お役に立てて光栄です!
結局どういうことだったのか、解決策がわからないままで申し訳ないです。。
なにより、わざわざコメントを頂けてとっても嬉しかったです!ありがとうございます♪
まさお様のアプリ開発、応援しています!