2013-04-21 :-)
_ 午後
1300 情報処理技術者試験SC
_ [Android]android.content.Context getResources()
リソース取得するために
public class MainActivity extends Activity { public MainActivity() { AssetManager as = getResources().getAssets(); }
と書いたら死んだ。
なぜだ
04-21 11:20:38.373: W/System.err(612): java.lang.NullPointerException
ヌルポ?
あー
コンストラクタの中で実行してはいけない?
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AssetManager as = getResources().getAssets();
そういうことすか。
_ [Android][java]Data exceeds UNCOMPRESS_DATA_MAX
8MB ファイルのファイルを readLine() する。
アプリは死ぬ。
try { InputStream is = getResources().getAssets().open("hoge.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { lines.add(line); } br.close(); is.close(); } catch (IOException e) { e.printStackTrace(); }
04-21 14:54:00.115: I/global(563): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 04-21 14:54:01.325: D/asset(563): Data exceeds UNCOMPRESS_DATA_MAX (8701152 vs 1048576) 04-21 14:54:24.176: W/System.err(563): java.io.IOException 04-21 14:54:24.195: W/System.err(563): at android.content.res.AssetManager.readAsset(Native Method) 04-21 14:54:24.195: W/System.err(563): at android.content.res.AssetManager.access$700(AssetManager.java:35) 04-21 14:54:24.195: W/System.err(563): at android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:543) 04-21 14:54:24.206: W/System.err(563): at java.io.InputStreamReader.read(InputStreamReader.java:270) 04-21 14:54:24.206: W/System.err(563): at java.io.BufferedReader.fillbuf(BufferedReader.java:126) 04-21 14:54:24.216: W/System.err(563): at java.io.BufferedReader.readLine(BufferedReader.java:345)
非圧縮ファイルは 1048576 バイトまでしか読まないよバーカバーカ
とのこと。
ううむ。
ref.
[ツッコミを入れる]