前言

大家好,给大家带来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. python入门学习1

    实学习每一种语言,都可以找到很快乐的学习方法.有兴趣,有乐趣,才会一直想学.知道print().input().if/else就可以做一个简陋的游戏了. print() # 打印函数,将信息打印出来 ...

  2. phpstorm 不能自动打开上次的历史文件

    问题产生的原因:可能是电脑非正常关机,导致phpstrom 无法正常关闭. 一开始我以为是配置上那里出现了问题,所以直接就把配置删除了,然后生成了默认配置.发现还是无法解决问题.然后一个个配置查阅过去 ...

  3. vivo手机,自带世界之窗浏览器,sessionStorage设置的值为null

    最近遇到一个小问题 用vivo手机自带浏览器,每次跳转到一个新页面都是重新打开一个webpage,导致sessionStorage设置的值都没了. 所以开发移动端网页时,谨慎使用sessionStor ...

  4. python 模块定义导入

    1.定义模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是:.py结尾的python文件(文件名:test.py,对应的模块名:test)包:本质就是一个目录(必须 ...

  5. [剑指Offer]36-二叉搜索树与双向链表

    链接 https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPa ...

  6. Java 基础之--注解Annotation详解

    自定义注解入门: public @interface Annotation01 { //set default value ""; String value() default & ...

  7. abp xunit Can not register IHostingEnvironment. It should be a non-abstract class. If not, it should be registered before.”

    在测试项目的ServiceCollectionRegistrar类提前注册.

  8. ELK+SpringBoot+Logback离线安装及配置

    ELK+SpringBoot+Logback 离线安装及配置 版本 v1.0 编写时间 2018/6/11 编写人 xxx     目录 一. ELK介绍2 二. 安装环境2 三. Elasticse ...

  9. kubernetes namespace Terminating

    1.kubectl get namespace annoying-namespace-to-delete -o json > tmp.jsonthen edit tmp.json and rem ...

  10. Linux环境下java开发环境搭建一 JDK搭建

    第一步:下载jdk压缩文件 第二步:上传到家目录下的soft目录下,可以采用winscp,此处下载的是.tar.gz文件 第三步:解压压缩文件,并在/usr/local目录下创建一个jdk7的目录,并 ...