Cコードをassetsフォルダー内のファイル(「res / asset / code.c」など)に保存します。
ファイルの内容を文字列に読み取る関数を記述します。
private String readFileInAssetsDir(String filename) {
BufferedReader br = null;
StringBuffer sb = new StringBuffer();
try {
br = new BufferedReader(new InputStreamReader(getAssets().open(filename)));
String line;
while((line = br.readLine()) != null)
sb.append(line + "\n");
} catch(Exception e) {
// TODO
}
return sb.toString();
}
次に、レイアウトにWebView(TextViewではない)を定義します(利点は、任意の文字を表示できることと、WebViewがズームとスクロールを直接提供することです)。
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
そして最後に、すべてのCコードを<pre></pre>
タグで囲み、WebViewウィジェット内に表示します。
String plainCode = readFileInAssetsDir("code.c");
String htmlCode = "<pre>" + plainCode + "</pre>";
webView.loadDataWithBaseURL("", htmlCode, "text/html", "utf-8", "");