android学习笔记16-------Android实现网络图片与html源码获取
3095 点击·0 回帖
![]() | ![]() | |
![]() | 获取指定网址的图片: ![]() ![]() 获取指定网址的html源码,这里是搜狐的网址举例。 ![]() MainActivity [java] 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.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()); } }); } } [java] 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.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(); } }); } } [java] 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; } } 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 [java] <?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> <?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 [java] <?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> <?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> [java] <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> | |
![]() | ![]() |