小编Ito*_*oun的帖子

抛出“std::system_error”线程池实例后调用终止

当我运行我的代码时:

nb workers = 12
I'm i : 0
HELLO I'm func1
BYE I'm func2
terminate called after throwing an instance of 'std::system_error'
  what():  Invalid argument
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

抛出“std::system_error”实例后调用终止

What():无效参数

#ifndef CPP_PLAZZA_EXAMPLE_H
#define CPP_PLAZZA_EXAMPLE_H

#include <thread>
#include <vector>
#include <list>
#include <memory>
#include <functional>
#include <mutex>
#include <condition_variable>
#include <atomic>
#include <iterator>
#include <tuple>

class ThreadPool
{
 public:
  ThreadPool(size_t numThreads);
  virtual ~ThreadPool();
  void executeJob(std::function<void()> job, std::function<void()> notificationJob);
  void wait_for_done();
 private:
  void loop();
  std::pair<std::function<void()>, std::function<void()> > getNextJob();
  std::vector<std::thread> m_workers;
  std::list<std::pair<std::function<void()>, …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading threadpool c++11

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

更新dart sdk抖动

我想将dart SDK> = 2.2.0与flutter一起使用。但是我当前使用的Flutter版本是2.1.2

flutter --version
Flutter 1.2.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8661d8aecd (2 months ago) • 2019-02-14 19:19:53 -0800
Engine • revision 3757390fa4
Tools • Dart 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
Run Code Online (Sandbox Code Playgroud)

我尝试独立安装2.2.0版本,但成功了:

dart --version
Dart VM version: 2.2.0 (Tue Feb 26 15:04:32 2019 +0100) on "macos_x64"
Run Code Online (Sandbox Code Playgroud)

但是,如您在上面看到的,Flutter没有使用此版本。我尝试dart-sdkflutter/bin/cache/dart-sdk独立安装的版本替换flutter()使用的文件,但是当我尝试运行Flutter之后,出现快照问题,因此我将原始dart-sdk文件夹放回flutter目录中。

您有什么想法可以更新吗?

PS:我最近(10天前)从这里下载了flutter:https//flutter.dev/docs/get-started/install/macos

sdk dart flutter

9
推荐指数
6
解决办法
6779
查看次数

Gradle 签署 Android 库出版物:无法执行签署任务,因为它没有配置签署人

已经几个小时了,我一直在尝试在 Maven Central 上发布/发布签名的工件。

最终发布后,我没有通过“签名验证”测试。经过一番研究,我发现即使我的档案有签名,我的出版物也没有签名。

所以在添加这一行后:sign publishing.publications.release 签署出版物我在执行以下任务时收到此错误publishReleasePublicationToMavenCentralRepository::

无法执行签名任务 ':xxx:signReleasePublication',因为它没有配置签名者

Gradle 包装器:7.1.1。
build.gradle(库级别):

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'signing'
apply plugin: 'maven-publish'

repositories {
    mavenCentral()
    google()
    jcenter()
    maven { url "https://jitpack.io" }
}

android {
    compileSdkVersion 30
    buildToolsVersion "29.0.3"


    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 9
        versionName "1.1.4"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles 'consumer-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8 …
Run Code Online (Sandbox Code Playgroud)

android signing gradle maven-central

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

未定义方法联接flutter sqflite

Android Studio根据以下示例给我两个问题:https : //pub.dartlang.org/packages/sqflite

1)join没有为类定义方法uploadIntoDb

2)未定义的类 DeepCollectionEquality

我的代码很简单:

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:sqflite/sqflite.dart';

class UploadPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState(){
    return new UploadPageState();
  }
}

