小编Kor*_*lis的帖子

PHP Random Shuffle Array维护Key => Value

我一直在寻找谷歌的答案,但似乎无法找到一些万无一失的东西,并且不能真正把它弄得一团糟(进入生产网站).

我所拥有的是具有20多个过滤器的高级搜索,它返回包含ID和距离的数组.我需要做的是将这些结果随机播放,以便每次都以随机顺序显示.我现在出来的阵列是:

Array (
    [0] => Array ( [id] => 1 [distance] => 1.95124994507577 )
    [1] => Array ( [id] => 13 [distance] => 4.75358968511882 )
    [2] => Array ( [id] => 7 [distance] => 33.2223233233323 )
    [3] => Array ( [id] => 21 [distance] => 18.2155453552336 )
    [4] => Array ( [id] => 102 [distance] = 221.2212587899658 )
)
Run Code Online (Sandbox Code Playgroud)

我需要做的是每次都随机或按顺序进行,但保持id和距离对,即:

Array (
    [4] => Array ( [id] => 102 [distance] = 221.2212587899658 )
    [1] => Array ( [id] => …
Run Code Online (Sandbox Code Playgroud)

php arrays

43
推荐指数
4
解决办法
5万
查看次数

从PHP中的字符串名称调用静态方法

我需要调用类的静态方法,但我只有一个类名,而不是它的一个实例.我是这样做的.

$class = new "ModelName";
$items = $class::model()->findAll();
Run Code Online (Sandbox Code Playgroud)

它可以在我的计算机上运行,​​但是当我移动到服务器时,它会抛出一个unexpected T_PAAMAYIM_NEKUDOTAYIM,所以我认为它实际上期望模型是变量而不是方法.

PS:如果它有帮助,它是Yii框架,所以如果有另一种方法来调用find()函数,那对我来说没问题.

提前致谢

php static-methods yii

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

输入中出现意外的字符:Silex应用程序中的'\'(ASCII = 92)状态= 1

我将我的网站从本地移动到托管,我发生了一些事情.我把这个配置文件包含在我的index.php(这是我做的第一件事)中:

<?php
require_once __DIR__.'/../../vendor/autoload.php';

// some other stuff

$app = new Silex\Application();
$app['debug'] = true;

$defaultLocale = 'en';

$app->register(new Silex\Provider\TwigServiceProvider(), array(
    'twig.path' => array(
                            __DIR__.'/../views', 
                            __DIR__.'/../views/backend', 
                            __DIR__.'/../views/layouts',
                            __DIR__.'/../views/components',
                            __DIR__.'/../views/backend/components', 
                        ),
));
$app->register(new Nicl\Silex\MarkdownServiceProvider());
Run Code Online (Sandbox Code Playgroud)

但网站抱怨这样:

警告:输入中出现意外的字符:第7行的/public_html/_inc/config.php中的'\'(ASCII = 92)状态= 1

解析错误:语法错误,第7行/public_html/_inc/config.php中的意外T_STRING

基本上,第7行​​是$app = new Silex\Application();.我正在使用Silex,服务器正在运行PHP 5.2.供应商文件夹(包含所有框架和第三方的东西)在root(/)中

我想知道它有自动加载的一些问题,但我找不到究竟是什么或如何测试它.你觉得有什么奇怪的吗?提前致谢.

php namespaces autoload silex

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

如何以编程方式更改Windows桌面墙纸?

我希望使用C#为Windows XP设置壁纸.我已经开发了代码,因此它在Windows 7中完美运行,但显然它与XP不同.我将壁纸添加为资源,将其编译操作设置为内容并始终复制.奇怪的是,它在桌面属性对话框中设置了正确的墙纸名称.但是,壁纸未设置.我的代码看起来像这样:

public sealed class Wallpaper
{
    Wallpaper() { }

    const int SPI_SETDESKWALLPAPER = 20;
    const int SPIF_UPDATEINIFILE = 0x01;
    const int SPIF_SENDWININICHANGE = 0x02;

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);

    public enum Style : int
    {
        Tiled,
        Centered,
        Stretched
    }

    public static void Set(string wpaper, Style style)
    {
        RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
        if (style == Style.Stretched)
        {
            key.SetValue(@"WallpaperStyle", 2.ToString());
            key.SetValue(@"TileWallpaper", 0.ToString());
        }

        if (style == Style.Centered)
        { …
Run Code Online (Sandbox Code Playgroud)

c# settings desktop windows-xp wallpaper

12
推荐指数
2
解决办法
2万
查看次数

ActionBarCompat显示溢出菜单中的每个操作

我已经开始使用AppCompat库中的ActionBar了.但是我添加到此的任何操作都显示在溢出菜单中.我很确定我已经跳过了一些东西,但我完全不知道.这是我的菜单文件:

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

    <item
        android:id="@+id/connect_plus"
        android:icon="@drawable/ic_google_plus"
        android:title="Connect to Google+"
        android:showAsAction="always"
        android:titleCondensed="Connect to Google+">
    </item>

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

并且onCreate来自以下活动的方法中的任何配置ActionBarActivity:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

android android-appcompat android-actionbar android-actionbar-compat

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

使用Google Play Android Developer API一段时间后,"每日保存配额已超出"

在发现Google团队升级了Android Developer API后,我制作了一个脚本,可以同时自动更新多种语言的所有应用数据.

但是,我注意到,当您遵循以下工作流程时:

  1. 询问编辑ID,
  2. 做你所有的改变
  3. 提交所有更改

在某些时候,SocketTimeoutException当您尝试更新更改时,您会得到一个.嗯,这可能是由于我的连接问题.

所以,要解决这个问题,我改变了我的工作流程:

  1. 询问编辑ID,
  2. 做一个改变
  3. 承诺一个改变
  4. 从1开始重复,直到更改完成

但是,在此过程之后,当我尝试在一些更改后提交时,它以此结束:

{
  "code" : 403,
  "errors" : [ {
    "domain" : "androidpublisher",
    "message" : "Daily save quota exceeded.",
    "reason" : "publishingDailySaveQuotaExceeded"
  } ],
  "message" : "Daily save quota exceeded."
}
Run Code Online (Sandbox Code Playgroud)

看起来很奇怪,因为没有关于此API的保存配额的解释.

此外,在激烈使用后,当前的配额限制保持冻结在0/200k,好像我什么也没做.我没有使用这个API的v1,所以我对此一无所知.

你知道这是否是正确的行为?

google-api google-play android-developer-api

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

SafeArgs 未在多模块项目上生成方向/参数类

我创建了一个空项目来试用导航组件。我想看看它在多模块项目中的表现(一个具有大部分依赖项的通用模块,加上包含应用程序不同部分的:app模块,以及实现所有模块的模块)。

顶级 gradle 文件具有如下依赖项:

dependencies {
    classpath "com.android.tools.build:gradle:3.6.1"
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha04"
}
Run Code Online (Sandbox Code Playgroud)

通用模块具有以下依赖项(除其他外):

dependencies {
    …
    api "androidx.navigation:navigation-fragment-ktx:2.2.1"
    api "androidx.navigation:navigation-ui-ktx:2.2.1"
    api "androidx.navigation:navigation-dynamic-features-fragment:2.3.0-alpha04"
    …
}
Run Code Online (Sandbox Code Playgroud)

并且绝对所有模块都在顶部应用了这个插件:

apply plugin: "androidx.navigation.safeargs.kotlin"
Run Code Online (Sandbox Code Playgroud)

现在,每个“ui 模块”中都有片段,只有:app一个实现了main_graph.xml对它们的引用。一个例子是:

<fragment
    android:id="@+id/registerFragment"
    android:name="example.register.RegisterFragment"
    android:label="RegisterFragment">
    <action
        android:id="@+id/action_registerFragment_to_loginFragment"
        app:destination="@id/loginFragment" />
</fragment>
Run Code Online (Sandbox Code Playgroud)

完成这一切后,一个好的 Clean Project + Rebuild Project 就完成了。

对我来说,这是有道理的。但是,当我尝试调用理论上自动生成的文件时,RegisterFragmentDirections它不在那里,不在特定的子模块中,不在主模块中。该NavDirections可以发现(这样的依赖关系在某种程度上是工作),而不是产生的。

我已经尝试在每个模块中实现所有依赖项,将导航版本回滚到以前的 alpha 版本……没有成功。

navigation android android-jetpack

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

发布时崩溃的应用程序崩溃,而调试则没有

我正在使用Android Studio开发应用程序,当我从调试转换为发布版本变体时,它开始崩溃.在调试时,它根本不会发生任何事情.真正的问题是我找不到真正的错误,因为每个引用都被重命名.

您是否遇到过这样的错误,仅在发布时发生过?

印刷的堆栈是这样的:

04-11 08:28:42.756    5997-5997/com.korcholis.clothio E/ActivityThread? Failed to inflate
    android.view.InflateException: Binary XML file line #10: Error inflating class fragment
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
            at android.app.Activity.setContentView(Activity.java:1906)
            at android.support.v7.a.g.a(Unknown Source)
            at android.support.v7.a.n.a(Unknown Source)
            at android.support.v7.a.g.setContentView(Unknown Source)
            at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
            at android.app.Activity.performCreate(Activity.java:5207)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
            at android.app.ActivityThread.access$600(ActivityThread.java:156)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5303)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) …
Run Code Online (Sandbox Code Playgroud)

android proguard release-mode ormlite android-studio

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

如何以编程方式更改屏幕保护程序?

我想使用C#更改当前的屏幕保护程序(我以前在Visual Studio中作为资源加载).怎么可能这样呢?我在Google和SO上寻找它,但它都讨论了"如何创建屏幕保护程序",而不是"如何更改屏幕保护程序".如果可能,它应该适用于WinXP,Vista和7.

c# windows windows-screensaver

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

您可以使用 mockk 验证属性设置器吗?

我们在 Java 和 Mockito 中进行了一些测试,我们正在逐步将其转换为 Kotlin 和 Mockk。不过有个问题。这个简单的行:

verify(mockedInteractor).setIndex(1);

当我们将它移动到 mockk 时,我们得到:

verify { mockedInteractor.index = 1 }

这当然通过了测试,因为它实际上并没有检查index是否设置为 1。它只是将模拟的变量设置为 1。下面具有相同的效果。

verify { mockedInteractor.setIndex(1) }

有没有办法验证setter?

verify kotlin mockk

7
推荐指数
4
解决办法
2390
查看次数