小编gjt*_*ian的帖子

当你有密钥时,让Git项目成为开源的

我在私有存储库后面的GitHub上有一个项目.我想公开回购.但是,我的项目使用密钥.

如何在保护这些密钥的"历史"的同时公开项目?我猜我是SOL,应该只是使密钥无效以防止它们被使用.

请注意,这与 如何开源使用API​​密钥的应用程序不同

要么

当您的应用程序使用个人API密钥时,如何处理"开源"?

由于我的项目已经在Git上,因此可以轻松查看整个源历史记录.我想我能做的就是隐藏一个单独的项目,隐藏API密钥,然后公开回购.但是用户会错过整个分支历史,他们可能会对此感到好奇(我知道我会).

git api open-source github secret-key

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

是否可以将内部数据库移动到SD卡?

随着我的应用程序中的数据库的增长,它将需要越来越多的内部手机空间.数据库中没有任何敏感/私人数据,所以我有兴趣将其移动到SD卡.

我正在使用SQLiteOpenHelper来协助数据库工作.我的理解是,您不能将其用于SD卡上的DB访问,因为您无法定义数据库路径.但是,Internet上有一些(非常差的)示例表明您可以覆盖此限制.但是我从来没有得到其中一个代码示例来编译.

可能吗?如果是这样 - 怎么样!请注意,Froyo的"SD卡上的应用程序"功能不起作用,因为它不会移动内部文件.

sqlite android sd-card

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

使用mapper和fileset将文件复制到不同的子目录中?

我想创建一个Ant目标,它将目录中的文件复制到具有相同文件夹结构的目标目录,再添加一个子文件夹.

例如,来源是:

a/b/c/foo.pdf
d/e/f/bar.pdf
Run Code Online (Sandbox Code Playgroud)

我希望目的地是:

a/b/c/x/foo.pdf
d/e/f/x/foo.pdf
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的目标,但它似乎没有做任何事情:

<copy todir="${dest.dir}">
   <fileset dir="${src.dir}" casesensitive="yes">
       <include name="**${file.separator}foo.pdf" />
   </fileset>      
   <mapper type="glob"
           from="foo.pdf" to="x${file.separator}foo.pdf" />            
</copy>
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

ant build-process copy

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

在不同的ViewFlipper视图上重新计算ScrollView?

我有一个包装ViewFlipper的ScrolLView.ViewFlipper中的内容高度不同,因此我的第二个屏幕有一个非常长的滚动条,随着空白内容一直打开:

<ScrollView android:id="@+id/outer_scroll"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:fillViewport="true">
<ViewFlipper android:id="@+id/flipper"
android:layout_width="fill_parent" android:layout_height="fill_parent">

<EditText android:id="@+id/desc" style="@style/DescriptionArea"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:enabled="false" android:focusableInTouchMode="false"
android:background="@null" />

<LinearLayout android:id="@+id/details_root"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="10dp">

<TextView android:id="@+id/item_details" style="@style/DetailsLarge"
android:textColor="#000" android:visibility="gone"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:text="@string/item_details_tags" />
<TextView android:id="@+id/tags" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:textColor="#000"
android:visibility="gone" />
</LinearLayout>
</ViewFlipper>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

因此,例如,EditText块非常长,滚动条捕获所有内容.我转向LinearLayout,滚动条继续通过TextView内容.我基本上需要它来"重新计算"视图高度.

此外,将EditText和LinearLayout包装在它们自己的ScrollViews中不是一个选项,因为软/虚拟键盘会阻止EditText内容.

xml android scrollview viewflipper

5
推荐指数
2
解决办法
3397
查看次数

在Java中对"签名"数据执行按位左移 - 更好地转移到JNI?

在过去的一周里,我一直在询问有关十六进制和按位操作(此处和其他地方)的问题,试图将我的头围绕在Java中.经过大量的谷歌搜索和懊恼之后,我必须最后一次询问如何对应该是无符号的位执行逻辑运算,但在Java中表示为signed.

好的:我正在将一个C#程序移植到Java.该程序处理位图操作,因此应用程序中的大部分数据表示为byte无符号的8位整数.有许多建议改为short在Java中使用数据类型,以便"模仿"尽可能接近无符号的8字节整数.

我不相信这对我来说是可能的,因为C#代码用我的字节数据执行各种移位和AND操作.例如,if data是一个字节数组,并且这个代码块存在于C#中:

int cmdtype = data[pos] >> 5;
int len = (data[pos] & 0x1F) + 1;

if (cmdtype == 7)
{
    cmdtype = (data[pos] & 0x1C) >> 2;
    len = ((data[pos] & 3) << 8) + data[pos + 1] + 1;
    pos++;
}
Run Code Online (Sandbox Code Playgroud)

这不是一个简单的问题,只需将其data作为一个short并完成它以使其在Java中工作.就逻辑而言,我的数据保持8位无符号的要求是显着的; 16位无符号将像上面那样拧动数学.我在这儿吗?事实上,在此之前"假铸造"之后byte0XFFcharJava和没有得到正确的结果,恐怕我进入了死胡同.

现在,在代码的另一部分,我正在执行一些位图像素操作.由于这是一个漫长的过程,我决定通过JNI调用本机代码.我最近意识到,在那里我可以使用uint8_t数据类型并获得最接近C#byte数据类型的表示.

解决方案是否使我的所有数据相关功能都在JNI中运行?这似乎非常低效,无论是重写还是表演.解决方案是用Java重做数学所以逻辑保持不变吗?这似乎是正确的,但有可能诱发动脉瘤,更不用说错误的数学.

