IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 不良事件管理系统登录功能测试 -> 正文阅读

[移动开发]不良事件管理系统登录功能测试

Okhttp

使用OKhttp3网络框架发送post网络请求并返回token
OKHttp是一个当前主流的网络请求的开源框架,PUT,DELETE,POST,GET等请求,文件的上传下载,加载图片(内部会图片大小自动压缩),支持请求回调,直接返回对象、对象集合,支持session的保持

sharedpreference

Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类
mode指定为MODE_PRIVATE,则该配置文件只能被自己的应用程序访问。
mode指定为MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取。
mode指定为MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入

实现步骤

1、在build.gradle 和 配置文件分别加上依赖 和 网络权限
2、创建OkHttpClient对象
3、通过Builder模式创建Request对象,参数必须有个url参数,可以通过Request.Builder设置更多的参数比如:header、method等
通过request的对象去构造得到一个Call对象,Call对象有execute()和cancel()等方法。
4、以异步的方式去执行请求,调用的是call.enqueue,将call加入调度队列,任务执行完成会在Callback中得到结果。
5、用sharedpreference保存返回的token,为了写shared preferences文件,需要通过执行edit()创建一个 SharedPreferences.Editor。通过putString()等方法传递keys与values,接着通过commit() 提交改变.

public void LoginPost(View view){
    if(usernameEditText.getText()==null || "".contentEquals(usernameEditText.getText())){
        Toast.makeText(LoginActivity.this,"账号为空!",Toast.LENGTH_SHORT).show();
    }else  if(passwordEditText.getText()==null || "".contentEquals(passwordEditText.getText())){
        Toast.makeText(LoginActivity.this,"密码为空!",Toast.LENGTH_SHORT).show();
    }
    String username = usernameEditText.getText().toString().trim();
    String password = passwordEditText.getText().toString().trim();
    User user = new User(username,password);
    OkHttpClient client = new OkHttpClient();
    Gson gson = new Gson();
    String user1 = gson.toJson(user);
     final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
    RequestBody body = RequestBody.create(JSON,user1);
    String url = "http://43.138.24.19:8080/user/login";

    final Request request =
            new Request.Builder()
           //.header("content-type","application/json")
            .url(url).post(body).build();

    Call call = client.newCall(request);


    call.enqueue(new Callback() {
        @Override
        public void onFailure(@NotNull Call call, @NotNull IOException e) {
            //Toast.makeText(getApplicationContext(),"登录失败",Toast.LENGTH_SHORT).show();
            Log.v("loginActivity", "");
            System.out.println(e);
        }


        @Override
        public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
            final String msg = response.body().string();
            String token = response.headers().get("token");
            editor.putString("token",token);
            editor.apply();
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                   // Toast.makeText(getApplicationContext(),"msg",Toast.LENGTH_SHORT).show();
                    Log.v("loginActivity", msg);

                    Intent intent = new Intent(LoginActivity.this, SlideActivity.class);
                    startActivity(intent);
                }
            });
        }
    });

}

登录成功返回200并保存token在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:29:58  更:2022-05-05 11:30:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 23:40:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码