小编kat*_*tit的帖子

Android以最有效的方式将图片上传到服务器

我需要将图像与其他数据(非常类似于带有附件的电子邮件)一起提供给服务器.我还需要以可靠的方式做到这一点,所以我可以在失败时重试等.

服务器是WCF REST服务器,我用它做了很多其他的通信(JSON),但只是上传图像的新要求.

由于我使用JSON将数据发布到我的服务器 - 我在Android端使用GSON来序列化数据.

这是我到目前为止实现它的方式(其他一切都以这种方式工作,但我刚开始使用图像)

  1. 用户填写活动字段(文本数据)
  2. 用户通过相机意图拍摄一些照片.目前我只使用1个文件的图片
  3. 我从SDCard拍照,加载/调整它 - 在ImageView上显示并存储在byte []中
  4. 用户提交 - 我将所有数据与来自byte []的图像一起放入Java对象中
  5. 调用GSON转换器和序列化对象
  6. 将对象保存到SQLite中
  7. AsyncTask在SQLite中查找记录,打开游标和获取文本
  8. AsyncTask创建HttpConnection并将文本数据发布到我的服务器.
  9. 结束

现在我的问题..显然在#3 - 我用我的字节数组"爆炸"ram.有时我甚至觉得我的Nexus S变得迟钝了.但通过这样做 - 我避免用许多文件填充SD卡或app文件夹.我拍照而不是抓住它.下一张图片将覆盖前一张图片.

第5步很慢.我没有在GSON上尝试自定义序列化器,而不是将字节数组序列化为类似[1,-100,123,-12]的东西,我可以使用Base64获得更小的尺寸,但仍然如此.它会很慢.我最多可以有20张图片......

第6步没问题.但是对于一定的大小(我试过300px图像),我开始在OpenCursor的第7步中得到错误

07-06 20:28:47.113: ERROR/CursorWindow(16292): need to grow: mSize = 1048576, size = 925630, freeSpace() = 402958, numRows = 2
07-06 20:28:47.113: ERROR/CursorWindow(16292): not growing since there are already 2 row(s), max size 1048576
07-06 20:28:47.113: ERROR/Cursor(16292): Failed allocating 925630 bytes for text/blob at 1,1
Run Code Online (Sandbox Code Playgroud)

所以,这件事并不是我喜欢的.理想情况下,我希望所有数据都以单件形式上传到服务器.

我想也许可以在SD卡上存储时间戳的图像,只在DB中存储他们的名字.比我在发送到服务器之前处理它们.成功后我会删除那些图像.这种逻辑会使SQLite模式更加复杂,但也许没有更好的方法?!

我想我正在寻找处理图像的最佳实践.如何使用最少的内存/ CPU使用率进行操作:

  1. 拍照片
  2. 显示缩略图
  3. 调整 …

android android-image android-imageview

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

Android页面/边缘检测和转换页面.转换为B/W tiff

可能不是在寻找解决方案,而是在寻找相关指导.这是在我们的Android应用程序中实现"文档扫描程序".

我需要做到这一点:

  1. 用相机拍照(没问题)
  2. 检测页边/角(???)
  3. 允许用户移动/调整角落(没问题)
  4. 变换图像使其成为矩形(???)
  5. 将图像转换为B/W TIFF或其他适当的格式,以便通过移动网络传输(紧凑,每像素位)(???)

我尝试了什么.我们尝试使用Open CV.这是巨大的,有NDK.设置和基础设施相当复杂.

有没有更轻的设计用于完成这项任务?即使商业也可能没问题.

只是寻找关于如何处理这个的建议..主要问题是检测边缘和转换我认为..

android imaging

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

ReSharper忽略TODO资源管理器上的某些文件夹

我在我的解决方案中使用SignalR,他们的Nuget包带来了java脚本.没关系,但问题是 - 那里有TODO,现在出现在我的TODO列表下面.

因此,当ReSharper扫描TODO的时候,我想忽略特定的文件夹或文件.

我试图从"代码检查"中排除文件夹,但这似乎不适用于TODO.

可能?(最新的resharper,vs2015)

c# resharper visual-studio-2015

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

新的 Angular 项目不会在严格模式下编译