我感谢任何和所有的建议.

c# java java-native-interface byte bit-manipulation

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

在C中替代gettext lib?

我有一个完全用C的Android NDK项目.我有一堆.po文件,目前配置了libintl.

不幸的是,根据Google开发人员的说法,我觉得我希望在我的项目中使用gettext,因为Android不支持在如此低级别设置区域设置.

有什么办法可以继续支持我的项目本地化吗?

c localization gettext android-ndk

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

我想 - 在OS X上敏感地工作.是否可能?

我正在开发一个使用该-e标志的脚本,如

unless (-e $fileName)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

这在OS X上工作正常.或者说,它无法正常工作.我希望它区分大小写.该脚本也在Linux机器上运行,-e检查失败 - 正确! - 因为区分大小写.

我尝试使用替代路径open <FILEHANDLE, '$fileName'),但似乎这也是不区分大小写的.

编辑:感谢下面回答的所有人.我知道HFS +不区分大小写,但我认为我可以以某种方式"强迫"它.我最终通过执行以下操作来强制检查:

opendir my($dh), $dirName or die "Couldn't open dir '$dirName'";
my @refFiles = readdir $dh;
closedir $dh;

foreach $refFile (@refFiles)
{
    if ($refFile eq $refFileName)
    {
        $found = 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

着名的口头禅:"它不漂亮,但它有效."

macos perl case-sensitive case-insensitive

5
推荐指数
2
解决办法
642
查看次数

在Java中将十六进制数据读入字节数组?

我正在使用Java从SNES ROM读取数据.我打开一个流并将字节读入数组:

InputStream stream = open("foo.rom");
final int startingSize = stream.available();
byte[] data = new byte[startingSize];
final int numberRead = stream.read(data, 0, startingSize);
Run Code Online (Sandbox Code Playgroud)

在ROM中,我有这个值:

E4 2B 00 02 03 00 FF 3A 00 83

228 43 0 2 3 0 255 58 0 131(十进制)

但是,我的代码表现得很奇怪.设置一些调试语句后,我使用String.valueOf(data [ref])打印时有这种模式:

-28 43 0 2 3 0 -1 58 0 -125

(ROM中的这个地址是第一个出现数据的地址,但我注意到程序中其他地方的值不正确.)

尽可能接近我可以告诉我的Java字节数组不尊重十六进制数据.如何设置我的字节数组呢?

java hex bytearray stream

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

EditText没有捕获ViewFlipper flings?

这令人抓狂.我有以下XML布局:

<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/shadow" android:focusable="true" android:focusableInTouchMode="true">
    <ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <EditText android:id="@+id/reviews" style="@style/DescriptionArea" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:background="@null" />
     <EditText android:id="@+id/notes" style="@style/DescriptionArea" android:hint="@string/detail_hint" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:maxLines="4"/>
    </ViewFlipper>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

和Java:

viewFlipper = (ViewFlipper)findViewById(R.id.flipper);
    slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);
    slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);
    slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);
    slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);

    gestureDetector = new GestureDetector(new MyGestureDetector());
    gestureListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            if (gestureDetector.onTouchEvent(event)) {
                return true;
            }
            return false;
        }
    };
Run Code Online (Sandbox Code Playgroud)

看起来如果我尝试在EditText区域顶部进行操作,则手势不会注册.但是,如果我周围 …

android gesture viewflipper android-edittext

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

我可以使用对话框标题吗?

我有一个Activity作为Theme.Dialog运行.我可以将其标题设置为"椭圆形"样式吗?目前,使用setText()在onCreate()中填充文本.在TextView上没有this.setEllipsize().

或者,我唯一的选择是编写自定义对话框并在那里设置标题样式?我想知道在走这条路之前是否可行.

android dialog title

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

Proguard,Android和抽象类实例化

"抽象类实例化",你说."不可能!"

这是我的代码:

public static AbstractFoo getAbstractFoo(Context context) {
    try {
        Class<?> klass = Class
                .forName("com.bat.baz.FooBar");
        Constructor<?> constructor = klass.getDeclaredConstructor(
                String.class, String.class);
        constructor.setAccessible(true);

        AbstractFoo foo = (AbstractFoo) constructor.newInstance(
                "1", "2");
        return foo;
    } catch (ClassNotFoundException e) {
        // Ignore
    } catch (NoSuchMethodException e) {
        throw new InflateException(
                "No matching constructor");
    } catch (IllegalAccessException e) {
        throw new InflateException("Could not create foo", e);
    } catch (InvocationTargetException e) {
        throw new InflateException("Could not create foo", e);
    } catch (InstantiationException e) {
        throw new …
Run Code Online (Sandbox Code Playgroud)

android abstract-class proguard

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

将glReadBuffer()/ glDrawBuffer()调用转换为OpenGL ES

我无法理解如何将glReadBuffer()和glDrawBuffer()调用移植到Open GL ES 1.1中.互联网上的各种论坛帖子只是说"使用维也纳国际中心",而不是更深入.

你能帮我理解一次合适的转换吗?说我有:

glReadBuffer(GL_FRONT);
Run Code Online (Sandbox Code Playgroud)

其次是

glDrawBuffer(GL_BACK_LEFT);
state->paint(state_id, f);
Run Code Online (Sandbox Code Playgroud)

如何写出像素?

buffer opengl-es

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