小编Jos*_*zet的帖子

[GitHub Actions]:创建 Artifact 容器失败:已达到 Artifact 存储配额。无法上传任何新工件

我有一个 GitHub 工作流程,可以为我的 Flutter 应用程序创建 APK。直到最近这一切都很好,我似乎已经耗尽了某种配额。现在,当工作流程运行时,我收到此错误:

Create Artifact Container failed: Artifact storage quota has been hit. Unable to upload any new artifacts
Run Code Online (Sandbox Code Playgroud)

我认为删除所有工件会再次释放空间,因此我使用了另一个工作流程来实现此目的:

name: 'Delete old artifacts'

on:
  push:
    branches:
      - master
      - develop
  pull_request:
    branches:
      - master
      - develop

jobs:
  delete-artifacts:
    runs-on: ubuntu-latest
    steps:
      - uses: kolpav/purge-artifacts-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          expire-in: 0days
Run Code Online (Sandbox Code Playgroud)

新的工作流程似乎正在运行,我不再在 GitHub UI 中看到旧文件。但是,在尝试运行 APK 工作流程时我仍然收到错误。有什么想法如何修复这个错误吗?


更新

我的 GitHub 说我已经用完了包含的服务(免费版本)。有办法撤销吗?仅仅删除工件似乎还不够。 在此输入图像描述

workflow github github-actions

29
推荐指数
4
解决办法
3万
查看次数

如何访问存储库中的上下文 [MVVM]

我正在开发一个使用 MVVM 架构的 Android 应用程序。我的问题是我的存储库(负责从 Web 获取 JSON)需要访问上下文。

我已经阅读了有关 StackOverflow 的一些建议。到目前为止,我收集到的最合理的选择如下:

  • 使用 Dagger 2 以某种方式注入上下文。

  • 让我ViewModel从扩展AndroidViewModel中获取应用程序上下文并将其传递给存储库。

截至目前,我有一个ViewModel和一个Repo

RoomFragmentViewModel.java:

public class MyViewModel extends ViewModel {
    private MutableLiveData<List<JSONObject>> rooms;
    private Repository repository;

    public void init(){
        if(rooms != null){
            return;
        }
        repository = repository.getInstance();
        rooms = repository.getRooms();
    }

Run Code Online (Sandbox Code Playgroud)

存储库.java:

public class Repository {

    private static Repository instance;
    private ArrayList<JSONObject> actualRooms = new ArrayList<>();


    public static Repository getInstance() {
        if (instance == null) {
            instance = new …
Run Code Online (Sandbox Code Playgroud)

java android mvvm dagger-2

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

Flutter:“ListTileThemeData”类型的值无法分配给“ListTileTheme”类型的变量

我发布这个问题是为了帮助未来的读者。升级到后,Flutter 2.8在尝试运行我的应用程序时突然出现此错误:

Flutter: A value of type 'ListTileThemeData' can't be assigned to a variable of type 'ListTileTheme'.
Run Code Online (Sandbox Code Playgroud)

我是如何解决这个问题的?

mobile dart flutter flutter2.0

7
推荐指数
1
解决办法
2816
查看次数

Flutter/Dart:检查http请求是否成功的简单方法?

在使用 Fluttershttp请求库时,我想知道是否有一种简单的方法可以检查请求是否成功,而无需检查状态代码

我看到的大多数代码示例(包括官方代码示例)都会执行以下操作:

http.Response response = await http.Client().get(...);
    
if (response.statusCode == 200) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

然而,这些示例忽略了这样一个事实:所有以 开头的 HTTP 状态代码都2XX被认为是成功的。例如201代表201 Created.

我知道 pythonhttp库有一个简单的ok标志,所以在 python 中可以做这样的事情

if response.ok:
   ...
Run Code Online (Sandbox Code Playgroud)

flutter/dart 中是否有类似的功能,或者我是否必须实施手动检查?

dart flutter

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

Flutter:使用 .copyWith 更改 ThemeData 中的字体系列

我知道您可以ThemeData使用自己的字体定义一个新对象,如下所示:

ThemeData(fontFamily: 'Roboto')
Run Code Online (Sandbox Code Playgroud)

但是,我想ThemeData使用以下copyWith方法复制现有的:

ThemeData.dark().copyWith(...)
Run Code Online (Sandbox Code Playgroud)

fontFamiliy可悲的是,中没有任何争论copyWith。我只想更改 fontFamily 而不是定义一个全新的TextTheme.

如何复制现有字体ThemeData并更改其字体系列?

mobile dart flutter

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

Flutter:应用栏中的文本溢出

我有一个如下所示的应用栏:

应用栏

用户可以更改应用栏中的文本。但是,太长的文本会导致溢出错误:

应用栏溢出

我认为将特定内容包装TextFlexible小部件内可以解决此问题,但在使用该方法时出现无法修复的错误Flexible

RenderBox was not laid out: RenderFlex#0ac34 relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE

这是屏幕截图中的工作代码:

PreferredSize(
        preferredSize: const Size.fromHeight(kToolbarHeight + 60),
        child: Container(
          color: getAppBarColor(),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Row(
                children: [
                  Padding(
                    padding: const EdgeInsets.all(16.0),
                    child: Row(
                      children: [
                        Visibility(
                          visible: hasBack,
                          child: IconButton(
                            onPressed: () {
                              Navigator.pop(context);
                            },
                            icon: Icon(Icons.arrow_back_ios,
                                color: getContentColor()),
                          ),
                        ),
                        Text(
                          title,
                          overflow: TextOverflow.ellipsis,
                          style: TextStyle(
                            fontSize: fontSize,
                            color: getContentColor(),
                            fontWeight: FontWeight.w600,
                          ),
                        )
                      ],
                    ), …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

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

Flutter:向现有主题添加自定义颜色

我正在使用内置的 Flutters,themes如下所示:

 return MaterialApp(
          theme: ThemeData.light().copyWith(
            primaryColor: const Color(0xFF5E975A),
            bottomAppBarColor: const Color(0xff282828),
            // ... And so on
          ),
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我正在修改现有themecopyWith. 现在假设我希望某个按钮始终具有Color(0xFFFF0000). 有没有办法向现有主题添加新键?

像这样的东西:

ThemeData.light().copyWith(
            ...
          ).addKey(myCustomColor: const Color(0xFFFF0000))
Run Code Online (Sandbox Code Playgroud)

如果没有,定义自定义颜色的最佳实践方法是什么?我觉得仅仅声明一个全局静态变量并不是实现这个的预期方法。

dart flutter flutter-layout

2
推荐指数
1
解决办法
3304
查看次数

从父类对象调用子类方法的最佳实践

我知道这个问题听起来很困惑。让我澄清一下。


class Car ...

class Mercedes extends Car ...
class Porsche extends Car ... 




class Warehouse{
    Car car;
}


class WarehouseX extends Warehouse{
    public static void main(){
        ((Mercedes) super.car).doMercedesStuff();       
    }
}
Run Code Online (Sandbox Code Playgroud)

看一下这个虚构的例子。梅赛德斯和保时捷都是汽车。每个仓库都拥有一辆汽车。现在,WarehouseX有一个奔驰。但是,WarehouseX从Warehouse继承了通用汽车。在这辆车上调用特定梅赛德斯方法的最佳方法是什么。一种方法是将其投放到梅赛德斯奔驰,但这对我来说似乎很丑。有没有更好的方法可以做到这一点?

java oop inheritance casting

0
推荐指数
1
解决办法
79
查看次数