6.后台任务封装

后台任务封装:在没有网络的时候也可以修改用户名、头像等操作

	private void doOk() {
 String text = etName.getText().toString().trim();
 if (TextUtils.isEmpty(text)) {
 ToastUtil.show(getActivity(), "名字不能为空");
 return;
 }
 // 数据更新
		account.setName(text);
		dao.updateAccount(account);
 String url = "http://192.168.1.101:8080/ChatServer/user/name";
 Map<String, String> headers = new HashMap<String, String>();
		headers.put("account", account.getAccount());
		headers.put("token", account.getToken());
 Map<String, String> parameters = new HashMap<String, String>();
		parameters.put("name", text);
 // 1. 将请求加入到后台任务
 // 1) 封装
 NetTask request = new NetTask();
		request.setUrl(url);
		request.setMethod(0);
		request.setHeaders(headers);
		request.setParameters(parameters);
 // 2) 序列化
 String outPath = DirUtil.getTaskDir(getActivity()) + "/"
 + System.currentTimeMillis();
 try {
 SerializableUtil.write(request, outPath);
 } catch (Exception e) {
			e.printStackTrace();
 }
 // 3) 存储到数据库记录
 BackTask task = new BackTask();
		task.setOwner(account.getAccount());
		task.setPath(outPath);
		task.setState(0);
 new BackTaskDao(getActivity()).addTask(task);
 // 开启服务
		getActivity().startService(
 new Intent(getActivity(), BackgroundService.class));
 // 2. 页面跳转
 Intent intent = new Intent(getActivity(), HomeActivity.class);
		startActivity(intent);
		getActivity().finish();
 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

手把手教你读懂源码,View的加载流程详细剖析

最近想要理清我们的View是如何加载到界面中的,最好的方式就是分析源代码,这里一同分享给有需要的朋友们。内容较多,需要一定的耐心,请斟酌学习! ...

23580
来自专栏Golang语言社区

Golang context 包入门

概述 Golang 的 context Package 提供了一种简洁又强大方式来管理 goroutine 的生命周期,同时提供了一种 Requst-Scope...

383100
来自专栏技术小黑屋

如何在Android中避免创建不必要的对象

在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用。这其中避免创建不必要的对象是一项重要的方面。

7720
来自专栏Android开发与分享

【Android】DataBinding库(MVVM设计模式)

49470
来自专栏向治洪

android自定义属性

1、引言 对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现: 自定义一个CustomView(extends View )类 编写values/a...

212100
来自专栏lzj_learn_note

阿里ARouter使用及源码解析(一)

在app的开发中,页面之间的相互跳转是最基本常用的功能。在Android中的跳转一般通过显式intent和隐式intent两种方式实现的,而Android的原生...

19320
来自专栏ppjun专栏

Android十八章:5分钟学会用MVP架构开发Android项目

mvp 的思想是把显示和业务逻辑从activity,fragment这些View中分离。让model和view的通信通过Presenter来搞定,这样子就降低了...

11320
来自专栏Android干货园

Retrofit+OKHttp 教你怎么持久化管理Cookie

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/51...

14430
来自专栏非著名程序员

Retrofit OKHttp 教你怎么持久化管理Cookie

? 投稿作者:黄海杰 原文链接: http://blog.csdn.net/lyhhj/article/details/51345386 绪论 最近小编有点...

533100
来自专栏技术小黑屋

关于Android Log的一些思考

在日常的Android开发中,日志打印是一项必不可少的操作,我们通过分析打印的日志可以分析程序的运行数据和情况。然而使用日志打印的正确姿势又是怎样呢,如何屏蔽日...

8910

扫码关注云+社区

领取腾讯云代金券