• Android开发工程师文集-Android知识点讲解


    前言

    大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢

    WebView讲解

    一般通过Intent调用系统的浏览器:

    Uri uri = Uri.parse(url);
    Intent intent = new Intent(Intent.ACTION_VIEW,uri);
    startActivity(intent);
    

    什么是WebView,其实单词的字面理解就可以了,可以知道Android中提供了这个元素来显示页面。

    接下来,需要你创建布局文件,关于WebView的即可:

    <WebView
     android:id="@+id/WebView"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
    </WebView>
    

    如果用到WebView,就要用到loadUrl()的方法来进行调用,加载我们所需的页面。这个方法可以调用web资源,也可以调用本地我们直接写好的资源。

    1. webView.loadUrl("http://janshu.com");
    2. webView.loadUrl("本地资源");
    3. webView.requestFocus();
    

    这个是什么意思呢,表示直接打开

    webView.setWebViewClient(new WebViewClient());

    public boolean shouldOverrideUrlLoading(WebView view,String url){
     view.loadUrl(url);
     return true;
    }
    

    使用Javascript打开

    WebView webView = findViewById(R.id.webview);
    WebSttings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    

    了解一下onKeyDown()的方法,进行退出程序:

    public boolean onKeyDown(int keyCode, keyEvent event){
     if(keyCode==KeyEvent.KEYCODE_BACK){
      if(webView.canGoBack()){
       webView.goBack();
       return true;
      }
      else
      {
        System.exit(0);//退出程序
       }
      }
     return super.onKeyDown(keyCode, event);
    }
    

    用下面的来显示加载过程:

    setWebChromeClient()->new WebChromeClient()

    ProgressDialog

    开启进度条的显示:

    private void openDialog(int newProgress){
     if(dialog==null){
      dialog=new ProgressDialog(MainActivity.this);
      dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTL);
      dialog.setProgress(newProgress);
      dialog.show();
      }
       else{
        dialog.setProgress(newProgress);
    }
    

    关闭进度条:

    private void closeDialog(){
     if(dialog!=null&&dialog.isShowing()){
      dialog.dismiss();
      dialog=null;
      }
    }
    

    Fragment

    FragmentManager fragmentManager = getFragmentManager();
    FragementTransaction beginTransaction = fragmentManager.beginTransaction();
    

    动态是最常用的,可以通过add(),remove(),replace(),commit(),addToBackStack()的方法处理Fragment

    Fragment的生命周期

    它的生命周期会受到Activity的影响

    启动Fragment:

    onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()

    关掉:

    onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
    onPause()->onStop()

    重启:

    onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
    onPause()->onStop()
    onStart()->onResume()

    启动第二个Fragment:

    onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()->onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()

    顶部导航

    ViewPager

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:layout_gravity="center"/>
    

    如果觉得不错,那就点个赞吧!❤️

    总结

    • Android开发工程师文集-Android知识点讲解-记录美好生活,如果您还有更好地理解,欢迎沟通
    • 定位:分享 Android&Java知识点,有兴趣可以继续关注
  • 相关阅读:
    Serverless 时代下大规模微服务应用运维的最佳实践
    Dubbo 跨语言调用神兽:dubbo-go-pixiu
    Flink 1.12 资源管理新特性回顾
    [JDBC] Kettle on MaxCompute 使用指南
    AI运动:阿里体育端智能最佳实践
    MaxCompute非事务表如何更新数据
    如何利用云原生技术构建现代化应用
    实时数仓入门训练营:实时计算 Flink 版 SQL 实践
    实时数仓入门训练营:基于 Apache Flink + Hologres 的实时推荐系统架构解析
    Flink + Iceberg + 对象存储,构建数据湖方案
  • 原文地址:https://www.cnblogs.com/dashucoding/p/9281319.html
Copyright © 2020-2023  润新知