当前位置:操作系统 > 安卓/Android >>

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

网络图片查看器

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

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

界面如下:

 \

示例:


view plain
<span style="FONT-WEIGHT: normal">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(), R.string.error, 1).show(); 
                    }                    
                }catch (Exception e) { 
                    Toast.makeText(getApplicationContext(), R.string.error, 1).show(); 
                } 
            } 
        }); 
    } 
}</span> 
view plain
<span style="FONT-WEIGHT: normal">public class ImageService { 
    /** 
     * 获取图片 
     * @param path 网络图片路径 
     * @return 图片的字节数据 
     */ 
    public static byte[] getImage(String path) throws Exception{ 
        URL url = new URL(path); 
        HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
        //设置超时时间 
        conn.setConnectTimeout(5000); 
        conn.setRequestMethod("GET"); 
        if(conn.getResponseCode()==200){ 
            InputStream inStream = conn.getInputStream(); 
            byte[] data = StreamTool.read(inStream); 
            return data; 
        } 
        return null; 
    } 
}</span> 
view plain
<span style="FONT-WEIGHT: normal">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> 


网页源码查看器

 

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

view plain
<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> 

界面如下:

 \

示例

view plain
  @Override 
  public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      pathText = (EditText) this.findViewById(R.id.path); 
      ht

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,