Joe, Ha ... very interesting the way you download busybox to download picolisp! I'm still wondering why I cannot connect to my picolisp server on android ... but it looks like you have that issue licked.
Ok, so now this means we can package some picolisp client/server applications as android apps, using the android browser. (I think.) I like that approach because it works with the android browser and app packaging scheme - and at the same time you're getting picolisp in all its glory and efficiency. Cheers, Doug --- On Fri, 2/24/12, Joe Bogner <joebog...@gmail.com> wrote: > From: Joe Bogner <joebog...@gmail.com> > Subject: Android Demo > To: picolisp@software-lab.de > Date: Friday, February 24, 2012, 8:30 AM > I was able to successfully embed a > picoLisp web app into a java > Android app. It's just a form that outputs what's in the > textbox. I've > also been able to prove that database access calls work but > I haven't > integrated it into this example. > > I also recorded a terrible video of it :). > https://picasaweb.google.com/lh/photo/FLO3jIBS99dNPOeb9gC78s8zJy1Iv3Dkn7PZ5E-PSQc?feat=directlink. > I ran out of time to redo. I've added a sleep to help ensure > that > picoLisp is running before the web page is rendered: > > > I've tried it on both my android (DroidX) phone and my > kindle fire. > > The core java code is quite simple. The toasts don't appear > for some > reason while it's downloading the required files but it does > appear > when it's starting. > > @Override > public void onCreate(Bundle icicle) { > super.onCreate(icicle); > // ToDo add your GUI initialization code here > setContentView(R.layout.main); > > Context context = getApplicationContext(); > > String localPath = > "/data/data/org.me.androiddemo/"; > String local = localPath + > "arm-picoLisp.tar.gz"; > > if (!new File(localPath + "busybox").exists()) > { > Toast.makeText(context, "Downloading > busybox", Toast.LENGTH_SHORT).show(); > download("http://dl.dropbox.com/u/20783971/busybox", localPath + > "busybox"); > exec("/system/bin/chmod 744 " + > localPath + "busybox"); > } > > if (!new File(local).exists()) { > Toast.makeText(context, "Downloading > picoLisp", > Toast.LENGTH_SHORT).show(); > download("http://dl.dropbox.com/u/20783971/arm-picoLisp.tar.gz", > local); > exec(localPath + "busybox tar -zxvf " + > local + " -C " + localPath); > } > > exec(localPath + "busybox killall -9 > picolisp"); > > > > Toast.makeText(context, "Starting App", > Toast.LENGTH_SHORT).show(); > > execAsync(localPath + "arm-picoLisp/pil > @lib/http.l @lib/xhtml.l " > + localPath + "arm-picoLisp/s.l", localPath + > "arm-picoLisp"); > > try { > Thread.sleep(1000); > } catch (InterruptedException e) { > } > WebView mWebView; > > mWebView = (WebView) > findViewById(R.id.webview); > > mWebView.getSettings().setJavaScriptEnabled(true); > mWebView.setWebViewClient(new WebViewClient() > { > @Override > public boolean > shouldOverrideUrlLoading(WebView view, String url) { > > view.loadUrl(url); > > return true; > > } > }); > mWebView.loadUrl("http://127.0.0.1:8001/"); > } > -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe