安卓开发教程-实战网页源代码查看器,安卓程序员必备

本系列教程致力于可以快速的进行学习安卓开发,按照项目式的方法,通常一篇文章会做一个小程序。提高学习的兴趣。

一方面总结自己所得,另一方面可以通过自己的分享帮助更多学习的同仁。

因为知识的连贯性,推荐按照瞬息进行学习。目录链接:http://www.chengxiaoxiao.com/bozhu/1336.html

本教程由今日头条-做全栈攻城狮原创首发,转载请注明出处。

求兼职:请联系wx:aiquanzhan

页尾提供github源代码下载地址。

一、项目描述:

众所周知,组成网站的每个页面都是通过HTML进行展示的。我们可以通过在网页右键进行查看源代码。具体查看html源代码。而作为安卓,应该如何获取网页源代码呢?容我慢慢道来。

二、所需技术点:

多线程

网络请求

文件流

三、一起开发

3.1分析:开发网页源代码查看器,主要步骤大约为:根据网址发出请求,解析响应流得到网页源代码,然后把网页源代码显示出来。

3.2前台界面:输入点击获取按钮,自动获取指定网页源代码显示在下方。

贴个代码:

ScrollView:这是个设置垂直滚动条的控件。这样哪怕textView特别大。我们也可以通过向下滑动显示textView的全部内容了。

3.3初始化数据和控件

3.4获取网页源代码,需要进行网络请求操作。而网络请求因网速等原因是非常耗时,安卓在较早版本中支持直接进行网络请求的。后期版本只能通过开启另外的线程进行网络请求了。

所以我们需要。开启新线程。

如何开启新线程:

新线程和UI线程的通信:

UI界面所在的线程和本线程不是在相同的线程,两者不能直接进行通信。必须通过一个Handler进行传递。好比老板都需要一个秘书进行上传下达。Handler就是起了这个作用。

初始化一个Handler:

如何给Handler发送消息?

3.5进行网络请求:

一切准备就绪:开始的啦:

流对象转换为字符串:

当然进行网络请求需要配置权限的:

打开AndroidManifest文件:

最终后台处理代码:

效果:

源代码链接:https://github.com/shellcheng/AndroidHTMLViewer

原创:做全栈攻城狮- WX:aiquanzhan

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业技术】Windows里面如何玩转线程?

我们在编写程序的时候,常常会需要一些线程的delay函数。这个问题说简单也简单,说复杂也复杂。比如很多人读知道delay直接用Windows的API函数Slee...

3514
来自专栏前端杂谈

广告等第三方应用嵌入到web页面方案 之 使用iframe嵌入

5097
来自专栏bboysoul

ubuntu安装kali工具包

网上关于这方面的教程很多,大部分都是关于更换源的,今天我要推荐的方法原理一样,不过比较方便。今天要推荐的脚本是katoolin,它可以近似完美帮我们解决安装ka...

1152
来自专栏张戈的专栏

替代crontab,统一定时任务管理系统cronsun简介

摘 要 cronsun 是一个分布式任务系统,单个节点和 Linux 机器上的 crontab 近似。是为了解决多台 Linux  机器上 crontab 任...

1.8K13
来自专栏Coco的专栏

【前端工具】Chrome 扩展程序的开发与发布 -- 手把手教你开发扩展程序

1553
来自专栏程序员互动联盟

【专业技术】Windows编程技巧小结

我们在编写程序的时候,常常会需要一些线程的delay函数。这个问题说简单也简单,说复杂也复杂。比如很多人读知道delay直接用Windows的API函数Slee...

3625
来自专栏魏艾斯博客www.vpsss.net

宝塔面板和 Nextcloud 搭建私有云/网盘的过程记录

个人或者团队需要属于自己的私有云/网盘存储资料,用于分享用途,大家常用搭建的程序是 owncloud,但是也停止更新了。然后核心团队出来做了一个全新的私有云-N...

1.7K8
来自专栏进击的君君的前端之路

React官方脚手架create-react-app

1523
来自专栏Puppeteer学习

基于puppeteer模拟登录抓取页面

在网站分析行业中,网站热图能够很好的反应用户在网站的操作行为,具体分析用户的喜好,对网站进行针对性的优化,一个热图的例子(来源于ptengine)

84910
来自专栏前端儿

移动前端页面与Chrome的远程真机调试

前几日刚入手新手机小米5,系统真心流畅呀。为啥要买小米5呢,因为要提高生产力呀,好好玩移动前端开发呀哈哈哈

6623

扫码关注云+社区

领取腾讯云代金券