前言

大家好,给大家带来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知识点,有兴趣可以继续关注

Android开发工程师文集-Android知识点讲解的更多相关文章

  1. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  2. Android开发工程师文集-相关控件的讲解,五大布局

    前言 大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢 TextView控件 TextView控件有哪些属性: android:id->控件的id a ...

  3. Android开发工程师文集-layout_weight讲解

    前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...

  4. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  5. Android开发工程师文集-1 小时学会Widget小组件开发

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢 学会用Widget (小组件) Widget小组件很方便,很快捷,可以个性化,自己定制,相 ...

  6. Android开发工程师文集-1 小时学会各种Drawable

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...

  7. Android开发工程师文集-1 小时学会SQLite

    前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...

  8. Android开发工程师文集-提示框,菜单,数据存储,组件篇

    提示框,菜单,数据存储,组件篇 Toast Toast.makeText(context, text, 时间).show(); setDuration();//设置时间 setGravity();// ...

  9. 帮朋友急招PHP、Android开发工程师 西安 工资8k-12k

    PHP高级工程师岗位要求: 1. 有两年以上PHP开发经验, 2. 精通PHP+MySQL程序设计及开发,拥有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低. 3. 熟悉面向对象的软件 ...

随机推荐

  1. 浅谈MyBatisGenerator的使用

    目录 1.概述 2.依赖 3.Maven插件配置 4.配置文件说明 5.运行 6.总结 1.概述 日常中使用MyBatis最为麻烦的就是编写Mapper文件了, 如果数据库增加一张表, 这时通常会复制 ...

  2. CheckBox获取一组及全选

    获取一组CheckBox: jQuery: $(function () { $("input[name=names]").click(function () { //获得所有的na ...

  3. Secondary Indices

    [Secondary Indices] EOSIO has the ability to sort tables by up to 16 indices.  A table's struct cann ...

  4. Java虚拟机 垃圾收集器与内存分配策略

    说起GC,我们要思考的主要有三件事 哪些内存需要回收 那些已经“死去”的对象,那么哪些对象“死”,哪些对象“活”呢,有个简单的办法 引用计数法,但是没法解决循环依赖问题 所以Java虚拟机采用的是可达 ...

  5. netty(二) 创建一个netty服务端和客户端

    服务端 NettyServer package com.zw.netty.config; import com.zw.netty.channel.ServerInitializer;import io ...

  6. Unity 2018 By Example 2nd Edition

    Unity is the most exciting and popular engine used for developing games. With its 2018 release, Unit ...

  7. PEiD中识别虚拟地址和物理地址

    可通过PEiD中的信息计算文件偏移地址,从而修改PE文件的关键内容,达到破解目的. 文件偏移地址=相对虚拟地址-节偏移. PEiD中有: 节偏移=虚拟地址VOffset-物理地址ROffset.  

  8. 安装fftw到window(vs2010)及使用fftw库函数实现4096点fft变换计算

    Windows下FFTW库的安装: 1. 从网站http://www.fftw.org/install/windows.html上下载最新的预编译文件:    32-bit version: fftw ...

  9. Python练习-高阶函数-2018.12.03

    1.函数式编程的概念 在计算机的层次上,CPU执行的是加减乘除的指令代码,以及各种条件判断和跳转指令,所以,汇编语言是最贴近计算机的语言. 而计算则指数学意义上的计算,越是抽象的计算,离计算机硬件越远 ...

  10. mybatis多表关联

    1.比如我有两个一个是菜单表t_menu,一个是权限表t_jurisdiction.表结构如下: 2.我想要将这两个表关联,查询特定的role_id下的菜单情况,这也是我们经常用在权限管理系统中的做法 ...