小编Kon*_*zik的帖子

将ZipEntry写入文件的最可读方式?

给定ZipFile zip,它的ZipEntry entry和目标文件 unzippedEntryFile,什么是最可读的写入entry方式unzippedEntryFile

我使用Google GuavaApache.Commons.IO提出了以下解决方案:

InputSupplier<ByteArrayInputStream> entryInputSupplier = ByteStreams.newInputStreamSupplier(IOUtils.toByteArray(zip.getInputStream(entry)));
Files.copy(entryInputSupplier, unzippedEntryFile);
Run Code Online (Sandbox Code Playgroud)

但是,有些东西告诉我它可以变得更简单.

谢谢,
康拉德

java

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

如何在主要活动启动时获取Android应用程序调用的方法,而无需使用应用程序的源代码?

我需要从其主要活动启动的那一刻起获取Android应用程序调用的跟踪操作系统方法的痕迹.我可以在进程启动后启动探查器,但显然不会跟踪启动时调用的方法.

以下是我在进程启动后获取跟踪的方法:

adb install com.example.app.apk
adb shell rm ./mnt/sdcard/log.trace

adb shell am start com.example.App/com.example.App.MainActivity
adb shell am profile start com.example.App ./mnt/sdcard/log.trace
<do stuff with the app, click on the GUI etc.>
adb shell am profile stop

adb pull ./mnt/sdcard/log.trace
Run Code Online (Sandbox Code Playgroud)

似乎有一个活动管理器选项--start-profiler,但它不起作用.我尝试使用它如下:

adb shell am start com.example.App/com.example.App.MainActivity --start-profiler ./mnt/sdcard/log.trace
Run Code Online (Sandbox Code Playgroud)

但是没有创建跟踪文件,并且应用程序根本没有减速.分析激活后,运行速度会慢得多.

我试用了Android API 17,Intel x86仿真器,Mac Book Pro上的Windows 7 x64(通过Bootcamp).

android profiling

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

有没有在Kotlin中使用Groovy扩展方法的干净方法?

例如,Groovy允许获取由表示的文件的文本,java.nio.file.Path如下所示:

// Groovy code
import java.nio.file.Path
import java.nio.file.Paths

Path p = Paths.get("data.txt")
String text = p.text
Run Code Online (Sandbox Code Playgroud)

我希望能够text在Kotlin中重用Groovy的扩展方法。

请注意:我知道Kotlin对于这种特殊情况有相关的方法。不过,可能仍有Groovy方法对Kotlin用户有用。

groovy extension-methods jvm-languages kotlin

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

如何从Kusto.Explorer查询我的Application Insights日志(分析)?

在Azure门户的“我的应用程序见解/日志”视图中,我可以这样查询应用程序数据:

app('my-app-name').traces

app功能在Azure Monitor query中的app()表达式文章中进行了描述。

Kusto.Explorer不了解该app()功能,这似乎是因为它是Azure Monitor中的“ 其他”运算符之一而引起的。

如何使用Kusto.Explorer查询我的App Insights /日志?我不能使用cluster它,因为它是Azure Monitor不支持功能之一。

azure azure-application-insights azure-log-analytics kusto azure-data-explorer

4
推荐指数
2
解决办法
1434
查看次数

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

在循环内添加一个短延迟可防止它无限循环.为什么?

在使用.NET async/await API时,我遇到了好奇心:循环忽略了用作超时的延迟,直到我在循环内添加了一个短暂的延迟.这是如何运作的?不是最直观的行为!

完整计划:

using System;
using System.Threading.Tasks;

public class Program
{
    public static void Main(String[] args)
    {
        Task.Run(async () =>
        {
            await Task.WhenAny(Loop(), Task.Delay(TimeSpan.FromSeconds(1)));
            Console.WriteLine("Timed out!");
        })
        .Wait();
    }

    public static async Task Loop()
    {
        while(true)
        {
            // Commenting this out makes the code loop indefinitely!
            await Task.Delay(TimeSpan.FromMilliseconds(1));

            // This doesn't matter.
            await DoWork();
        }
    }

    public static async Task DoWork()
    {
        await Task.CompletedTask;
    }
}
Run Code Online (Sandbox Code Playgroud)

背景

实际的程序有,while(!done)但由于一个错误done从未设置为true.循环进行多次await调用.该Task.WhenAny呼叫是在单元测试中以防止Loop() …

c# asynchronous task infinite-loop async-await

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

修改/检测其字节码后如何重建apk?

作为我研究的一部分,我需要检测任何给定 .apk 文件的 dalvik 字节码,并使用检测过的字节码获取工作的、修改过的 .apk。

我在 Windows 7 下用 Java 1.6 编程。

输入

  • 原始的 .apk 文件,带有原始的、未更改的classes.dexdalvik 字节码。
  • classes.dex.apk的检测字节码(是的,我们假设我们已经检测了字节码)。

期望输出

  • 带有检测classes.dex字节码而不是原始字节码的 .apk 文件。

问题陈述

从 Java 源代码获取所需输出的最直接方法是什么?

android build apk

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