小编kra*_*sen的帖子

google-services.json机密吗?

按照在Android应用中设置Google Analytics的指南(https://developers.google.com/analytics/devguides/collection/android/v4/),我想知道是否可以安全地提交此google-services.json文件进入源代码版本控制并推送到公共GitHub存储库或此文件可能包含凭据或机密.

我在其他地方找不到明确的答案,但我可以看到示例应用程序都提交了文件(https://github.com/google/climb-tracker/blob/master/mobile/google-services.json),其他人已添加该文件到他们的.gitignore.

android google-analytics google-play-services google-analytics-firebase

24
推荐指数
3
解决办法
3909
查看次数

ndk-build:静态链接到libxml.a时对..错误的未定义引用

当我使用ndk-build工具编译单个c ++源文件时,我得到了很多未定义的引用...错误.为了记录,我在linux主机系统上使用NDK r6.

首先,我一整天都在反对这个问题,所以如果我要留下一些东西或者解释自己有点快,我很抱歉.请向我询问任何其他信息.

我的源代码有很多我想要静态链接到的依赖库.我在Android.mk文件中定义了所有不同的依赖库,如下所示:

include $(CLEAR_VARS)

LOCAL_MODULE    := <name>
LOCAL_SRC_FILES := lib<name>.a
LOCAL_EXPORT_C_INCLUDES := <header files related to this lib>

include $(PREBUILT_STATIC_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

虽然我确保使用我的Android.mk和Application.mk文件在我的jni /文件夹中以lib.a的形式提供这些文件.(和我的源文件)另外我通过添加APP_STL := stlport_static到我的Application.mk文件添加了STL支持.我的单个源文件(riidr-jni.cpp)目前是:

#include <string>
#include <jni.h>
#include <android/log.h>
#include "../com_riidr_apps_reader_RiidrEbookReaderActivity.h"
#include <dp_all.h>

void Java_com_riidr_apps_reader_RiidrEbookReaderActivity_init ( JNIEnv* env, jobject thiz ) {
    __android_log_write(ANDROID_LOG_INFO, "Riidr", "JNI init - start");
    dp::platformInit( dp::PI_DEFAULT );
}
Run Code Online (Sandbox Code Playgroud)

如果我取消注释该dp::platformInit( dp::PI_DEFAULT );行并将其替换为std::string test = "asd";我没有任何错误,这使我相信因此STL lib被正确导入和链接.

我的Android.mk文件的最后一条指令是这样的

include $(CLEAR_VARS)

LOCAL_MODULE    := riidr-jni
LOCAL_SRC_FILES := riidr-jni.cpp
LOCAL_LDLIBS := …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

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

根据相同的XML架构(XSD)加速一批XML文件的XML模式验证

我想加快针对同一个XML架构(XSD)验证一批XML文件的过程.只有我在PHP环境中的限制.

我目前的问题是我想要验证的模式包括相当复杂的2755行的xhtml模式(http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd).即使对于非常简单的数据,这也需要很长时间(大约30秒pr.验证).由于我的批处理中有数千个XML文件,因此实际上并不能很好地扩展.

为了验证XML文件,我使用了标准php-xml库中的这两种方法.

  • DOM文档:: schemaValidate
  • DOM文档:: schemaValidateSource

我认为PHP实现通过HTTP获取XHTML模式并构建一些内部表示(可能是DOMDocument),并且在验证完成时抛弃它.我在想,XML-libs的一些选项可能会改变这种行为,以便在此过程中缓存某些内容以供重用.

我已经构建了一个简单的测试设置来说明我的问题:

测试schema.xsd

<xs:schema attributeFormDefault="unqualified"
    elementFormDefault="qualified"
    targetNamespace="http://myschema.example.com/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:myschema="http://myschema.example.com/"
    xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <xs:import
        schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd"
        namespace="http://www.w3.org/1999/xhtml">
    </xs:import>
    <xs:element name="Root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="MyHTMLElement">
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:extension base="xhtml:Flow"></xs:extension>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

测试data.xml中

<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns="http://myschema.example.com/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://myschema.example.com/ test-schema.xsd ">
  <MyHTMLElement>
    <xhtml:p>This is an XHTML paragraph!</xhtml:p>
  </MyHTMLElement>
</Root>
Run Code Online (Sandbox Code Playgroud)

schematest.php

<?php
$data_dom = new DOMDocument();
$data_dom->load('test-data.xml');

// Multiple validations using the schemaValidate method.
for ($attempt = 1; $attempt <= 3; $attempt++) …
Run Code Online (Sandbox Code Playgroud)

php xml xsd libxml2 xsd-validation

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

使用 react-sortable-hoc 和 react-virtualized 的 MultiGrid

我想将react-sortable-hocreact-virtualized 的 MultiGrid 一起使用。更具体地说,我希望能够对右下方网格中的行进行排序。

第一次尝试

我正在创建一个 SortableMultiGrid 使用

const SortableMultiGrid = SortableContainer(MultiGrid, {
  withRef: true,
});
Run Code Online (Sandbox Code Playgroud)

但是当这个安装时我收到一个错误,这个消息

无法读取未定义的属性“ownerDocument”

该错误源自SortableContainer的 componentDidMount 方法

第二次尝试

我发现它SortableContainer有一个getContainer属性,它在抛出错误的代码上方被调用:

返回可滚动容器元素的可选函数。此属性默认为 SortableContainer 元素本身或(如果 useWindowAsScrollContainer 为 true)窗口。使用此函数指定自定义容器对象(例如,这对于与某些 3rd 方组件(如 FlexTable)集成很有用)。这个函数传递了一个参数(wrappedInstance React 元素),它应该返回一个 DOM 元素。

它是用 MultiGrid 组件实例调用的,但是当我尝试从中获取 DOM 节点时,它返回null

getContainer={e => {
  const multiGrid = ReactDOM.findDOMNode(e);
  // multiGrid is null - I must return an HTMLElement
}}
Run Code Online (Sandbox Code Playgroud)

我怀疑这可能是由尚未安装的 MultiGrid 组件引起的,我怀疑我所看到的与https://github.com/clauderic/react-sortable-hoc/issues/135相关。

第三次尝试 - 有效,但它是一个黑客 …

reactjs react-virtualized react-sortable-hoc

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

使用ORMLite获得数据库中表示的字符串列表

首先,我是ORMLite的新手.我希望我的模型类有一个字段,它是一个字符串列表,最终会保存我的模型对象的标签列表.我应该使用哪些ORMLite注释?

首先,我不想拥有所有标签的表,然后使用@ForeignCollectionField.我还想到了使用@DatabaseField(dataType=DataType.SERIALIZABLE)注释,但事实证明List<String>它没有实现Serializable接口.

你有什么建议?

ormlite

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