小编Ste*_*e M的帖子

我们如何在Android Q中访问扩展文件?

我正在编写需要扩展文件的应用程序,并且想确保它与Android Q兼容。似乎提供文档不能解决Android Q中的更改。在Android Q中,getExternalStorageDirectory()将无法使用那么我们如何访问扩展文件?

android apk-expansion-files android-10.0

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

Java中构造函数中的最终参数

我正在学习Java中的类和构造函数.我在一个示例程序中乱用代码,似乎无法弄清楚到底发生了什么.

这段代码不会编译对我来说有意义:

class Line {
Point start;
Point end;

Line(final Point start, final Point end) {

    this.start = new Point(start);
    this.end = new Point(end);
    start = new Point(0.4, 0.4);

}...
Run Code Online (Sandbox Code Playgroud)

我试图通过调用Point对象的构造函数将原始的起始点对象引用分配给另一个Point对象.final关键字与此冲突.

但是当我从Point start参数中删除final关键字时......

class Line {
Point start;
Point end;

Line(Point start, final Point end) {

    this.start = new Point(start);
    this.end = new Point(end);
    start = new Point(0.4, 0.4);

}
Run Code Online (Sandbox Code Playgroud)

它似乎没有实际更改引用,传递给Line构造函数的Point对象似乎仍然指向原始对象,并且由Line构造函数的代码保持不变.什么给出了什么?这是否与引用的'start'在Line构造函数的作用域中是本地的这一事实有关?

java constructor final

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

试图将github项目导入Android项目

我一直坐在这里几个小时,试图在Eclipse的Android项目中使用这个github项目.我以前从未成功从github导入过任何东西.我已经阅读了我能找到的所有内容,并且尽可能地选择了所有选项并完全用尽了我的耐心.

有人可以一步一步地列出这个特定项目的程序,这样我最终可以在XML中使用它,就像作者描述的那样:

    <com.polites.android.GestureImageView
    android:id="@+id/image"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/image"
    gesture-image:min-scale="0.1"
    gesture-image:max-scale="10.0"
    gesture-image:strict="false"/>
Run Code Online (Sandbox Code Playgroud)

链接是https://github.com/jasonpolites/gesture-imageview

我会永远感激.

eclipse android github

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

为什么有人会像这样构建一个while循环?

我正在读一本关于Java的书,我们正在从一个频道读到一个ByteBuffer.我找到了作者构造while循环奇数的方式:


