Android开发课程实验报告③ intent的使用

Android开发课程实验报告③ intent的使用,第1张

概述Android开发课程实验报告@author:065实验四:intent实验报告目录Android开发课程实验报告实验目的具体实验分析内容一:获取URL地址并启动隐式intent的调用内容二:编写一个自定义WebView供用户选择实验总结实验目的初学移动应用公开发中的Android开发,实验四的主要内容为in AndroID开发课程实验报告

@author:065

实验四:intent

实验报告目录Android开发课程实验报告实验目的具体实验分析内容一:获取URL地址并启动隐式intent的调用内容二:编写一个自定义WebView供用户选择实验总结

实验目的

初学移动应用公开发中的AndroID开发,实验四的主要内容为intent的使用,通过这一次实验,掌握基本的intent使用方法。

具体实验分析

实验第一步:阅读官方文档:intent
实验解析:本次实验共分为两个部分。第一个部分是完成一个获取URL地址并启动隐式intent的调用的内容,另一个部分就是自己编写一个自定义WebVIEw,然后选择用这个自定义的WebVIEw来加载网页。

内容一:获取URL地址并启动隐式intent的调用

简单来说这部分的内容就是访问用户输入在EditVIEw上的网址(采用隐式intent调用)
这部分还是比较简单的,上逻辑代码:

btn_2.setonClickListener(new VIEw.OnClickListener(){            public voID onClick(VIEw v){                EditText et = findVIEwByID(R.ID.et_1);                String n;                n = et.getText().toString();                Intent loaDWeb = new Intent();                loaDWeb.setAction(Intent.ACTION_VIEW);                loaDWeb.setData(Uri.parse(n));                startActivity(loaDWeb);            }        });

输入网址后调用系统自带的浏览器访问:

内容二:编写一个自定义WebVIEw供用户选择

这一部分的内容,我们首先要自定义一个WebVIEw,然后再运行上一部分我们完成的应用来选择这里写好的自定义WebVIEw打开指定网址。
为了更加方便地进行测试,我直接在上一个应用里增加了一个按钮用来测试自定义WebVIEw的一些属性或者方法是否编写正确,如图:


下面介绍自定义WebVIEw的写法(这里参考了一些网上增加进度条的资料,由于查阅资料很多,所以具体搞不清楚来自哪里):

public class demoWebVIEw extends WebVIEw {    public demoWebVIEw(Context context, AttributeSet attrs) {        super(context,attrs);        // 创建进度条        Progressbar pb = new Progressbar(context,null,androID.R.attr.progressbarStyleHorizontal);        // 设置位置参数        pb.setLayoutParams(new VIEwGroup.LayoutParams(VIEwGroup.LayoutParams.MATCH_PARENT,3));        addVIEw(pb);        //设置内部加载器        setWebChromeClIEnt(new MyWebChromeClIEnt(context,pb));        setWebVIEwClIEnt(new MyWebVIEwClIEnt());    }    public class MyWebChromeClIEnt extends WebChromeClIEnt {        private Context context;        private Progressbar progressbar;        public MyWebChromeClIEnt(Context context, Progressbar progressbar){            this.context = context;            this.progressbar = progressbar;        }        //监听进度的回调        @OverrIDe        public voID onProgressChanged(WebVIEw vIEw, int newProgress) {            if(newProgress == 100){                progressbar.setVisibility(VIEw.GONE);            }else{                if(progressbar.getVisibility() == VIEw.GONE){                    progressbar.setVisibility(VIEw.VISIBLE);                    progressbar.setProgress(newProgress);                }            }            super.onProgressChanged(vIEw, newProgress);        }    }    public class MyWebVIEwClIEnt extends WebVIEwClIEnt {        @OverrIDe        public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, WebResourceRequest request) {            vIEw.loadUrl(request.getUrl().toString());            return true;        }    }}

注意: 自定义WebVIEw记得改intent-filter。

            <intent-filter>                <action androID:name="androID.intent.action.VIEW" />                <category androID:name="androID.intent.category.DEFAulT" />                <data androID:scheme="http" />            </intent-filter>

接着编写主要的逻辑代码:

public class MainActivity extends AppCompatActivity {    private demoWebVIEw DW;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        Intent getInfo = getIntent();        Uri uri = getInfo.getData();        URL url = null;        try {            url = new URL(uri.getScheme(), uri.getHost(),                    uri.getPath());        } catch (Exception e) {            e.printstacktrace();        }        DW = findVIEwByID(R.ID.webVIEw);        DW.getSettings().setJavaScriptEnabled(true);        DW.loadUrl(url.toString());    }}

代码解析如下:
首先我们通过intent从上一个Activity获取需要访问的地址,将它转换成url,再通过编写好的代码访问。
效果图:



实验总结这学期刚开始接触移动应用开发,由浅入深,相信以后的实验会有更多值得写的内容,这一次的实验还是有很多内容值得自己去挖掘细节的知识点,通过查阅网上的资料以及老师上课的PPT,还是可以很容易地掌握这一节的内容。同步更新至CSDN,仅作实验记录之用。加油! 总结

以上是内存溢出为你收集整理的Android开发课程实验报告③ intent的使用全部内容,希望文章能够帮你解决Android开发课程实验报告③ intent的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存