android基础---网页源码查看器

 

<?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="@string/path"

    />

<EditText

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="http://192.168.1.131:8080/videonews/index.jsp"

    android:id="@+id/path"

    />

<Button 

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="@string/button"

    android:id="@+id/button"

/>

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

</LinearLayout>



public class MainActivity extends Activity {

       private EditText pathText;

       private TextView htmlSource;

      

    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 {

                                   //service方法:根据路径获取网页

                                   String html = PageService.getHtml(path);

                                   htmlSource.setText(html);

                            } catch (Exception e) {

                                   Toast.makeText(getApplicationContext(), R.string.error, 1).show();

                            }

                     }

              });

    }

}


public class PageService {

    /**

     * 获取网页源代码

     * @param path

     * @return

     * @throws MalformedURLException

     */

    public static String getHtml(String path) throws Exception {

       //获取URL对象

       URL url = new URL(path);

       //获得链接

       HttpURLConnection connection = (HttpURLConnection) url.openConnection();

       //设置链接超时时间

       connection.setReadTimeout(5000);

       //设置请求方法

       connection.setRequestMethod("GET");

       //取得输入流对象

       if(connection.getResponseCode()==200){

           byte[] data = StreamTool.read(connection.getInputStream());

           //二进制数据转字符串

           return new String (data,"UTF-8");

       }

       return null;

    }

 

}


用到上一个项目中的工具类StreamTool.read

不要忘了加权限

<!-- 访问internet权限 -->

    <uses-permission android:name="android.permission.INTERNET"/>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值