小编cal*_*hiz的帖子

发出 Paging3 流量后无法收集任何流量

我正在使用paging3并且有两个不同的分页源。问题是Coroutine Scope只发出第一个分页流

ViewModel我有两个分页流程

val pagingFlow1 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
    pagingSource
}.flow.cachedIn(viewModelScope)

val pagingFlow2 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
    pagingSource2
}.flow.cachedIn(viewModelScope)
Run Code Online (Sandbox Code Playgroud)

在活动中收集它们

    lifecycleScope.launch(Dispatchers.IO) {
        viewModel.pagingFlow1.collectLatest { pagingData ->
            pagingAdapter.submitData(pagingData)
        }
        viewModel.pagingFlow2.collectLatest { pagingData ->
            pagingAdapter2.submitData(pagingData)
        }
    }
Run Code Online (Sandbox Code Playgroud)

lifecycleScope只能发出,pagingFlow1换句话说,分页只能在第一个 recyclerView 中起作用。

当我更改订单时,这次仅适用于pagingFlow2

    lifecycleScope.launch(Dispatchers.IO) {
        viewModel.pagingFlow2.collectLatest { pagingData ->
            pagingAdapter.submitData(pagingData)
        }
        viewModel.pagingFlow1.collectLatest { pagingData ->
            pagingAdapter2.submitData(pagingData)
        }
    }
Run Code Online (Sandbox Code Playgroud)

为了确保我用基本流程对其进行了测试并正常工作

// Flows in ViewModel
val testFlow1 …
Run Code Online (Sandbox Code Playgroud)

android android-paging android-paging-library

5
推荐指数
1
解决办法
2587
查看次数

如何使用Python调用LinkedIn API?

我尝试了很多方法,但似乎没有一个有效。帮助我使用 python 与 LinkedIn 建立连接。生成访问令牌时出现问题 我收到了代码,但它不起作用。我有 python 3.9 请发布建立连接并获取访问令牌的基本代码示例。我必须使用哪个redirectUri。我可以使用 rediectUri 的任何网站链接吗?

我尝试通过curl和Postman检查API,但没有得到解决方案,它说“未经授权的访问”。 https://github.com/ozgur/python-linkedin <---这是我了解如何使用 API 的地方。接收访问令牌。

python authorization linkedin-api

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

如何使用 Google Apps 脚本返回 getVisibleValues()?

您知道为什么该getVisibleValues()函数不返回任何值吗?我想获得一个过滤标准,例如在本例中(屏幕截图)我想获得“A”值。我试过了getCriteriaValues()getValues()也行不通。它不会返回任何值。只有该getHiddenValues()函数有效并正确返回“B、C、D”。

截屏

function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Test1');
var filter = sheet.getRange('A1:C').getFilter();
  var values = filter.getColumnFilterCriteria(3).getVisibleValues();
  
  Logger.log(values);
  
}
Run Code Online (Sandbox Code Playgroud)

filtering google-sheets google-apps-script

5
推荐指数
1
解决办法
1770
查看次数

Kotlin 中带有新参数的 Paging 3.0 列表

我有以下代码:

\n
   val history: Flow<PagingData<Any>> = Pager(PagingConfig(pageSize = 10)) {\n    PaginationBaseDataSource(apiService)\n}.flow\n    .cachedIn(viewModelScope)\n
Run Code Online (Sandbox Code Playgroud)\n

当前正在显示没有任何附加参数的项目列表。这工作正常...但现在我希望根据用户可以在前端更改的某些参数来查询此列表,让\xc2\xb4s 说我希望添加参数 3 作为查询。

\n
   val history: Flow<PagingData<Any>> = Pager(PagingConfig(pageSize = 10)) {\n    PaginationBaseDataSource(apiService, 3)\n}.flow\n    .cachedIn(viewModelScope)\n
Run Code Online (Sandbox Code Playgroud)\n