使用 CLI 修改生成的 Angular 项目tsconfig,添加了严格的选项

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "strict": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": ["node_modules/@types"],
    "lib": ["es2017", "dom"]
  }
}
Run Code Online (Sandbox Code Playgroud)

运行时出现ng serve以下错误:

src/app/app.component.ts(2,29) 中的错误:错误 TS7016:找不到模块“util”的声明文件。'D:/proj/node_modules/util/util.js' 隐式具有 'any' 类型。尝试npm install @types/util它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'util';

我试过npm install建议 - 这个模块不存在。我还尝试删除 node_modules 并执行npm install. 一样。任何指针?

编辑

app.component.ts

import { Component, OnInit } from "@angular/core";
import { isUndefined } from …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

TextView在输入文本之前显示提示

如何将文本放入空TextView,以便在用户开始输入时消失?就像在"标签"字段下的StackOverflow中一样.

与GMail客户端使用的方法相同.这将为我节省一些空间 - 无需创建标签..

android

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

WPF DataGrid如何根据绑定数据将ColumnType设置为不同的类型?

我有"首选项"数据结构,其中我有字符串"值"字段和"类型"字段的枚举.

类型可以是0-Boolean,1-Integer,2-String ...

根据此类型字段中的值,我想以不同的方式显示"值"单元格复选框,文本框,下拉列表等.因此,要清楚 - 相同的列应根据该行中的数据显示不同的单元格.

我想我需要使用DataGridTemplateColumn,但我从来没有这样做过,如果可能的话,我想要一些例子.

另外,我可以用XAML做什么以及在Code中需要做什么?我想也必须使用Value转换器?

c# wpf binding datagridtemplatecolumn

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

如何模拟IE8环境?

我正在IE10/Windows 8 + VS2012上开发asp.net网站

用户注意到一些工件,他们使用IE8.如果我使用F12工具并将网站设置为IE8,我看不到它.我需要真正的IE8 for dev/test /

我该如何正确模仿它?

emulation internet-explorer-8

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

工作区缺少工作副本中的链接文件

不是Xcode的Pro,这是我的问题.我有主项目和Pods项目.上次在1年前检查过旧的cocoapod和旧的Xcode.

现在我安装了所有内容并使用最新的cocoapod在最新的Xcode中签入.我能够刷新pods,一切都编译好了.但是,我确实得到了那些奇怪的警告.如何清理并将其移除?

我相信它与Pod的链接/标题如何工作以及它现在如何工作有关.但是我该如何清理它呢?

file:///Users/c/Documents/DMD/Pods/BuildHeaders/GoogleProtobuf/google/protobuf/io/coded_stream_inl.h: warning: Missing file: /Users/c/Documents/DMD/Pods/BuildHeaders/GoogleProtobuf/google/protobuf/io/coded_stream_inl.h is missing from working copy

在此输入图像描述

xcode objective-c

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

仿真器中的假位置和速度.KML还是GPX?

我想到如何连接模拟器+ IntelliJ + DDMS,我可以很好地欺骗GPS位置.

我想到了如何生成KML和GPX文件.

问题我有:1.我使用谷歌地图生成的KML文件没有速度信息.2. GPX文件甚至不会在DDMS中打开

理想情况下,我想用KML或GPX解决我的问题(我不关心使用哪种格式)但我需要将坐标和速度提供给模拟器.

有没有办法实现这个目标?

android

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

如何使用Java中的回调来调用函数,就像我在C#中一样?

我是Java新手,但我需要编写类似C#代码的东西(这是手工打造的原型,只是为了说明我需要的东西)

private void ParentFunc()
{
    var worker = new WorkerClass()

    worker.DoWork(e => console.Write("Progress" + e));


}

public class WorkerClass()
{
    public method DoWork(Action<int> callback)
    {
        for (int i=1; i<1000; i++) callback.Invoke(i);  
    }
}
Run Code Online (Sandbox Code Playgroud)

小解释.我AsyncTask在android中使用并在处理器外部进行调用,但希望它们能够发出信号,以便我可以publishProgress.我不想把界面放在我的身上AsyncTask

c# java android delegates

6
推荐指数
2
解决办法
1883
查看次数