下载 高亮 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捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中内嵌网页内容,提供混合式应用的用户体验。然而,在使用Webview时,有时会遇到一个问题:当HTML页面中包含`<input type="file">`用于上传文件的...
本文将详细讲解如何在Android Webview中调用摄像头进行二维码扫描,并结合ZXing(Zebra Crossing)解析包进行二维码的解析。 首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件...
7. **替代方案**:除了`SyntaxHighlighter`,还有一些专门为Android设计的代码高亮库,如`GsonFormat`、`CodeView`等,它们可能更易于集成且性能更好,但也需要根据项目需求和资源来选择。 总之,通过将`...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...
在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中内嵌网页内容,实现混合开发。然而,开发者时常会遇到一些棘手的问题,其中之一便是“android webview 因iframe+target=“_blank”导致的...
1. **WebView组件引入**:在AndroidManifest.xml文件中声明WebView权限,添加`<uses-permission android:name="android.permission.INTERNET" />`以确保应用可以访问互联网。然后在布局XML文件中添加WebView组件,如...
在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在原生应用中展示网页内容。混合开发(Hybrid Development)结合了Web技术与原生应用的优势,使得开发者可以使用HTML5、CSS3和JavaScript来构建应用...
接下来,我们要处理WebView中的JavaScript与Android原生代码之间的交互。这里需要用到WebView的`addJavascriptInterface`方法,创建一个Java对象并暴露给JavaScript调用。例如,我们可以创建一个名为`...
在Android应用开发中,Webview是一个非常重要的组件,它允许我们加载并运行网页内容,甚至与JavaScript进行交互。本文将详细讲解如何在Android的Webview中调用相册和拍照功能,以实现H5与原生Android应用的深度集成...
在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...
html5游戏 Android+html5实现 类似连连看安卓游戏 安卓activity+webview+h5=2048程序员版 程序员人才玩的懂的2048升级版html离线小游戏 2048安卓程序员版 android2048H5游戏安卓activity+webview+h5=2048程序员版...
在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中嵌入网页内容,提供了一种混合式开发的解决方案。然而,在实际使用中,我们可能会遇到一些问题,比如在WebView中使用`<input type="file">`...
在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要...
2. **实现JavaScript接口**:为了让JavaScript与原生Android代码交互,我们需要创建一个JavaScriptInterface,并在WebView中注册它: ```java @JavascriptInterface public class WebAppInterface { Context ...
Android Webview 拦截 Ajax 请求的详细讲解 Android Webview 提供了页面加载及资源请求的钩子,但是对于 H5 的 Ajax 请求并没有提供干涉的接口。这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,...
在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中嵌入网页内容,实现混合开发。本文将深入探讨如何在Webview中实现文件选择功能,包括从本地相册选取图片和通过相机拍照,并结合百度定位服务来...
总的来说,Android Webview QQ登录涉及到前端WebView的设置、JavaScript与原生代码的交互、QQ开放平台的API调用以及与后台服务器的数据通信。理解并掌握这一流程对于开发具有社交功能的Android应用至关重要。在实际...
然后,在Android应用中,我们需要在Webview加载网页之前或之后,使用`evaluateJavascript()`方法注入这段CSS代码。以下是一个简单的示例: ```java String nightModeCss = "document.head.innerHTML += '<style>...
在Android开发中,WebView是一个非常重要的组件,它允许我们在原生应用中展示网页内容,提供了一种混合式应用开发的解决方案。本篇文章将深入探讨如何在Android WebView中实现自由复制和选择文字的功能,这对于增强...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,而无需离开应用。WebView不仅能够加载远程HTTP/HTTPS网址,还能处理本地HTML、CSS和JavaScript资源,极大地增强了应用...