小编Dan*_*iel的帖子

将文件从Android WPD设备传输到PC

我的Android应用程序生成一些文件,我需要与我的主PC程序同步,反之亦然.我这样做的常用方法是使用一个FTP帐户,我的Android应用程序和我的PC程序都获取最新版本的文件,这很好用.我的一些客户在他们的Android设备上没有互联网访问权限,因此必须通过USB电缆连接到PC来与我的程序同步.为此,我在我的电脑程序中的程序将在Android设备上的指定文件夹中的文件同步.问题是此方法仅在Android设备可以作为驱动器安装时才有效,因此可以通过Windows为其分配驱动器号.

某些设备,尤其是运行Honeycomb的平板电脑(我在三星Galaxy 10.1标签和联想Thinkpad平板电脑上经历过这种设备)不会作为驱动器安装,而是作为Windows便携设备(WPD)连接.在这种情况下,我无法从我的程序(用Delphi编写)访问设备,因此我的同步文件的例程不起作用.

我的例程必须知道要同步的文件夹的特定位置才能工作,所以如果我可以将文件从设备传输到PC上的临时文件夹,同步它们并可能将文件传回设备,这将解决我的问题.

任何人都可以建议一种方法,我可以将文件从WPD设备传输到我的PC上的文件夹,然后再返回?它必须自动化,因为我的客户端无法手动传输文件.或者,有没有办法强制WPD设备作为普通外部驱动器运行并分配驱动器号?

delphi android wpd

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

防止某些字段被.NET Azure Web Api中的PATCH覆盖

我正在创建一个具有.NET后端的Azure移动服务,该后端使用TableController(ApiController的子类)来处理REST请求。

在我的PATCH方法中,我想限制允许更新的字段集。我有一个AccountController,我不想在其中将字段UsernameUserId覆盖。

public class AccountController : TableController<Account>
{
...
// PATCH tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
   public Task<Account> PatchAccount(string id, Delta<Account> patch)
   {            
            return UpdateAsync(id, patch);          
   }
...
}
Run Code Online (Sandbox Code Playgroud)

403: Forbidden如果连接到API的客户端尝试更新用户名或userId,我想发送有意义或类似的HTTP响应。因此,我需要某种方式来了解Delta补丁的内容,或者在更新“禁止”字段时具有自动响应。

.net c# azure asp.net-web-api

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

如何在 Android 上使用 Firebase ML Kit 检测个位数?

我遵循了Android 上 Firebase ML Kit的设置指南,并创建了一个简单的应用程序,该应用程序可以使用设备上的文本识别器识别位图图像上的文本。它开箱即用,效果很好,但有一种情况似乎不起作用:识别个位数。

在这张图片中,它可以识别所有超过一位的数字,但不能识别一位数的数字。

在此处输入图片说明

当我调试返回的 FirebaseVisionText 对象时,我看到 12、10、45%、10 和 83%,但没有看到 6、2、0、0、0 和 2。

我正在使用 ocr 模型(在清单中定义):

 <meta-data
        android:name="com.google.firebase.ml.vision.DEPENDENCIES"
        android:value="ocr" />
Run Code Online (Sandbox Code Playgroud)

是否有任何其他模型或某些配置可以更改,以允许文本识别器检测单个数字?

android text-recognition firebase firebase-mlkit

6
推荐指数
0
解决办法
1034
查看次数

在Android Spinner中设置文本颜色

我想更改Android中微调器中显示的所选项目的颜色(目标API等级为16级).我已尝试在SO上发布了几个解决方案,包括为我的微调器项创建自定义布局,并使用ColorStateList作为自定义布局的文本颜色属性,但无济于事.微调器显示在半透明背景上 - 因此项目的自定义布局不起作用,因为它为微调器添加了颜色.目前我的黑客解决方案是

if (_colorCodeSpinner.getSelectedView() != null) {
    ((TextView) _colorCodeSpinner.getSelectedView()).setTextColor(0xFFFFFFFF);
}
Run Code Online (Sandbox Code Playgroud)

但这仅在所选视图不为空(它在方向更改时)时有效.

我无法相信没有简单的解决方案来设置文本颜色.这似乎是你经常做的事情.同样改变箭头的颜色,我目前正在做的

