android webview pre[name=code] syntaxHighlighter 代码高亮

简介:   下载 高亮 js css xml   http://download.csdn.net/download/knight_black_bob/9594538     实战 QQ demo源码(本例中有该应用) 服务器端下载:http://download.

 

下载 高亮 js css xml  

http://download.csdn.net/download/knight_black_bob/9594538

 

 

实战 QQ demo源码(本例中有该应用)

服务器端下载http://download.csdn.net/download/knight_black_bob/9822551

android eclipse 版http://download.csdn.net/download/knight_black_bob/9822553

android stdio  版本http://download.csdn.net/download/knight_black_bob/9822556

 

 

博客详细效果图



 

 

public final static String syntaxHighlighter = 
			"<script type=\"text/javascript\" src=\"file:///android_asset/shCore.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushCpp.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushXml.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushJScript.js\"></script>"
			+ "<script type=\"text/javascript\" src=\"file:///android_asset/shBrushJava.js\"></script>"
			+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shThemeDefault.css\">"
			+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"file:///android_asset/shCore.css\">"
			+ "<script type=\"text/javascript\">SyntaxHighlighter.all();</script>";

 

 

 

iteye 博客详细内容

public static String getIteyeBlogString(String data){ 
		Element detail = null;
		Document document =null;
		try { 
			document = Jsoup.parse(data);
			 detail =document.getElementsByClass("blog_main").get(0); 
			 detail.getElementById("bottoms").remove();
			 detail.getElementsByClass("blog_nav").remove();
			 detail.getElementsByClass("news_tag").remove();
			 detail.getElementsByClass("blog_categories").remove();
			 detail.getElementsByClass("blog_bottom").remove();
			 detail.getElementsByClass("boutique-curr-box").remove();
			 detail.getElementsByClass("blog_comment").remove();
			 detail.getElementsByTag("iframe").remove();  
			
			 Elements codeElements = detail.select("pre[name=code]");  
			 for (Element codeNode : codeElements) {  
			     codeNode.attr("class", "brush: java; gutter: false;");   
			 }  
				
		} catch (Exception e) {
			e.printStackTrace();
		} 
		return   Constants.syntaxHighlighter+ detail.toString();
	}

 

public class IteyeDetailActivity extends BaseActivity  {
	
	
	 private WebView webView;
	private String url ="http://blog.csdn.net/jmilk/article/details/52046914";
	final String mimeType = "text/html";  
	final String encoding = "utf-8";  
	private Context mContext;
	@Override
	protected void onCreate(Bundle bundle) { 
		super.onCreate(bundle);
		setContentView(R.layout.iteye_list_item_detail);
		this.mContext = IteyeDetailActivity.this;
		
		initUtils();
		initView( );
		// initListeners();
		EventBus.getDefault().register( this );
		 IteyeHttpRequest.getIteyeBlogData(url);
	}

	private void initListeners() { 
		 webView.loadUrl(url); 
		//showWaitingDialog("");
		/*webView.setWebViewClient(new WebViewClient() {      
            @Override      
            public boolean shouldOverrideUrlLoading(WebView view, String url)      
            {     
              view.loadUrl(url);  
              dismissWaitingDialog();
              return true;      
            }      
      }); */    
	}

	private void initView() {
		webView = (WebView) this.findViewById(R.id.wv_qq_news_item_detail_webview);
		 WebSettings settings = webView.getSettings();
		 settings.setDomStorageEnabled(true); 
		 settings.setAllowFileAccess(true);
		settings. setDefaultTextEncodingName("UTF -8");
		settings.setJavaScriptEnabled(true);  //支持js
		//settings.setPluginsEnabled(true);  //支持插件 
		settings.setUseWideViewPort(false);  //将图片调整到适合webview的大小 
		settings.setSupportZoom(true);  //支持缩放 
		settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 
	}

	private void initUtils() {
		Intent intent = getIntent();
		 Bundle bundle = intent.getBundleExtra("bundle");
		 url =bundle.getString(IteyeMainActivity.ITEYE_DETAIL_URL); 
	}

	
	public void onEventMainThread(RequestEvent requestEvent){
		
		if(requestEvent instanceof IteyeStringHttpEvent){
			IteyeStringHttpEvent event = (IteyeStringHttpEvent) requestEvent;
			switch(event.status){
			case HTTP_ERROR:
				 
				break; 
			case HTTP_SUCCESS: {   
				String result = event.data; 
				String data = IteyeJsoupPerformer.getIteyeBlogString(result);
				String shtml = IteyeJsoupPerformer.getHtml(data); 
				//webView. loadData(iteyeBlogString, "text/html", "UTF-8") ; 
				webView.loadDataWithBaseURL(  "file:///android_asset/", shtml, "text/html", "utf-8", null ); 
			 
			}
			  break;
			default:
				break;
			}
		}else{
			
		}
}
	
	
	
	 

	@Override
    public void onDestroy() {
        EventBus.getDefault().unregister( this );
        super.onDestroy();
    }
}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

 

目录
相关文章
|
API Android开发 数据安全/隐私保护
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
957 0
|
22天前
|
程序员 开发工具 Android开发
Android|WebView 禁止长按,限制非白名单域名的跳转层级
如何限制 WebView 仅域名白名单网址能随意跳转,并禁用长按选择文字。
28 2
|
5月前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
5月前
|
JavaScript 前端开发 Android开发
kotlin安卓在Jetpack Compose 框架下使用webview , 网页中的JavaScript代码如何与native交互
在Jetpack Compose中使用Kotlin创建Webview组件,设置JavaScript交互:`@Composable`函数`ComposableWebView`加载网页并启用JavaScript。通过`addJavascriptInterface`添加`WebAppInterface`类,允许JavaScript调用Android方法如播放音频。当页面加载完成时,执行`onWebViewReady`回调。
|
4月前
|
Web App开发 JavaScript 前端开发
Android端使用WebView注入一段js代码实现js调用android
Android端使用WebView注入一段js代码实现js调用android
110 0
|
5月前
|
Web App开发 移动开发 前端开发
52. 【Android教程】网页视图:WebView
52. 【Android教程】网页视图:WebView
90 1
|
5月前
|
安全 网络安全 API
kotlin安卓开发JetPack Compose 如何使用webview 打开网页时给webview注入cookie
在Jetpack Compose中使用WebView需借助AndroidView。要注入Cookie,首先在`build.gradle`添加WebView依赖,如`androidx.webkit:webkit:1.4.0`。接着创建自定义`ComposableWebView`,通过`CookieManager`设置接受第三方Cookie并注入Cookie字符串。最后在Compose界面使用这个自定义组件加载URL。注意Android 9及以上版本可能需要在网络安全配置中允许第三方Cookie。
|
6月前
|
开发工具 Android开发 Windows
Android应用] 问题2:ERROR: unknown virtual device name:
Android应用] 问题2:ERROR: unknown virtual device name:
37 2
|
6月前
|
XML Android开发 数据格式
安卓和webview交互
安卓和webview交互
61 0
|
Android开发 iOS开发 UED
Android webView 实现阻尼回弹效果
iOS webView默认滑动到顶部或者底部的时候,还可以继续通过手指拉扯滑动,松手后回弹;而Android webView默认是不行的,要实现跟iOS一样的效果,就需要自定义webView。
579 0