Android实现网络图片查看器和网页源码查看器

本文转载自:http://blog.csdn.net/furongkang/article/details/6820790

Android实现网络图片查看器和网页源码查看器

一.网络图片查看器

清单文件加入网络访问权限:

<!-- 访问internet权限 -->  
<uses-permission android:name="android.permission.INTERNET"/>  

界面如下:


1.源代码如下:    图片地址:http://pic.enorth.com.cn/0/09/27/45/9274518_748007.jpg

public class MainActivity extends Activity {  
    private EditText imagepath;  
    private ImageView imageView;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
          
        imagepath = (EditText) this.findViewById(R.id.imagepath);  
        imageView = (ImageView) this.findViewById(R.id.imageView);  
          
        Button button = (Button) this.findViewById(R.id.button);  
        button.setOnClickListener(new View.OnClickListener() {            
            public void onClick(View v) {  
                String path = imagepath.getText().toString();  
                try{  
                    byte[] data = ImageService.getImage(path);//获取图片数据  
                    if(data!=null){  
                        //构建位图对象  
                        Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);  
                        imageView.setImageBitmap(bitmap);//显示图片  
                    }else{  
                        Toast.makeText(getApplicationContext(), "error", 1).show();  
                    }                     
                }catch (Exception e) {  
                    Toast.makeText(getApplicationContext(), "error", 1).show();  
                }  
            }  
        });  
    }  
}

public class ImageService {  
    /**  
     * 获取图片  
     * @param path 网络图片路径  
     * @return 图片的字节数据  
     */  
    public static byte[] getImage(String path) throws Exception{  
        URL url = new URL(path);  
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
        //设置超时时间5秒  
        conn.setConnectTimeout(5000);  
        conn.setRequestMethod("GET"); 
	//判断是否连接成功,返回结果为200中则成功,失败的话或返回404等 
        if(conn.getResponseCode()==200){  
            InputStream inStream = conn.getInputStream();  
            byte[] data = StreamTool.read(inStream);  
            return data;  
        }  
        return null;  
    }  
}

public class StreamTool {  
    /**  
     * 读取输入流数据  
     * @param inStream  
     * @return  
     */  
    public static byte[] read(InputStream inStream) throws Exception{  
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();  
        byte[] buffer = new byte[1024];  
        int len = 0;  
        while( (len = inStream.read(buffer)) != -1 ){  
            outStream.write(buffer, 0, len);  
        }  
        inStream.close();  
        return outStream.toByteArray();  
    }  
}


二.网页源码查看器

清单文件加入网络访问权限:

<span style="font-family:Microsoft YaHei;"><span style="font-size:18px;"><strong><!-- 访问internet权限 -->  
<uses-permission android:name="android.permission.INTERNET"/>  </strong></span></span>

界面如下:



如果网页的源码超过屏幕的显示位置的话,要求出现滚动条.

<ScrollView  
 android:layout_width="wrap_content"   
 android:layout_height="wrap_content"   
>  
  <TextView    
 android:layout_width="fill_parent"   
 android:layout_height="wrap_content"   
 android:id="@+id/htmlsource"  
 />  
</ScrollView> 

1.源代码如下:

 @Override  
  public void onCreate(Bundle savedInstanceState) {  
      super.onCreate(savedInstanceState);  
      setContentView(R.layout.main);  
      pathText = (EditText) this.findViewById(R.id.path);  
      htmlsource = (TextView) this.findViewById(R.id.htmlsource);  
        
      Button button = (Button) this.findViewById(R.id.button);  
      button.setOnClickListener(new View.OnClickListener() {  
      
    public void onClick(View v) {  
        String path = pathText.getText().toString();  
        try{  
            //获取源码  
            String html = PageService.getHtml(path);  
            htmlsource.setText(html);  
        }catch (Exception e) {  
            Toast.makeText(getApplicationContext(), "error", 1).show();  
        }  
    }  
});  
  } 

public class PageService {  
    /**  
     * 获取网页源代码  
     * @param path 网页路径  
     * @return  
     */  
    public static String getHtml(String path) throws Exception{  
        URL url = new URL(path);  
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
        conn.setConnectTimeout(5000);  
        conn.setRequestMethod("GET");  
        if(conn.getResponseCode() == 200){  
            byte[] data = StreamTool.read(conn.getInputStream());  
            return new String(data, "UTF-8");  
        }  
        return null;  
    }  
} 










  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Eclipse开发Android应用程序,实现网页源码查看器。以下是一个简单的示例代码: MainActivity.java ```java package com.example.webpageviewer; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private WebView webView; private EditText editText; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = findViewById(R.id.webView); editText = findViewById(R.id.editText); button = findViewById(R.id.button); webView.setWebViewClient(new WebViewClient()); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String url = editText.getText().toString(); webView.loadUrl(url); } }); } } ``` activity_main.xml ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter URL" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Go" /> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> ``` 这个示例应用程序包含一个EditText控件和一个Button控件,用于输入URL和导航到网页。WebView控件用于显示网页。在MainActivity中,我们为Button控件添加了一个单击事件侦听器,当单击按钮时,我们使用WebView控件加载输入的URL。我们还将WebView设置为使用WebViewClient,以便在WebView中显示网页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值