class UploadPageState extends State<UploadPage>
    with SingleTickerProviderStateMixin {
  @override
  void initState(){
    super.initState();
  }

  @override
  Widget build(BuildContext context) {


    return null;
  }

  Future<void> uploadIntoDb(String valueToUpload) async{
    // Get a location using getDatabasesPath
    var databasesPath = await getDatabasesPath();
    String path = join(databasesPath, 'poa.db');//FIRST PROBLEM


// open the database
    Database database = await …
Run Code Online (Sandbox Code Playgroud)

sqlite android join flutter sqflite

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

Flutter:如何将一个小部件对齐在中心,将一些小部件对齐在底部

我对 Flutter 很陌生,我尝试实现这个观点:
截屏
所以基本上我只是尝试在中心有一个Row(Image和) ,在底部有一个(2和 a ) 但我无法用and甚至and来实现这一点。当我尝试使用包含 3 个小部件时,它只是没有底部对齐。 当我尝试使用它时也不起作用TextColumnTextButtonRichTextAlignStackColumnmainAxisAlignmentmainAxisAlignement Column
StackAlign

也许我不应该用作Column脚手架的主体?但我不知道如果是的话我应该用什么来代替它。小部件的任何帮助或解释都会有所帮助。

这是我的完整代码

class _MyHomePageState extends State<MyHomePage> {
  int _selectedIndex = 0;

  //color
  final textColorContainer = new Container(color: const Color(0xffff62fa));
  final pinkColorContainer = new Container(color: const Color(0xffffe3fe));
  final bottomAppBarContainer = new Container(color: const Color(0xfff5f5f5));

  void _onItemTapped(int index) {
    setState(() {
      _selectedIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

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

Android - 更改每个选项卡底部导航的图标和标题的颜色

我试图让底部导航有点棘手。事实上我想要这种底部导航: 底部导航_1 底部导航_2 每个选项卡在被选中时都有不同的颜色。例如,选择时度量将呈红色(图标和标题),选择时配置文件将呈绿色...
所以我尝试为每个项目使用选择器(在我的菜单中),
但未应用颜色。图标更改成功(我尝试在选择某个项目时放置一个完全不同的图标),但选项卡标题的颜色没有更改。
我尝试从底部导航中删除 2 个属性:

app:itemTextColor="@color/black"
app:itemIconTint="@color/black"
Run Code Online (Sandbox Code Playgroud)

但情况变得更糟,因为选择选项卡时应用了我的主题应用程序(主要)的颜色。

我的底部导航:

<com.google.android.material.bottomnavigation.BottomNavigationView
                android:id="@+id/bottom_navigation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/white"
                app:menu="@menu/main_bottom_navigation"
                style="@style/BottomNavigationView"
                app:labelVisibilityMode="labeled"
                android:layout_alignParentBottom="true" />
Run Code Online (Sandbox Code Playgroud)

我的选择器之一(逻辑应用于所有项目):

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Pressed state -->
    <item android:drawable="@drawable/bottom_bar_journal_on"
            android:color="@color/red_FF623E"
            android:state_checked="true"/>
    <!-- Default state -->
    <item android:drawable="@drawable/bottom_bar_journal_off"
            android:color="@color/background_yellow"
            android:state_checkable="false"/>

</selector>
Run Code Online (Sandbox Code Playgroud)

和我的菜单(我应用所有选择器的地方):

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
            android:id="@+id/action_journal"
            android:enabled="true"
            android:icon="@drawable/bottom_bar_journal"
            android:title="@string/main_menu_journal"
            app:showAsAction="withText" />

    <item
            android:id="@+id/action_measure"
            android:enabled="true"
            android:icon="@drawable/bottom_bar_measure_off"
            android:title="@string/main_menu_measure"
            app:showAsAction="withText" />

    <item
            android:id="@+id/action_add"
            android:enabled="false"
            android:title=""
            app:showAsAction="withText" />

    <item
            android:id="@+id/action_treatment"
            android:enabled="true"
            android:icon="@drawable/bottom_bar_treatment_off"
            android:title="@string/main_menu_treatment" />

    <item
            android:id="@+id/action_profile"
            android:enabled="true"
            android:icon="@drawable/bottom_bar_profile"
            android:title="@string/main_menu_profile"
            app:showAsAction="withText" />
</menu>
Run Code Online (Sandbox Code Playgroud)

xml android bottomnavigationview material-components material-components-android

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

展开/折叠动画 Android 半视图

我想展开/折叠 ImageView,但从 50% 图片开始,展开到 100%,折叠到 50% 不低于。

我已经看过一些常见的问题和答案,但我没有找到如何管理一半。我还想修改视图的高度,而不是宽度。

我尝试过的:

public static void expand(final View v) {
    v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    final int targtetHeight = v.getMeasuredHeight();

    v.getLayoutParams().height = 0;
    v.setVisibility(View.VISIBLE);
    Animation a = new Animation()
    {
        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {
            v.getLayoutParams().height = interpolatedTime == 1
                    ? ViewGroup.LayoutParams.WRAP_CONTENT
                    : (int)(targtetHeight * interpolatedTime);
            v.requestLayout();
        }

        @Override
        public boolean willChangeBounds() {
            return true;
        }
    };

    a.setDuration((int)(targtetHeight / v.getContext().getResources().getDisplayMetrics().density));
    v.startAnimation(a);
}

public static void collapse(final View v) {
    final int initialHeight = v.getMeasuredHeight(); …
Run Code Online (Sandbox Code Playgroud)

animation android android-animation

3
推荐指数
1
解决办法
4244
查看次数

突出显示方括号内的文本(正则表达式?)Android kotlin

我想突出显示方括号内的所有子字符串,例如:“[Toto] 同时[做很多]事情。”
我知道如何提取它
我知道如何突出显示:

val str = SpannableString("Toto is doing a lot of stuff at the same time.")
str.setSpan(BackgroundColorSpan(Color.YELLOW), 0, 4, 0)
str.setSpan(BackgroundColorSpan(Color.YELLOW), 8, 22 , 0)
textView.text = str
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道如何同时实现两者。

我显然想在应用突出显示效果后删除方括号,但是当我执行 atoString()然后 a 时,replace()突出显示会被删除。

另外,突出显示是用索引制作的,我不想提取子字符串而是将其放入原始字符串中,我不知道应该通过哪种优化方式来实现这一点。

结果如下: 在此输入图像描述

java regex android highlight kotlin

3
推荐指数
1
解决办法
840
查看次数

IllegalStateException onSaveInstanceState 显示 DialogFragment 后无法执行此操作

这是我第一次遇到这个问题。

我已经仔细研究了 SO 上的几个答案,尤其是这个这个,但它没有解决我的问题,并且大多数答案不能用作解决我的案例的安全可靠的方法。

我已经尝试过:

  • 覆盖onSaveInstanceState并且不调用 super

但 commitAllowingStateLoss 不能用于第一种情况。

我正在寻找有关如何避免引发此异常以及如何实现引发异常的操作的解释(在第一种情况下,显示dialogFragment)。我已经知道如何引发此异常,但是,我不知道在我的情况下引发了什么。它在我的应用程序中出现两次:

第一个发生在一个非常简单的活动中,我有一个简单的动画,在该动画的末尾我显示了一个 DialogFragment (SplashActivity):

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val potentialLanguage = storage.getString(Constants.LANGUAGE)
    val lang = if (potentialLanguage.isNotEmpty()) {
        potentialLanguage
    } else {
        Locale.getDefault().language
    }
    val language = Language.getFromName(lang)!!
    val dm = res.displayMetrics
    val conf = res.configuration
    conf.setLocale(Locale(language))
    saveLanguage(context, lang)
    // Use conf.locale = new Locale(...) if targeting lower versions
    res.updateConfiguration(conf, dm)
    initWarningDialog()
    RevelyGradient
        .radial()
        .colors(
            intArrayOf(
                getColor(R.color.backgroundOnBoardingStart),
                getColor(R.color.backgroundOnBoardingEnd)
            )
        )
        .onBackgroundOf(root)
    ivCap.animate() …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle onsaveinstancestate

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

Android 边距弹出下拉微调器

我想要这样的东西:

通缉情况

但我现在有这个结果: 现在的情况

确实有一个问题,我想在下拉弹出窗口中应用边距顶部。我尝试了 1 件事,但没有成功: popupTheme 有我的微调器:

<androidx.appcompat.widget.AppCompatSpinner
                android:popupBackground="@color/bgChoicesSpinner"
                android:popupTheme="@style/popupOverlay"
                android:dropDownWidth="match_parent"
                android:layout_marginTop="30dp"
                android:layout_marginStart="5dp"
                android:id="@+id/spinnerCountry"
                android:layout_width="match_parent"
                android:layout_height="50dp">
Run Code Online (Sandbox Code Playgroud)

这就是我的风格:

<style name="popupOverlay" parent="ThemeOverlay.AppCompat.Light">
        <item name="android:layout_marginTop">10dp</item>
        <item name="android:background">@color/bgChoicesSpinner</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

user-interface android spinner drop-down-menu dropdown

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

Android : 在锁屏上显示视图(如谷歌地图)

我想在锁屏上显示个性化视图(实时显示一些数据)(之后用户将手机锁定在活动上)。
谷歌地图和百度地图(以及其他一些我忘记名字的应用)已经完全实现了我想要的。

所以我试图在我的 BroadcastReceiver 被触发时添加一个视图。
我从这个答案这个答案中尝试了一些观点。我也试过这个
在我根据许可出现错误之前:

窗口类型 2XXX 的权限被拒绝

现在我没有任何错误,但我的视图没有显示。
我的情况是:
MainActivity.kt:

import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.Settings
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {
    private val REQUEST_CODE = 10001

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        checkDrawOverlayPermission()
    }
    fun checkDrawOverlayPermission() {
        /** check if we already  have permission to draw over other apps */
        if (!Settings.canDrawOverlays(this)) {
            /** if not construct intent to request permission */
            val intent = …
Run Code Online (Sandbox Code Playgroud)

android lockscreen android-view android-windowmanager android-permissions

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