Kotlin安卓:实现okhttp3持续登录,同步到webview

本文介绍如何使用Kotlin配合OkHttp3实现登录请求,并将登录后的Cookie同步到WebView,以便于实现自动登录功能。通过SharedPreferences保存账号密码,首次启动时自动登录并加载已登录页面。
摘要由CSDN通过智能技术生成

经常用httpclient请求的的情况下,一般就是用jsoup解析,去爬数据,用okhttp3实现cookie的保存。

这里做的是用okhttp3实现登录请求,然后直接将登录后可访问的页面Cookie同步加载到webview里面去。

将账号与密码保存到shareP ····下次打开webview就可以直接访问已登录页面了。

下面开始具体实现步骤:语言:kotlin,库: okhttp3 组件: webview

先看看一个简单的页面:第一次打开弹出一个账户,填写我们需要的账号与密码

保存到:SharedPreferences。下次登录自动调用login方法,利用okhttp3去请求登录页面。

下面会具体讲。

看看代码部分:首先会检查是否添加过账号,添加了就调用登录方法,没有就弹出对话框(这个对话框不可以返回,触摸关闭哦!)

val pr = getSharedPreferences("login_flag", Context.MODE_PRIVATE)
login_flag = pr.getString("login_flag","null")
if(login_flag == "null"){//检查是否添加过账户
        Toast.makeText(this@MainActivity,"未添加过账户",Toast.LENGTH_SHORT).show()
        val dialog = AlertDialog.Builder(this@MainActivity)
        val tem_layout = layoutInflater.inflate(R.layout.add,null)
        dialog.setView(tem_layout)//这里用的是对话框的自定义view,导入一个写好的布局
        .setCancelable(false)//设置不可返回,或者触碰空白取消
        .setTitle("添加账户")//用kotlin对象表达实现匿名类,重写监听器。
        .setPositiveButton("确认",object:DialogInterface.OnClickListener{
             override fun onClick(dialog: DialogInterface?, which: Int) {
                 val login_new_name = tem_layout.findViewById<EditText>(R.id.add_name)//这里要获取布局内部控件
                 val login_new_pass = tem_layout.find
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值