_colorCodeSpinner.getBackground().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?在旋转器上更改颜色的推荐方法是什么?

Android微调器

如图所示,微调器中显示的所选项目的文本颜色为黑色,但我想将其更改为白色.

编辑

澄清一下:我不是在寻找一些在运行时覆盖值的小代码(比如我在这个问题中发布的两个片段).我正在寻找一种实际的方法来正确地做到这一点(比如XML布局或主题).要设置文本颜色属性一次,所以每次我选择一个项目时都不需要更新它.

android spinner android-layout android-spinner

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

在C Sharp中使用RSA对128个字节的字节数组进行签名

我对密码学是完全陌生的,我需要使用C Sharp生成的RSA密钥对128字节的字节数组进行签名。密钥必须是1024位。

我发现了一些如何在C Sharp中使用RSA的示例,而我目前正在尝试使用的代码是:

public static void AssignParameter()
{
    const int PROVIDER_RSA_FULL = 1;
    const string CONTAINER_NAME = "SpiderContainer";
    CspParameters cspParams;
    cspParams = new CspParameters(PROVIDER_RSA_FULL);
    cspParams.KeyContainerName = CONTAINER_NAME;
    cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
    cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";
    rsa = new RSACryptoServiceProvider(cspParams);
    rsa.KeySize = 1024;
}

public static string EncryptData(string data2Encrypt)
{
    AssignParameter();
    StreamReader reader = new StreamReader(path + "publickey.xml");
    string publicOnlyKeyXML = reader.ReadToEnd();
    rsa.FromXmlString(publicOnlyKeyXML);
    reader.Close();

    //read plaintext, encrypt it to ciphertext

    byte[] plainbytes = System.Text.Encoding.UTF8.GetBytes(data2Encrypt);
    byte[] cipherbytes = rsa.Encrypt(plainbytes, false); …
Run Code Online (Sandbox Code Playgroud)

c# cryptography rsa

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

在iOS和Android中获取指压的位置

我正在使用Delphi XE5为Android(和iOS)开发.

使用Delphi XE5中Touch属性的InteractiveGestures,我可以获得一个GestureEvent用于Zoom,Pan,Rotate,TwoFingerTap,PressAndTap,LongTap和DoubleTap.所有这些都附带一个TGestureEventInfo对象,我可以在其中获取事件的位置,例如.手指的坐标.

然而,似乎没有一个只是简单的点击/按下的手势.我知道OnClick事件在这种情况下解雇,但OnClick事件并没有拿出一个TGestureEventInfo对象,所以我不能让水龙头的位置.这似乎是获取信息的一个非常重要的事件.

我错过了什么吗?如何获得简单点击手势的位置?

delphi android ios firemonkey delphi-xe5

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

防止自定义SurfaceView在其他视图之上绘制

我创建了一个自定义的SurfaceView,用于绘制形状,用户可以缩放和平移视图以与形状进行交互。这一切的伟大工程,但现在的问题是,形状将总是在顶部绘制一切都在我的屏幕上,还对如按钮和textviews其他视图顶部。我尝试过以不同的方式在XML布局中对自定义视图和按钮进行排序,并尝试将视图作为FrameLayouts和RelativeLayouts的父项(如此处建议)。

我希望按钮和其他布局元素浮在我的自定义视图之上。如下图所示,当我平移视图时,矩形将遮盖按钮。

如何防止自定义SurfaceView绘制在所有内容之上?

在此处输入图片说明

我的绘图代码在SurfaceView类的单独线程中运行:

public class CustomShapeView extends SurfaceView implements Runnable, SurfaceHolder.Callback {

/* Other implementation stuff */

@Override
public void run() {
    while (isDrawing) {
        if (!holder.getSurface().isValid())
            continue; //wait till it becomes valid  

        Canvas canvas = null;
        try {
            canvas = holder.lockCanvas(null);
            synchronized (holder) {
                try {
                    lock.lock();                                
                    canvas.concat(sampleMatrix);
                    canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
                    drawShapes(canvas);                     
                } finally {
                    lock.unlock();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (canvas != null) {
                holder.unlockCanvasAndPost(canvas);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

android drawing android-layout

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