成都网站建设设计

将想法与焦点和您一起共享

android实现网页源码查看器

android实现网页源码查看器。思路是,先把组件设计好,然后编写java代码来实现整个流程。主要通过实现网页源码查看器的过程,来理解handle的流程。

成都创新互联-专业网站定制、快速模板网站建设、高性价比清徐网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式清徐网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖清徐地区。费用合理售后完善,十多年实体公司更值得信赖。

第一部分:

以上图片是组件的代码。

第二部分:

public class MainActivity extends AppCompatActivity {

    private EditText et_url;

    private button btn_show;

    private TextView tv_code;

    private Handler handler = new Handler(){

        @Override

        public void handleMessage(@NonNull Message msg) {

           String temp = (String) msg.obj;

           tv_code.setText(temp);

        }

    };

    @Override

    protected void onCreate(bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        et_url = (EditText) findViewbyId(R.id.et_url);

        btn_show = (button) findViewbyId(R.id.btn_show);

        tv_code = (TextView) findViewbyId(R.id.tv_code);

        btn_show.setOnClickListener(new MyonClicklistener());

    }

    private class MyonClicklistener implements View.OnClickListener {

        @Override

        public void onClick(View v){

            new Thread(){

              public void run(){

                  String path = et_url.getText().toString().trim();

                  URL url = null;

                  try {

                      url = new URL(path);

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

                      connection.setRequestMethod("GET");

                      connection.setConnectTimeout(10000);

                      int code = connection.getResponseCode();

                      if(code==200){

                          InputStream inputStream = connection.getInputStream();

                          String result = Utils.getStringFromStream(inputStream);

                          Message msg = new Message();

                          msg.obj=result;

                          handler.sendMessage(msg);

                          //tv_code.setText(result);

                      }

                  } catch (Exception e) {

                      e.printStackTrace();

                  }

              }

            }.start();

        }

    }

}

这个代码是main的代码,还需要一个类,

public class Utils {

    public static String getStringFromStream(InputStream inputStream) throws IOException {

        byteArrayOutputStream baso = new byteArrayOutputStream();

        int len = -1;

        byte[] buffer = new byte[1024];

        while((len = inputStream.read(buffer))!=-1){

            baso.write(buffer, 0, len);

        }

        inputStream.close();

        byte[] byteArray = baso.tobyteArray();

        return new String(byteArray);

    }

}

这个图片是运行结果图片。

一共需要这两个类。

总结,在郑州app开发中,尤其需要注意:

1、联网必须在子线程中操作。

2、子线程不能修改UI,修改UI必须在主线程进行。


分享标题:android实现网页源码查看器
标题网址:http://chengdu.cdxwcx.cn/article/scdhsp.html