android学习笔记16--------------Android实现网络图片与html源码获取

获取指定网址的图片:

 

获取指定网址的html源码,这里是搜狐的网址举例。

 

MainActivity

package com.luku.netImage;

import com.luku.Junit.testJunit;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity
{
	Button getImagebutton;
	EditText imagePatheditText;
	ImageView imageView;
	Button exitbButton;
	Button gethtml;
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		getImagebutton=(Button)findViewById(R.id.getImage);
		gethtml=(Button)findViewById(R.id.gethtml);
		exitbButton=(Button)findViewById(R.id.exit);
		imagePatheditText=(EditText)findViewById(R.id.ImagePath);
		imageView=(ImageView)findViewById(R.id.imageView);
		
		getImagebutton.setOnClickListener(new OnClickListener()
		{			
			@Override
			public void onClick(View v)
			{
				try
				{
					byte[] data=testJunit.testGetImage(imagePatheditText.getText().toString());
					Bitmap bm=BitmapFactory.decodeByteArray(data, 0, data.length);
					imageView.setImageBitmap(bm);
				} catch (Exception e)
				{
					Toast.makeText(MainActivity.this, "获取图片失败", Toast.LENGTH_SHORT);
				}
				
			}
		});
		
		gethtml.setOnClickListener(new OnClickListener()
		{			
			@Override
			public void onClick(View v)
			{
				Intent intent=new Intent(MainActivity.this, SecondActivity.class);
				MainActivity.this.startActivity(intent);
			}
		});
		
		exitbButton.setOnClickListener(new OnClickListener()
		{
			
			@Override
			public void onClick(View v)
			{
				android.os.Process.killProcess(android.os.Process.myPid());
				
			}
		});
		
	}
}

 

package com.luku.netImage;

import com.luku.Junit.testJunit;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class SecondActivity extends Activity
{
	Button backbButton;
	TextView htmlTextView;
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.second);
		
		backbButton=(Button)findViewById(R.id.back);
		htmlTextView=(TextView)findViewById(R.id.htmlView);
		try
		{
			htmlTextView.setText(new String(testJunit.testGetHtml()));
		} catch (Exception e)
		{
			e.printStackTrace();
		}
		
		backbButton.setOnClickListener(new OnClickListener()
		{
			
			@Override
			public void onClick(View v)
			{
				SecondActivity.this.finish();
				
			}
		});
	}
	
}

 

package com.luku.Junit;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class testJunit
{
	/**
	 * 读取数据
	 * @param inputStream
	 * @return
	 * @throws Exception
	 */
	public static byte[] readStream(InputStream inputStream) throws Exception
	{
		byte[] buffer=new byte[1024];
		int len=-1;
		ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
		
		while((len=inputStream.read(buffer))!=-1)
		{
			byteArrayOutputStream.write(buffer,0,len);
		}
		
		inputStream.close();
		byteArrayOutputStream.close();
		return byteArrayOutputStream.toByteArray();
	}
	
	/**
	 * 获取网上图片
	 * @throws Exception
	 */
	public static byte[] testGetImage(String path) throws Exception
	{
		URL url=new URL(path);
		HttpURLConnection conn=(HttpURLConnection)url.openConnection();
		conn.setConnectTimeout(6*1000);  //设置链接超时时间6s
		conn.setRequestMethod("GET");

		if(conn.getResponseCode()==200)
		{
			InputStream inputStream=conn.getInputStream();
			return readStream(inputStream);
		}
		return null;
	}
	
	/**
	 * 获取网址的html
	 * @throws Exception
	 */
	public static byte[] testGetHtml() throws Exception
	{
		String urlpath="http://www.sohu.com/";
		URL url=new URL(urlpath);
		HttpURLConnection conn=(HttpURLConnection)url.openConnection();
		conn.setConnectTimeout(6*1000);  //设置链接超时时间6s

		conn.setRequestMethod("GET");

		if(conn.getResponseCode()==200)
		{
			InputStream inputStream=conn.getInputStream();
			byte[] data=readStream(inputStream);
			return data;
		}
		return null;
	}
}

 

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="图片路径"
    android:textSize="20sp"
    />
<EditText 
	android:layout_width="match_parent" 
	android:id="@+id/ImagePath" 
	android:layout_height="wrap_content" 
	android:text="http://avatar.csdn.net/C/9/A/1_yf210yf.jpg"></EditText>
<LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent">
    <Button 
    		android:text="获取图片" 
    		android:layout_width="wrap_content" 
    		android:id="@+id/getImage" android:layout_height="wrap_content"></Button>
    		
    <Button 
    		android:text="获取html源码" 
    		android:id="@+id/gethtml" 
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content"></Button>
    		
</LinearLayout>
	
<ImageView 
	android:id="@+id/imageView" 
	android:layout_height="wrap_content" 
	android:layout_width="wrap_content"></ImageView>
<Button 
	android:text="退出" 
	android:id="@+id/exit" 
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content"></Button>
	
</LinearLayout>

 

second.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
      <Button 
    	android:text="返回" 
    	android:id="@+id/back" 
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content"></Button>
    <ScrollView
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content">
    <TextView 
    	android:id="@+id/htmlView" 
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content"></TextView>
    </ScrollView>	
  

	
</LinearLayout>

 

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.luku.netImage"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

		<activity android:name=".SecondActivity"
                  android:label="@string/app_name">
                  
             </activity>

    </application>
</manifest>

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值