androiddev (20)


Text to Speech Angular Component in Android HybridApp

Implemented Text To Speech APIs in Angular mobile Android HybridApp




Create PDF file in Angular and Android Hybrid App

How to programmatically create PDF file in Android Angular Hybrid App from text content?




Read/Write txt file in Android Angular Hybrid app

How to programmatically write and read file in your Android external storage Hybrid App? (Updated) An example in Angular application




Android Decompress zip file Hybrid app

How to programmatically unzip file in Android html5/js HybridApp?





Add Javascript Interface Android Write File

A useful snippet HTML5 hybrid app for Android, using the method addJavascriptInterface to save and write file in external storage:

// write storage permission in your manifest file of Android project

    
    ...


// start code
@SuppressLint({"SetJavaScriptEnabled","JavascriptInterface"})
public class MainActivity extends Activity {
public WebView webView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main); // source activity_main.xml
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
webView.setWebViewClient(new WebViewClient());
// important set Web Chrome Client
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl(url); //local or remote
}
// final class for save and write file in external storage
final class WebAppInterface {
        Context mContext;

        /** Instantiate the interface and set the context */
        WebAppInterface(Context c) {
            mContext = c;
        }
        public void writeToFile(String data, String filename, String tag) {
            try {
                File root = android.os.Environment.getExternalStorageDirectory();
                File dir = new File (root.getAbsolutePath() + "/foldercustom");
                dir.mkdirs();
                File file = new File(dir, filename);
                FileOutputStream f = new FileOutputStream(file);
                PrintWriter pw = new PrintWriter(f);
                pw.println(data);
                pw.flush();
                pw.close();
                f.close();
            }
            catch (IOException e) {
                Log.e(tag, "File write failed: " + e.toString());
            }
        }
    }

}
// Now open html file in www folder