问题是...我怎样才能动态设置这个查询参数?让\xc2\xb4s 说用户而不是3,使用6,然后是9。我怎样才能实现这一点?

\n

非常感谢

\n

paging pagination android kotlin kotlin-flow

5
推荐指数
1
解决办法
1344
查看次数

Json 文件未附加到 android 的电子邮件

我正在尝试将附加的 json 文件发送到电子邮件,但是由于某种原因,在发送/创建电子邮件时未附加 json 文件。注意:我不希望用户选择要附加的文件,我希望它自动固定/设置。

我有以下权限 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

和代码

   private void backupJsonToEmail(String jsonString) {
    // create file

    if(!getFilesDir().exists()){
        getFilesDir().mkdir();
    }
    String filePath = getFilesDir() + File.separator + BACKUP_NAME;
    System.out.println("file path: " + filePath);
    // /data/user/0/com.my.stuff/files/backup.json

    try {
        FileOutputStream fos = new FileOutputStream(filePath);
        DataOutputStream outStream = new DataOutputStream(new BufferedOutputStream(fos));
        outStream.writeBytes(jsonString);
        outStream.close();

        // send to email
        try {
            File file = new File(filePath);
            long fileKbSize = file.length() / 1024;
            System.out.println("FILE SIZE …
Run Code Online (Sandbox Code Playgroud)

java android email-attachments

5
推荐指数
1
解决办法
180
查看次数

NodeJS 客户端(React)如何下载 excel 文件?

我有两个独立的项目。客户端:React,服务器:NodeJS

我通过 React 提交表单来在 NodeJS 端创建 excel。

我想从 React 端下载这个 excel。但是,我无法下载它。

NodeJS 代码

  res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
  workbook.xlsx.write(res)
      .then(function(){
          res.end();
      });
Run Code Online (Sandbox Code Playgroud)

NodeJS返回网络层

在此输入图像描述

首先尝试 React.js 代码

 startDownload(response,"resobyte.xlsx")

function startDownload(file, fileName) {
    const url = window.URL.createObjectURL(new Blob([file]));
    const link = document.createElement('a');
    link.href = url;
    link.setAttribute('download', fileName);
    document.body.appendChild(link);
    link.click();
    link.parentNode.removeChild(link);
}
Run Code Online (Sandbox Code Playgroud)

第二次尝试 React.js 代码

  let blob = new Blob([response], {type: 'vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'});
            FileSaver.saveAs(blob, 'fileName.xlsx");
Run Code Online (Sandbox Code Playgroud)

文件已下载。

我的反应服务调用

export const createExcel = async (model) => {
  let response = () => {
      return …
Run Code Online (Sandbox Code Playgroud)

node.js reactjs exceljs

5
推荐指数
0
解决办法
1772
查看次数

JUnit 测试在 GitHub Actions 上失败,但在本地失败

我正在尝试在 GitHub Actions 上运行 JUnit 测试,但其中一些失败。本地所有测试均已通过。在我的 PC 上,我使用 Ubuntu 20.04 和 OpenJDK 1.8 (275),在 CI 上使用 OpenJDK 1.8(来自标准操作)。

java -version电脑输出:

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java-versionGitHub 操作的输出:

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (Zulu 8.50.0.53-CA-linux64) (build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (Zulu 8.50.0.53-CA-linux64) (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

测试断言:

@Test
public void test() {
    assertEquals(
        17,
        new CountingSheep(
            new Boolean[]{
                true, true, true, false,
                true, true, true, true, …
Run Code Online (Sandbox Code Playgroud)

java junit jvm github-actions

5
推荐指数
1
解决办法
4384
查看次数

DevTools 已与页面断开连接(错误:STATUS_BREAKPOINT)

关于问题

\n
    \n
  • 该问题会根据 2D 场景的大小在不同的随机时刻停止应用程序执行。
  • \n
  • 该问题停止了开发工具并且页面变成白色。
  • \n
  • 该问题不会在 DevTools 控制台中显示为错误或警告。
  • \n
  • 该问题仅出现在 Chrome 和 Edge 浏览器中。
  • \n
  • 在测试的前 4 天中,Chrome 和 Edge 浏览器中\xe2\x80\x99 并未出现该问题。
  • \n
\n

关于应用程序

\n

我制作了一个 JS6 应用程序来使用画布测试一些 2D 图形。只是纯 HTML、CSS 和 JavaScript。该应用程序应该在碰撞检测(使用 AABB 算法)、路径查找、碰撞物理和一些人工智能之后绘制场景和不同的几何图元。我使用 requestAnimationFrame(render) 方法来模拟动画渲染。所有代码都是基于 ECMAScript 6 中描述的 OOP 原则构建的。核心且非常简化的代码示例:

\n
class Scene{\n#vMap = [];\n\nconstructor(board){\n        this.canvas = document.getElementById(board);\n        this.ctx = this.canvas.getContext(\'2d\');\n        this.#createMap();\n        this.#createModels();\n\n        //etc.\n}\n\n#createMap(){//to do}\n\n#createModels(){//to do}\n\nrender(){\n        this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n        this.#vMap.forEach(obj =>{\n            obj.draw();\n           \n            if(obj.checkCollision(this.ball)){\n                this.ball.updateSpeedVector(obj);\n            }\n        });\n       \n        this.ball.draw();\n       \n        window.requestAnimationFrame(this.render.bind(this));\n}\n//\xe2\x80\xa6\n\nconst board …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-devtools html5-canvas microsoft-edge

5
推荐指数
0
解决办法
4506
查看次数

将 Patreon API 与 Flutter 应用程序链接

我对使用 Flutter 很陌生,在没有帮助的情况下从未正确使用过 API。我想让我的应用程序免费(没有大量广告),所以我希望创建一个 Patreon 来支持它的维护。当在线寻找教程视频或任何可用于 Flutter 或我知道如何使用的其他语言的代码示例时,我却空手而归。所以我在这里发布这个问题希望有人可以帮助我将Patreon API链接到 Flutter。文档并没有说它直接连接到 Flutter,因此您必须使用另一种语言来访问信息(我认为最好的选择是 Javascript 或 Python)并将其转发给 Flutter。

我(可能还有其他人)需要创建一个用于通过 Patreon 进行 OAuth 登录的按钮(适用于 iOS 和 Android)。当用户登录时,需要获取他们支持的级别、用户名以及订阅何时续订(每月还是每年?)。然后需要将其转换为文本小部件(显示层和/或用户名)和可见性小部件的“可见:”属性(根据用户的每月订阅显示某些内容,并使相同的内容不可见或放在新可见的后面)当订阅结束/过期时锁定页面)。

抱歉,我知道这个问题需要回答很多,但我对 API 和 Flutter 并不是很有经验。我会很感激任何有帮助的答案,因为我真的想让我的应用程序没有大量的广告,我希望这个问题能够帮助其他 Flutter 开发人员,他们有同样的目标,即支持他们的开发财务,而不需要大量的广告影响用户的体验。应用程序。

Patreon API OAuth 文档 https://docs.patreon.com/#oauth

Flutter JS(我认为这可能有助于连接 Patreon API,但我不确定?) https://pub.dev/packages/flutter_js

代码示例和分步指南会很棒,但任何东西都会有帮助。再次感谢你!

dart flutter flutter-dependencies patreon

5
推荐指数
1
解决办法
491
查看次数

收集服务中的流量

因此,我尝试在 onCreate() 中从前台服务 (LifecycleService) 中的流收集数据,但在第一次回调后,它没有提供新数据。

代码是:

    override fun onCreate() {
        super.onCreate()

        lifecycleScope.launchWhenStarted {
            repeatOnLifecycle(Lifecycle.State.STARTED) {
                observeCoinsPrices()
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

service android foreground-service kotlin-coroutines kotlin-flow

5
推荐指数
1
解决办法
1386
查看次数