在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
相关文章:
如何快速搭建高效WAP手机网站吸引移动用户?
网站制作壁纸教程视频,电脑壁纸网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
定制建站流程解析:需求评估与SEO优化功能开发指南
如何续费美橙建站之星域名及服务?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
制作公司内部网站有哪些,内网如何建网站?
如何在Windows虚拟主机上快速搭建网站?
C++如何使用std::optional?(处理可选值)
,网站推广常用方法?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
大连 网站制作,大连天途有线官网?
ppt制作免费网站有哪些,ppt模板免费下载网站?
免费网站制作appp,免费制作app哪个平台好?
建站之星安装步骤有哪些常见问题?
制作网站的公司有哪些,做一个公司网站要多少钱?
七夕网站制作视频,七夕大促活动怎么报名?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
如何在西部数码注册域名并快速搭建网站?
如何快速搭建响应式可视化网站?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
济南企业网站制作公司,济南社保单位网上缴费步骤?
如何在云指建站中生成FTP站点?
如何挑选高效建站主机与优质域名?
清除minerd进程的简单方法
文字头像制作网站推荐软件,醒图能自动配文字吗?
5种Android数据存储方式汇总
高防服务器租用如何选择配置与防御等级?
建站之星后台管理:高效配置与模板优化提升用户体验
如何快速搭建FTP站点实现文件共享?
行程制作网站有哪些,第三方机票电子行程单怎么开?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何确保西部建站助手FTP传输的安全性?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
建站之星客服服务时间及联系方式如何?
装修招标网站设计制作流程,装修招标流程?
如何用搬瓦工VPS快速搭建个人网站?
音乐网站服务器如何优化API响应速度?
如何在IIS中新建站点并配置端口与物理路径?
如何通过IIS搭建网站并配置访问权限?
,网页ppt怎么弄成自己的ppt?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
一键网站制作软件,义乌购一件代发流程?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何使用Golang table-driven基准测试_多组数据测量函数效率
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
如何在阿里云服务器自主搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。