小编Jos*_*ter的帖子

Android:蓝牙打印

我必须为Android平板电脑开发一款App,要求将文件打印到蓝牙打印机.通过蓝牙打印是我的应用程序最重要的功能之一.不幸的是,关于这个主题的信息并不多,所以我想征求意见.

据我所知,不可能在Android上使用蓝牙打印(使用本机调用),因为Android的BT Stack不实现BPP(基本打印配置文件).做一点研究我发现了以下替代方案:

软件开发工具包/库

  • Sybase-iAnywhere-Blue-SDK-for-Android:支持大量BT配置文件的商业SDK.由一家大公司开发(我猜是很好的支持).我还没有找到很多关于这个的信息.是否有一些关于如何使用此SDK的文档,API或示例?有谁知道如何下载演示版?(上次我试过时链接好像坏了)
  • iPrint SDK:商业SDK.他们网站上的一些例子,但没有别的.
  • Zebralink:仅适用于Zebra打印机(自然).其他制造商也可能为其打印机提供API.

Google Play应用

  • PrinterShare:商业(高级密钥)
  • 蓝牙智能打印:自由轻巧.声称打印到蓝牙打印机.

理想情况下,我不希望被绑定到特定的品牌或打印机型号.现在的问题是:

  • 您认为这是最佳选择?
  • 你知道我错过的其他选择吗?
  • 我可以使用外部应用程序从我的应用程序轻松打印文件吗?
  • 我的文件应该用什么格式才能通过蓝牙打印?(PDF,图像等).
  • 有关打印机制造商和型号的任何建议吗?
  • 您是否有在Android上通过蓝牙打印的真实体验?
  • 是否有计划在不久的将来在Android上实施蓝牙打印?

在此先感谢您的帮助 ;)

android bluetooth

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

IntelliJ IDEA的"重构"键盘快捷键

在Visual Studio中(使用IDEA键映射),Ctrl+ Shift+ R将显示"重构"菜单.

我如何在IntelliJ中做同样的事情?

在Windows上.

windows keyboard-shortcuts intellij-idea

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

删除Java中的文件扩展名

(不包括任何外部库.)

在不假设文件名的情况下,删除Java中文件扩展名的最有效方法是什么?

一些例子和预期结果:

  • 文件夹>文件夹
  • hello.txt>你好
  • read.me>阅读
  • hello.bkp.txt> hello.bkp
  • 奇怪的..名字>很奇怪.
  • .hidden> .hidden

(或者应该隐藏最后一个?)

编辑:原始问题假设输入是文件名(不是文件路径).由于一些答案是在讨论文件路径,因此这些函数也适用于以下情况:

  • rare.folder/hello> rare.folder /你好

Sylvain M的答案很好地处理了这个特例.

java file-extension

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

Rails使用send_file发送0字节文件

我无法使send_file(Model.attachment.path)工作.它不会失败,相反,它会向客户端发送一个0字节大小的文件,但文件名是正确的.

在我从Rails 2.3.8迁移到3之后,这个问题开始发生了.

此次迁移中还发生了很多其他事情,我会尽力详细说明所有这些事情.

  1. Distrubution更改/服务器更改.Rackspace RHEL5到Linode Ubuntu 10.04LTS
  2. Ruby版本更改,1.8.6 - > 1.9.2
  3. Rails版本更改,2.3.8 - > 3.0.0
  4. httpd平台更改,apache2 - > nginx(不过我试过apache2也没用).

我通过ftp移动附件,因为它们不是我的git存储库的一部分,因此它们通过cap deploy发布,而不是手动ftp远程(RHEL5)到本地(Win7)然后本地(Win7)到远程(Ubuntu10).

我知道FTPing不会通过传输保留文件权限,所以我所做的就是模仿我之前服务器上看到的chmod,因此它们几乎相同.(用户/组不同,设置为root:root而不是olduser:olduser).

从生产日志下载附件的请求的片段.

Started GET "/attachments/replies/1410?1277105698" for 218.102.140.205 at 2010-09-16 09:44:31 +0000
  Processing by AttachmentsController#replies as HTML
  Parameters: {"1277105698"=>nil, "id"=>"1410"}
Sent file /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc (0.2ms)
Completed 200 OK in 78ms
Run Code Online (Sandbox Code Playgroud)

一切都还好.我还要排除本地问题,我尝试在Win7和Ubuntu(在Vbox上)通过Chrome下载.

我还要向你保证,这条道路确实是正确的.

