Android 网络图片查看器与网页源码查看器
发布时间 - 2026-01-11 00:53:59 点击率:次在AndroidManifest.xml里面先添加权限访问网络的权限:

<uses-permission android:name="android.permission.INTERNET"/>
效果图如下:
下面是主要代码:
package com.hb.neting;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
private ImageView iv_show;
private EditText et_input;
private String path;
private int code;
private HttpURLConnection conn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_show=(ImageView) findViewById(R.id.iv_show);
et_input=(EditText) findViewById(R.id.et_inpput);
}
@SuppressLint("ShowToast") public void chakan(View view){
path = et_input.getText().toString().trim();
if (TextUtils.isEmpty(path)) {
Toast.makeText(MainActivity.this, "不能输入空的", 0).show();
return;
}
new Thread(){
public void run() {
try {
URL url = new URL(path);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
code = conn.getResponseCode();
if(code==200){
InputStream in = conn.getInputStream();
//解析图片
final Bitmap stream = BitmapFactory.decodeStream(in);
runOnUiThread(new Runnable() {
public void run() {
//更新UI
iv_show.setImageBitmap(stream);
}
});
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
}
这是xml的布局:
<LinearLayout 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" android:orientation="vertical" > <EditText android:id="@+id/et_inpput" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入获取图片的地址:" /> <Button android:id="@+id/bt_read" android:onClick="chakan" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="查看" /> <ImageView android:id="@+id/iv_show" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
源码: http://pan.baidu.com/s/1bp6EwyF
接着看一下网页源码查看器的小案例:
既然都涉及到网络的添加一个如上的网络权限是必不可少的了,具体操做如上所示,先看效果图:
主要代码:
package com.hb.network;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.hb.utils.ReadStreamUtils;
public class MainActivity extends Activity {
protected static final int SUCESS = 0;
protected static final int EORR = 1;
private TextView tv_show;
private EditText et_input;
private URL url;
private String path;
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case SUCESS:
String content=(String) msg.obj;
tv_show.setText(content);
break;
case EORR:
Toast.makeText(MainActivity.this,"查看源码失败" , 0).show();
break;
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_show=(TextView) findViewById(R.id.tv_show);
et_input=(EditText) findViewById(R.id.et_input);
}
public void onclick(View view){
path = et_input.getText().toString().trim();
if(TextUtils.isEmpty(path)){
return;
}new Thread(){
public void run() {
try {
url = new URL(path);
//判断从EditText获取的数据否为空
if(TextUtils.isEmpty(path)){
return;
}
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(3000);
conn.setRequestMethod("GET");
int code = conn.getResponseCode();
if(code == 200){
InputStream is= conn.getInputStream();
String content = ReadStreamUtils.Read(is);
Message msg = new Message();
msg.what=SUCESS;
msg.obj=content;
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
Message msg = new Message();
msg.what=EORR;
handler.sendMessage(msg);
}
};
}.start();
}
}
package com.hb.utils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class ReadStreamUtils {
/**
* 读取流的输入
* @param is
* @return
* @throws IOException
*/
public static String Read(InputStream is) throws IOException{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int len;
byte [] buffer=new byte[1024];
while((len=is.read(buffer))!=-1){
bos.write(buffer,0,len);
}
is.close();
bos.close();
String temp = bos.toString();
if(temp.contains("charset=utf-8")){
return bos.toString("utf-8");
}else if(temp.contains("charset=iso-8859-1")){
return bos.toString("iso-8859-1");
}
return null;
}
}
及xml布局:
<LinearLayout 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"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入要查看源码的网址:" />
<Button
android:onClick="onclick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查看"
android:textSize="25sp" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_show"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</ScrollView>
</LinearLayout>
源码: http://pan.baidu.com/s/1bp6EwyF
http://pan.baidu.com/s/1c2H1JlI
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# android源码查看器
# 网页源码查看器
# android
# 网络图片查看器
# android查看网络图片的实现方法
# Android图片处理教程之全景查看效果实现
# Android仿百度图片查看功能
# Android 简单的图片查看器源码实现
# android自定义Camera拍照并查看图片
# Android 通过网络图片路径查看图片实例详解
# android网络图片查看器简单实现代码
# Android 实现WebView点击图片查看大图列表及图片保存功能
# Android实现图片查看功能
# 请输入
# 这是
# 所示
# 看一下
# 涉及到
# 必不可少
# 先看
# 权限访问
# 为空
# 查看器
# protected
# void
# savedInstanceState
# super
# setContentView
# onCreate
# et_input
# String
# private
# iv_show
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器部署网站为何提示未备案?
如何在IIS7上新建站点并设置安全权限?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Laravel如何处理文件下载请求?(Response示例)
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
三星网站视频制作教程下载,三星w23网页如何全屏?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何在企业微信快速生成手机电脑官网?
手机网站制作与建设方案,手机网站如何建设?
如何在建站之星绑定自定义域名?
canvas 画布在主流浏览器中的尺寸限制详细介绍
如何用景安虚拟主机手机版绑定域名建站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
在线制作视频的网站有哪些,电脑如何制作视频短片?
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel用户密码怎么加密_Laravel Hash门面使用教程
如何快速生成专业多端适配建站电话?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何挑选高效建站主机与优质域名?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Python图片处理进阶教程_Pillow滤镜与图像增强
phpredis提高消息队列的实时性方法(推荐)
Laravel如何处理表单验证?(Requests代码示例)
香港网站服务器数量如何影响SEO优化效果?
浅谈redis在项目中的应用
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel怎么在Blade中安全地输出原始HTML内容
如何用IIS7快速搭建并优化网站站点?
如何用腾讯建站主机快速创建免费网站?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
nginx修改上传文件大小限制的方法
如何快速搭建自助建站会员专属系统?
Android 常见的图片加载框架详细介绍
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
html5的keygen标签为什么废弃_替代方案说明【解答】
如何在阿里云ECS服务器部署织梦CMS网站?
微信小程序 五星评分(包括半颗星评分)实例代码
制作企业网站建设方案,怎样建设一个公司网站?
如何在香港服务器上快速搭建免备案网站?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel如何实现文件上传和存储?(本地与S3配置)

