运行如图:
示例是插入排序的例子。
主要的思路就是在webview中将编辑后的代码保存为一个html文件中,再用另一个WebView来加载。
直接上代码。
首先在manifest文件中添加几个权限:
[plain]
<!-- 链接互联网权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 链接互联网权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
布局文件:
[html]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<WebView
android:id="@+id/swebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<WebView
android:id="@+id/swebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
</RelativeLayout>
主activity:
[java]
package com.example.webtest1;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.util.EncodingUtils;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.widget.Toast;
public class MainActivity extends Activity {
private WebView mWebView;
private WebView sWebView;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView);
sWebView=(WebView) findViewById(R.id.swebView);
sWebView.getSettings().setJavaScriptEnabled(true);
mHandler=new Handler();
// 得到WebSettings对象,设置支持JavaScript参数
// 如果访问的页面中有JavaScript,则WebView必须设置支持JavaScript ,否则显示空白页面
mWebView.getSettings().setJavaScriptEnabled(true);
sWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setBuiltInZoomControls(true);
// 加载URL
mWebView.loadUrl("file:///android_asset/web/index.html");
//sWebView.loadUrl("file:///android_asset/result.html");
final class JSInte易做图ce{
public void clickOnAndroid(final String jsCode) {
mHandler.post(new Runnable() {
public void run() {
//Toast.makeText(MainActivity.this, "测试调用java"+s, Toast.LENGTH_LONG).show();
mWebView.setVisibility(8);
String html="";
html += "<head>";
html += "<body>"+&qu
补充:移动开发 , Android ,