root@li162-41:/srv/app/current# tail /srv/app/releases/20100916094249/attachments/replies/UE0003-Requisition_For_Compensation_Leave.doc
#
    #
         %17nw
                 HQ??+1ae????
                                             %33333333333(??QR???HX?"%%??@9
??@?p4??#P@??Unknown????????????G??z ?Times New Roman5??Symbol3&?
                       ?z ?Arial5&?
Run Code Online (Sandbox Code Playgroud)

总结一下这个问题,如何让send_file实际发送文件而不是假的0字节垃圾.

linux ruby-on-rails nginx

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

React Native外部样式表

在React Native中是否有一种方法可以将我的所有样式放在一个文件中,这样就可以很容易地维护(从我的角度来看),就像HTML中我们有一个.css文件一样.

而且我有一个模块,根据当前用户有不同的样式.

ios reactjs react-native

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

Rails:无法在迁移中添加:precision或:scale选项和change_column?

这似乎在之前被问过:rails decimal precision和scale

但是,在运行时,change_column迁移:precision:scale它们实际上并不影响模式或数据库,但db:migrate没有错误运行.

我的迁移文件如下所示:

class ChangePrecisionAndScaleOfPaybackPeriodInTags < ActiveRecord::Migration
  def self.up
    change_column :tags, :payback_period, :decimal, { :scale => 3, :precision => 10 }
  end

  def self.down
    change_column :tags, :payback_period, :decimal
  end
end
Run Code Online (Sandbox Code Playgroud)

但我的架构(和数据)仍然是:

t.decimal  "payback_period"
Run Code Online (Sandbox Code Playgroud)

还有其他人有这个问题吗?

谢谢,

玩笑

migration precision ruby-on-rails decimal scale

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

将文件夹添加到资产管道路径?

我们有一个rails应用程序,我最近从Rails 3.0更新到Rails 3.2.这个应用服务多个客户.要为每个客户端自定义它,我们有目录app/themes.在有子模块.每个子模块包含类的东西locales/en.yml,views/layouts,views/controller_name等我们使用prepend_view_path添加主题的意见,并I18n.load_path在语言环境中添加.我们正在考虑使用资产管道,以便我们可以将所有客户端材料混合在公共目录之外,并将其保存在每个主题中.

有没有办法可以动态告诉rails加载我想要的主题/主题名称/资源文件夹?我们使用设置逻辑来设置哪个主题是活动的.因此,如果我将主题设置为"google",ApplicationController则会从路径中加载文件:

app/themes/google/locales/*.yml
app/themes/google/views
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是拥有清单文件,

app/themes/google/assets/stylesheets/application.css
Run Code Online (Sandbox Code Playgroud)

布局很容易访问,就像在app/views/layouts文件中一样:

= stylesheet_link_tag "application"
Run Code Online (Sandbox Code Playgroud)

有没有办法可以做到这一点?或者我们是否需要手动将资产移动到实际资产目录中?

ruby-on-rails asset-pipeline

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

调试改进错误消息的最佳方法

我是Retrofit的新手.我使用过Volley,我有点喜欢Retrofit.当我在尝试POST 时遇到这个非描述性的错误消息时,我正准备选择Retrofit .

 Exception in thread "main" retrofit.RetrofitError
    at retrofit.RetrofitError.httpError(RetrofitError.java:37)
    at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:413)
    at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:282)
    at myapi.api.$Proxy7.logon(Unknown Source)
    at myapi.api.TestDriver.main(TestDriver.java:94)
Run Code Online (Sandbox Code Playgroud)

好吧,我必须说这种类型的错误信息与撒哈拉沙漠中的一件温暖夹克一样有用.

有没有人知道从哪里开始调试这种类型的消息?我真的不想委托一个没有提供有用错误消息的REST api.

java debugging rest android retrofit

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

当Google Play开发者控制台收到崩溃或ANR时,是否可以收到通知(例如电子邮件)?

我使用BugSnag(类似于BugSense,Bugify等)来跟踪和管理我的Android应用程序错误,但是,在BugSnag初始化之前,我遇到应用程序崩溃的情况,因此找到此崩溃报告的唯一地方是Google播放Developer Console崩溃报告.

这很好,但是我不得不手动检查开发人员控制台,发现有些错误没有被BugSnag捕获(顺便说一下,它们没有明显的错误).

发生错误时,有没有办法从Google Play Developer Console设置电子邮件通知?

crash notifications android google-play

16
推荐指数
1
解决办法
3223
查看次数

添加新的行动路线

我在用户控制器中获得了这些操作

class UsersController < ApplicationController
  def index #default action
    ...
  end

  def new #default action
    ...
  end

  def another_new
    ...
  end

  def create
    ...
  end

  def another_create
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

我希望能够通过 /users/another_new某种链接:method => :another_create 进行调用/users/another_new

我得到了以下config/routes.rb

get '/users/another_new' :to => 'users#another_new'
resources :users
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果这是添加的正确方法get以及我如何添加another_create方法.

ruby routes ruby-on-rails

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