Minitemplator(http://www.source-code.biz/MiniTemplator/)をAndroidのアプリケーションに統合しようとしていますが、少し迷っています。
テンプレートファイルにアクセスできます。テンプレートファイルはアセットディレクトリにあり、次の方法でファイルを取得しようとしています。
Uri path = Uri.parse("file:///android_asset/index.html");
この方法でオブジェクトをインスタンス化します。
MiniTemplator t = new MiniTemplator(path.getPath());
しかし、ファイルまたはフォルダが存在しないというio例外が送信されます。
ミニテンプレーターオブジェクトをインスタンス化するためにファイルを送信する正しい方法はどのようになっていますか?
これは完全なコードです:
package com.kentverger.minitemplator;
import java.io.File;
import java.io.IOException;
import biz.source_code.miniTemplator.MiniTemplator;
import biz.source_code.miniTemplator.MiniTemplator.TemplateSyntaxException;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.webkit.WebView;
public class Template extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_template);
WebView index = (WebView) findViewById(R.id.indexWebView);
Uri path = Uri.parse("file:///android_asset/index.html");
try {
MiniTemplator t = new MiniTemplator(path.getPath());
t.setVariable("titulo", "Hola mundo generado desde java");
String html_code = t.generateOutput();
index.loadData(html_code, "text/html", null);
} catch (TemplateSyntaxException e) {
Log.d("ERROR 1", e.getMessage());
} catch (IOException e) {
Log.d("ERROR 2", e.getMessage());
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_template, menu);
return true;
}
}