小编D-D*_*D-D的帖子

Android Async任务取消/停止

我想知道停止异步任务运行的最佳方法是什么.

我试过了

@Override protected void onCancelled() { 
      super.onCancelled(); 
      mTask.cancel(true);       
 }
Run Code Online (Sandbox Code Playgroud)

我也试过了

asyncTaskObject.cancel(true);
Run Code Online (Sandbox Code Playgroud)

这在与事件相关联时特别有用.

但假设场景是---有4个AsyncTask.首先调用第二个,第二个调用第三个和第三个调用第四个.当用户输入活动时,没有对话框.否则我们可以在那里使用onCancel方法.当用户点击页面上的任何位置时,如果用户没有单击任何地方,则会出现对话框,但没有显示对话框,但异步任务在后台继续运行.假设用户单击"返回"按钮或导航图标到主页页面user.is取出当前活动.但异步任务继续在后台运行,最终应用程序崩溃.我已经习惯了onBackPressed中的cancel方法.但问题是你不能确定哪个任务正在运行,应用程序再次运行.

这是怎么回事?

events android android-asynctask

12
推荐指数
1
解决办法
1万
查看次数

从 Workmanager 更新 UI

如何从 Android WorkManager 更新 UI。

Android Workmanager可以接收Boolean、Integer、Long、Float、Double、String

文档说:

public Data.Builder putAll (Map<String, Object> values)
Run Code Online (Sandbox Code Playgroud)

“将所有输入键值对放入生成器中。有效类型包括:Boolean、Integer、Long、Float、Double、String 以及每种类型的数组版本。无效类型会引发 IllegalArgumentException。”

  1. 如何传递更新 UI 的回调。
  2. 如何在不调用 DB 的情况下传递 POJO。

Result.SUCCESS 或 Result.FAILURE 不是解决方案,因为只有在工作完成时才会返回。

android android-jetpack android-workmanager

8
推荐指数
1
解决办法
9548
查看次数

Android Layout设计原则

我一直在研究为不同屏幕尺寸,屏幕密度和方向设计布局的最佳方法,我越来越困惑.

1.设计密度与屏幕尺寸
我已阅读此链接

现在在设计姜饼应该考虑什么.每个文件夹中的布局都说LDPI, HDPI and MDPI.但这会增加整个应用程序的大小.

现在我已经不再考虑LDPI了.但现在我们也有了XHDPI and XXHDPI.那么我们如何设计所有页面并保持合理的尺寸呢?

什么应该更优先选择屏幕尺寸,密度或分辨率?

9-patch images可以使用图像.创建它们的最佳工具是什么?

2.Landscape vs Potrait.

现在在这个布局方程式中,如果我们为屏幕方向包含不同的布局,则应用程序变得越来越笨重且工作繁琐.

Creating smaller xmls and including them is one good solution但即便如此,考虑到所有不同的类型,它仍然变得单调乏味.特别适用于Android 4及更高版本,每个片段具有不同的布局,

我的问题是 - 考虑到以上所有因素,设计布局的最佳和最有效的方法是什么.

android android-manifest android-layout android-screen-support google-play

4
推荐指数
1
解决办法
440
查看次数