Android复习05【网络编程---WebView获取文章信息、保存用户名与密码、设置菜单样式、收藏文章列表】

   日期:2020-05-24     浏览:159    评论:0    
核心提示:网络访问-思维导图玩Android网站---查看登录Cookie适配器相关设置点击文章列表-进行页面跳转WebView布局控件给ListView添加点击事件处理---传递页面链接在ReadActivity中接收参数在WebView中打开链接WebView无法加载---更换镜像隐藏标题栏效果展示登录成功---保存用户名、密码【可能要考】自动登录强制登录不登录,不许使用App添加菜单新建菜单文件夹添加 菜单资源设置菜单样式设置菜单图标收藏文章列表服务器端收藏文章移动开发

2020-04-02-星期四【源码可私聊我,QQ:386335886】

写篇文章不容易再走吧,求求了

目   录

网络访问-思维导图

玩Android网站---查看登录Cookie

适配器相关设置

点击文章列表-进行页面跳转

WebView布局控件

给ListView添加点击事件处理---传递页面链接

在ReadActivity中接收参数

在WebView中打开链接

WebView无法加载---更换镜像

隐藏标题栏

效果展示

登录成功---保存用户名、密码【可能要考】

自动登录

强制登录

不登录,不许使用App

添加菜单

新建菜单文件夹

添加 菜单资源

设置菜单样式

设置菜单图标

收藏文章列表

服务器端收藏文章

网络访问-思维导图

https://share.weiyun.com/1vVLYnlb

玩Android网站---查看登录Cookie

网 址 https://wanandroid.com

postman 接口、测试、工具

适配器相关设置

点击文章列表-进行页面跳转

WebView布局控件

给ListView添加点击事件处理---传递页面链接

在ReadActivity中接收参数

strUrl = getIntent().getStringExtra("link");

在WebView中打开链接

package cn.wangzg.course0602;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.view.Window;
import android.webkit.SslErrorHandler;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class ReadActivity extends AppCompatActivity {
    private WebView wvRead;
    private String strUrl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_read);

        strUrl = getIntent().getStringExtra("link");

        initView();
    }

    @SuppressLint("SetJavaScriptEnabled")
    private void initView() {
        wvRead = findViewById(R.id.wvRead);
        //加载一个网页

//        //声明WebSettings子类
//
//        WebSettings webSettings = wvRead.getSettings();
//        //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
//        webSettings.setJavaScriptEnabled(true);
//        //设置自适应屏幕,两者合用
//        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
//        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
//        //缩放操作
//        webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
//        webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放
//        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件
//        //其他细节操作
//        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
//        webSettings.setAllowFileAccess(true); //设置可以访问文件
//        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
//        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
//        webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式

//        // android 5.0以上默认不支持Mixed Content
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            wvRead.getSettings().setMixedContentMode(
//                    WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
//        }


        //重写shouldOverrideUrlLoading()方法,使得打开网页时不调用系统浏览器, 而是在本WebView中显示
        wvRead.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        wvRead.getSettings().setJavaScriptEnabled(true);  //设置WebView属性,运行执行js脚本
        wvRead.loadUrl(strUrl);

    }
}

WebView无法加载---更换镜像

隐藏标题栏

菜鸟教程 :https://www.runoob.com/w3cnote/android-tutorial-activity-start.html 【貌似没有!】

<activity android:name=".ReadActivity"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"></activity>

效果展示

登录成功---保存用户名、密码【可能要考】

  1. 判断是否保存 ---> 需要保存
  2. 打开登录窗口时,获取保存的值(如果值存在!)

//登录成功,是否保存用户名和密码
if (cbRem.isChecked()) {
    SharedPreferences sp = getSharedPreferences("wan", MODE_PRIVATE);
    SharedPreferences.Editor edit = sp.edit();
    edit.putString("name", name);
    edit.putString("pwd", pwd);
    edit.putBoolean("isRem", true); // 是否记住密码
    edit.commit();
}

SharedPreferences sp = getSharedPreferences("wan", MODE_PRIVATE);
String name = sp.getString("name", "");
String pwd = sp.getString("pwd", "");
boolean isRem = sp.getBoolean("isRem", false);
etName.setText(name);
etPwd.setText(pwd);
cbRem.setChecked(isRem);

自动登录

  1. 登录窗口 不作为 启动窗口;
  2. WanListActivity作为启动Activity,启动时获取用户名与密码,然后登录;
  3. 登录成功,重新获取资源【 getData() 】。

强制登录

不登录,不许使用App

添加菜单

菜鸟教程---菜单

https://www.runoob.com/w3cnote/android-tutorial-menu.html

新建菜单文件夹

添加 菜单资源

设置菜单样式

设置菜单图标

收藏文章列表

服务器端收藏文章

https://wanandroid.com/blog/show/2 

最好封装成方法【传递Id参数】 

写篇文章不容易,再走吧,求求了~ 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服