    try (FileChannel inCh = (FileChannel) Files.newByteChannel(file)) {
            ByteBuffer lengthBuf = ByteBuffer.allocate(8);
            int strLength = 0;

            ByteBuffer[] buffers = { null, ByteBuffer.allocate(8) };

            while(true) {
                if(inCh.read(lengthBuf) == -1)
                    break;
                lengthBuf.flip();

                strLength = (int)lengthBuf.getDouble();

                buffers[0] = ByteBuffer.allocate(2*strLength);

                if(inCh.read(buffers) == -1) {
                    System.err.println("EOF found reading ht eprime string.");
                    break;
                }

                System.out.printf("String length: %3s String: %-12s Binary Value: %3d%n", strLength,
                                    ((ByteBuffer) (buffers[0].flip())).asCharBuffer().toString(),
                                    ((ByteBuffer)buffers[1].flip()).getLong());

                lengthBuf.clear();
                buffers[1].clear();
            }
            System.out.println("\nEOF reached.");
        } catch (IOException e) {

我试过这样的:

while(inCh.read(lengthBuf) != -1) {
Run Code Online (Sandbox Code Playgroud)

它的工作方式相同.是否会有一个实际或代码清晰的原因作者会像他一样写出来?

java

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

资源是颜色还是可绘制的?

我创建了一个扩展ImageView的自定义视图.我的自定义视图提供了一种方法showError(int),我可以在其中传递资源ID,该资源ID应显示为图像视图内容.如果我可以传递简单的颜色资源ID或可绘制的资源ID,那将是很好的.

我的问题是:如何确定传递的资源ID是Drawable还是Color?

我目前的做法是这样的:

class MyImageView extends ImageView{

     public void showError(int resId){

        try{
            int color = getResources().getColor(resId);
            setImageDrawable(new ColorDrawable(color));
        }catch(NotFoundException e){
            // it was not a Color resource so it must be a drawable
            setImageDrawable(getResources().getDrawable(resId));
        }

     }
}
Run Code Online (Sandbox Code Playgroud)

这样做安全吗?我的假设是,资源ID真的很独特.我的意思是在R.drawable或R.color中不是唯一的,但在完全独特R

所以没有

R.drawable.foo_drawable = 1;
R.color.foo_color = 1;
Run Code Online (Sandbox Code Playgroud)

是否正确将id 1分配给其中一个资源而不是两者都分配?

android android-resources

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

写O(max(n,m))的标准方法是什么?

写"m和n中最伟大的大O"的标准方法是什么?

algorithm time-complexity

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

Service Worker 更新,但旧文件仍缓存

当我更新服务工作人员时,我关闭并重新打开页面,我得到控制台日志,表明新的服务工作人员已安装并激活,并且旧的缓存已被删除。但是,列出的要添加到缓存的文件不会再次从服务器获取,它们是几小时前的过时版本。如果不清除 Chrome 开发工具中的存储空间,则无法更新文件。

安装新版本时,如何让我的服务工作人员使用新文件填充其缓存?

例如,当 Service Worker 更新时,“stylesheet.css”仍然是旧版本:

let cacheName = "abc_web_v1_15";

self.addEventListener('install', (event) => {
    console.log('[Service Worker] Install');
    event.waitUntil(
        caches.open(cacheName).then(function (cache) {
            return cache.addAll([
                "/".
                "/stylesheet.css",
                ...
            ]);
        })
    );
});
self.addEventListener('fetch', (e) => {
    e.respondWith(
        caches.match(e.request).then(function (r) {
            console.log('[Service Worker] Fetching resource: ' + cacheName + ' ' + e.request.url);
            if (r) {
                console.log(cacheName + ' returning cached  ' + e.request);
                return r;
            } else {
                console.log(cacheName + ' returning fetched  ' + e.request);
                return fetch(e.request);
            }
        }) …
Run Code Online (Sandbox Code Playgroud)

javascript service-worker

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

在 Mac 上的 SwiftUI 中处理“打开方式”中的多个 URL

在 SwiftUI 中,我们获得了onOpenURL(perform:)函数。但是,在 macOS 中,我们可以在 Finder 中选择多个文件,然后单击“打开方式”。如果我使用带有以下代码的应用程序打开这些文件:

@main
struct testURLMacApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .onOpenURL { url in
                    print("RECEIVED \(url)")
                }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

看来此功能对于多个文件无法正常工作。有时似乎会调用一次执行闭包,或者有时如果幸运的话最多可以连续调用 2-3 次。有时它似乎会做一些奇怪的事情,例如打开重复的应用程序窗口。

有没有人找到解决方法,或者在 SwiftUI 应用程序的单个窗口中处理打开多个文件的正确方法?

编辑:这实际上是为了使现有的 iOS 应用程序能够在 Apple Silicon Mac 上运行。所以AppKit不可用。

macos swift swiftui

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

傻方根拼图

我已经坚持这个问题很长一段时间了,当我在控制台中输入输入时它似乎工作正常,但是当提交时我的解决方案总是失败测试#3(你无法看到输入或输出是什么).问题在于蒂姆斯.这是问题所在:

问题很简单,作者懒得为它写一个声明!

输入

输入流包含一组整数Ai(0≤Ai≤1018).数字由任意数量的空格和换行符分隔.输入流的大小不超过256 KB.

产量

对于从最后一个到第一个的每个数字Ai,您应该输出其平方根.每个平方根应打印在一个单独的行中,小数点后至少有四位数.

输入:

1427  0   

     876652098643267843 

5276538
Run Code Online (Sandbox Code Playgroud)

输出:

2297.0716

936297014.1164

0.0000

37.7757
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

using System;
using System.Collections.Generic;
using System.IO;

namespace ReverseRoot
{
class Program
{
    static void Main(string[] args)
    {
        List<ulong> longs = new List<ulong>();

        string current = "";
        bool inNumber = false;

        string input = Console.In.ReadToEnd();
        for (int i = 0; i < input.Length; ++i)
        {
            char c = input[i];
            if (inNumber && !char.IsDigit(c))
            {
                longs.Add(ulong.Parse(current));
                inNumber = false;
                current = ""; …
Run Code Online (Sandbox Code Playgroud)

c# square-root

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

复制指针然后调用delete

如果我复制一个指针,然后要求删除指向的分配是有效的C++,还是未定义?我没有从谷歌找到一个满意的答案.谢谢.

char* orig = new char[100];
char* copy = orig;
delete[] copy;
Run Code Online (Sandbox Code Playgroud)

c++

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

有人可以解释这个Ruby代码的作用吗?

我正在阅读算法复杂性文本的介绍,作者有几种不同语言的例子,我已经能够遵循这些例子.然后在关键时刻,他给我打了这个Ruby代码,这对我来说是希腊语.有人可以解释这段代码的作用吗?

b = []
n.times do
    m = a[ 0 ]
    mi = 0
    a.each_with_index do |element, i|
        if element < m
            m = element
            mi = i
        end
    end
    a.delete_at( mi )
    b << m
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何将源附加到Eclipse中的预构建静态C库

我有一个预构建的静态库(.a)和它的源代码.我如何附加源代码以便在使用gdb在Eclipse中进行调试时可以逐步完成它?

c c++ eclipse debugging android-ndk

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

一行中函数调用的执行顺序 - 未定义?

p.77 K&R C表示以下程序的输出未定义,但当前版本的Xcode没有发出警告.目前的标准还没有定义吗?在C++中怎么样?Java和C#中类似程序的加分点.

#include <stdio.h>

int my_m()
{
    static int n = 0;
    static int m[] = { 42, 57 };
    return n++ % 2 == 0 ? m[0] : m[1];
}
int main()
{
    printf("%d" , my_m() - my_m());

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++

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