小编Kev*_*tel的帖子

无状态小部件类中的键是什么?

在flutter docs中,有一个无状态小部件子类的示例代码,如下所示:

class GreenFrog extends StatelessWidget {
  const GreenFrog({ Key key }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return new Container(color: const Color(0xFF2DBD3A));
  }
}
Run Code Online (Sandbox Code Playgroud)

还有这个

class Frog extends StatelessWidget {
  const Frog({
    Key key,
    this.color: const Color(0xFF2DBD3A),
    this.child,
  }) : super(key: key);

  final Color color;

  final Widget child;

  @override
  Widget build(BuildContext context) {
    return new Container(color: color, child: child);
  }
}
Run Code Online (Sandbox Code Playgroud)

什么是关键,什么时候应该使用这个超级构造函数?好像你有自己的构造函数,你必须有{Key key}为什么?我已经看到了其他没有使用super关键字的例子,所以这就是我的困惑所在.

dart flutter

56
推荐指数
3
解决办法
7459
查看次数

Kotlin中的错误"不能为空"

.zip文件中有多个文件,我正在尝试获取.尝试解压缩文件提供了java.lang.IllegalStateException:zis.nextEntry不能为null.怎么做正确的方法?

@Throws(IOException::class)
    fun unzip(zipFile: File, targetDirectory: File) {
        val zis = ZipInputStream(
                BufferedInputStream(FileInputStream(zipFile)))
        try {
            var ze: ZipEntry
            var count: Int
            val buffer = ByteArray(8192)
            ze = zis.nextEntry
            while (ze != null) {
                val file = File(targetDirectory, ze.name)
                val dir = if (ze.isDirectory) file else file.parentFile
                if (!dir.isDirectory && !dir.mkdirs())
                    throw FileNotFoundException("Failed to ensure directory: " + dir.absolutePath)
                if (ze.isDirectory)
                    continue
                val fout = FileOutputStream(file)
                try {
                    count = zis.read(buffer)
                    while (count != -1) {
                        fout.write(buffer, 0, count)
                        count = …
Run Code Online (Sandbox Code Playgroud)

java android inputstream zipinputstream kotlin

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

仅在API 21和22,WebView和Consent SDK上崩溃-Resources $ NotFoundException

我们是从Android 5.0.2的Galaxy S6上的测试人员获得此崩溃的。Android系统WebView 37(1726107-arm64)Google Play服务19.0.56(020400-263933554)Google Play商店16.5.30-全部[0] [PR] 267441717

如何重现(除上述设备外):Android Studio,仿真器为x86_64 API 21和22构建的AndroidSDK。22以上没有崩溃。在相同的设备上,WebView崩溃并显示类似的消息。它不会因Android Developers 示例中的测试发布者ID(“ pub-0123456789012345”)而崩溃

Fatal Exception: android.content.res.Resources$NotFoundException: String resource ID #0x3040002
    at android.content.res.Resources.getText + 1347(Resources.java:1347)
    at android.content.res.Resources.getString + 1441(Resources.java:1441)
    at com.android.org.chromium.content.browser.ContentViewCore.setContainerView + 702(ContentViewCore.java:702)
    at com.android.org.chromium.content.browser.ContentViewCore.initialize + 608(ContentViewCore.java:608)
    at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore + 619(AwContents.java:619)
    at com.android.org.chromium.android_webview.AwContents.setNewAwContents + 758(AwContents.java:758)
    at com.android.org.chromium.android_webview.AwContents.<init> + 608(AwContents.java:608)
    at com.android.org.chromium.android_webview.AwContents.<init> + 546(AwContents.java:546)
    at com.android.webview.chromium.WebViewChromium.initForReal + 312(WebViewChromium.java:312)
    at com.android.webview.chromium.WebViewChromium.access$100 + 97(WebViewChromium.java:97)
    at com.android.webview.chromium.WebViewChromium$1.run + 264(WebViewChromium.java:264)
    at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue + 124(WebViewChromium.java:124)
    at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run + 111(WebViewChromium.java:111)
    at com.android.org.chromium.base.ThreadUtils.runOnUiThread + 144(ThreadUtils.java:144)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-webview

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

制作反弹动画

我想做一层反弹动画.

我已经完成了从正确到中心的那一层,现在我想稍微向后移动然后再回到中心.这会产生反弹效果.

我想我可以用这样的翻译来做到这一点:

<translate
    android:duration="900"
    android:fromXDelta="100%p"
    android:toXDelta="0%p" />

<translate
    android:duration="900"
    android:fromXDelta="0%p"
    android:toXDelta="100%p" />

<translate
    android:duration="900"
    android:fromXDelta="70%p"
    android:toXDelta="0%p" />
Run Code Online (Sandbox Code Playgroud)

那么这段代码不起作用,我唯一可以实现的是Layer从左到中,然后动画停止.

我不能使用这段代码:因为它没有实现我想要的

setInterpolator(AnimationUtils.loadInterpolator(this,
                        android.R.anim.bounce_interpolator));
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

android android-animation

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

request.format return*/*

我目前正在为RoR上的应用程序开发API

作为一个例子,我创建了一些XML,加载了创建对象所需的所有信息,让我们说一个Person,并使用Curl我将它提交给我的应用程序

我能够从控制器中调用我想要的创建操作,并且正确传递对象的哈希参数

但是现在我需要应用不同的行为,如果请求是否与XML有关,困扰我的是控制器request.format给出的原因*/*.

有线索吗?

curl -v -H "Content-Type: application/xml; charset=utf-8" --data-ascii @client.xml  http://foo.com:3000/clients?api_key=xxx

def create
  logger.debug request.format # produces "*/*"
  if request.format.xml?
    # never gets here 
  end
end
Run Code Online (Sandbox Code Playgroud)

xml curl ruby-on-rails http mime-types

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

/system/lib64/libart.so中的本机崩溃

我的应用程序仅使用某些设备报告一些本机崩溃.我尝试在https://source.android.com/devices/tech/debug/native-crash的帮助下理解堆栈跟踪.
但我找不到原因.

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> my.package <<<

backtrace:
  #00  pc 0000000000264298  /system/lib64/libart.so (_ZN3art6mirror5Class24ResolvedMethodAccessTestILb1ELb1ELNS_10InvokeTypeE0EEEbNS_6ObjPtrIS1_EEPNS_9ArtMethodEjNS4_INS0_8DexCacheEEE+352)
  #01  pc 00000000002978a8  /system/lib64/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb1EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+508)
  #02  pc 000000000028c824  /system/lib64/libart.so (_ZN3art11interpreter17ExecuteSwitchImplILb1ELb0EEENS_6JValueEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameES2_b+36540)
  #03  pc 000000000025d6fc  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+664)
  #04  pc 00000000004e4a88  /system/lib64/libart.so (artQuickToInterpreterBridge+1468)
  #05  pc 000000000051281c  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
  #06  pc 000000000052da6c  /system/framework/arm64/boot.oat (java.util.TimSort.countRunAndMakeAscending+396)
  #07  pc 0000000000532508  /system/framework/arm64/boot.oat (java.util.TimSort.sort+440)
  #08  pc 000000000044a740  /system/framework/arm64/boot.oat (java.util.Arrays.sort+128)
  #09  pc 0000000000811f0c  /data/app/my.package-Py1SDcJah4ZBAmxAxgjfww==/oat/arm64/base.odex
Run Code Online (Sandbox Code Playgroud)

这些设备都在Android 8.0上,有:

  • Galaxy …

crash android native exception

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

无法推送到Github(这超出了GitHub的文件大小限制)

我的本地分支不会上传,因为掌握,作为错误输出状态,"下载/ ue4-test-8.zip为363.08 MB,这超过了100.00 MB GitHub的文件大小限制为"我已经删除此文件,还没有任何提交我让被拒绝.

  • 我删除了大文件.
  • 我以为一切都会好的,所以我在呼吸道中添加了新文件
  • 现在我在推送一个不存在的文件时遇到错误

我怎样才能解决这个问题并重新推回这个回购?

这是我的输出日志:

~\Documents\GitHub\mryamz.github.io [master ?6 +0 ~1 -0 !]> git push
Counting objects: 42, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (28/28), done.
Writing objects: 100% (42/42), 360.48 MiB | 668.00 KiB/s, done.
Total 42 (delta 18), reused 36 (delta 13)
remote: Resolving deltas: 100% (18/18), completed with 6 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. …
Run Code Online (Sandbox Code Playgroud)

git github git-push git-remote

6
推荐指数
4
解决办法
3884
查看次数

无法检索removeGhost方法

我在我的应用程序中放置了Android导航组件。
某些过渡效果很好,但是对此我有一个错误。来自片段A的过渡视图保留在新片段(B)上并隐藏一些元素。此外,当我滚动片段时,视图不会随之滚动。这是我得到的错误:

W/t.qoqa.ui.debu: Accessing hidden method Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V (greylist-max-p, reflection, denied)
I/GhostViewApi21: Failed to retrieve removeGhost method
    java.lang.NoSuchMethodException: android.view.GhostView.removeGhost [class android.view.View]
Run Code Online (Sandbox Code Playgroud)

我从片段A中的RecyclerView开始,在其中单击时,我设置了唯一的过渡名称。
然后,我将该名称作为参数使用SafeArgs以及FragmentNavigatorExtras中的视图进行传递。

在片段B中,我延迟了onCreate:中的过渡, postponeEnterTransition() 并设置了过渡类型:

transition = TransitionSet().apply {
    addTransition(ChangeTransform())
    addTransition(ChangeBounds())
    startDelay = 150
}
sharedElementEnterTransition = transition
sharedElementReturnTransition = transition
Run Code Online (Sandbox Code Playgroud)

我在onViewCreated中设置名称: ViewCompat.setTransitionName(product_image, args.imageTransitionName)

最后,当准备好显示图像时,Glide Listener开始过渡:

listener = object: RequestListener<Drawable> {
    override fun onLoadFailed(
        e: GlideException?,
        model: Any?,
        target: Target<Drawable>?,
        isFirstResource: Boolean
    ): Boolean {
        startPostponedEnterTransition()
        return false
    }

    override fun onResourceReady(
        resource: Drawable?,
        model: Any?,
        target: Target<Drawable>?,
        dataSource: DataSource?, …
Run Code Online (Sandbox Code Playgroud)

android android-transitions shared-element-transition android-architecture-navigation androidx

6
推荐指数
1
解决办法
102
查看次数

SDK Manager CLI 不再接受 package_list 选项?

从今天早上开始,我不能跑了sdkmanager --package_file=/sdk/packages.txt。版本是26.1.1.

回应是:

Warning: Unknown argument --package_file=/sdk/packages.txt
Usage: 
  sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]
  sdkmanager --licenses [<common args>]
  sdkmanager --version
Run Code Online (Sandbox Code Playgroud)

里面有bugsdkmanager吗?

我尝试了很多方法,例如:

  • sdkmanager --package_file="/sdk/packages.txt"
  • sdkmanager --package_file "/sdk/packages.txt"
  • sdkmanager --package_file /sdk/packages.txt
  • sdkmanager /sdk/packages.txt
  • sdkmanager "/sdk/packages.txt"

但是我不能运行它...

sdk android command-line-interface

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

为什么资产:安装不复制/资源/公共到/ web文件夹?

我遇到了运行php app/console asset:install命令的问题.我的操作系统是Windows.

我的目的是app/Resources/public使用该命令复制css,js,images等文件.运行该命令后,将创建一个bundle文件夹/web.但是在创建的bundle文件夹中没有任何文件app/Resources/public.只有两个文件夹:sensiodistribution框架.

为什么我没有获得包含复制资产的AppBundle文件夹/web/bundles

php assets symfony

3
推荐指数
2
解决办法
6298
查看次数