小编BFi*_*Fil的帖子

使用蓝牙OBEX对象推送配置文件(OPP)发送文件

有没有办法使用OBEX使用android bluetooth API发送文件?

我需要将文件发送到仅支持OBEX OPP的打印机.

我可以使用android意图ACTION_SEND将文件发送到打印机没有问题,但我需要以编程方式发送它..

我可以使用方法createRfcommSocketToServiceRecord()使用OBEX OPP UUID(1105)连接到蓝牙打印机,但是我应该遵循obex规范使用OBEX发送文件..它不像将字节写入输出套接字那么简单. .

但是如果意图ACTION_SEND可以处理这个问题,为什么开发人员没有任何API发送文件?

我还检查了一些像BlueCove这样的第三方库,但我仍然没有让它工作..(Nexus One和Galaxy Tab抛出异常,说本机库bluecove_armv71不可用..而且LG Optimus One说bluecove_armv61不是不可用..)

我被卡住了,有什么想法吗?

工作解决方案

对于任何试图将文件发送到蓝牙设备而没有运气的人,我使用内容提供商提供了一个有效的解决方案(感谢KPBird):

从这里抓取java类BluetoothShare

以下代码将SD卡上的文件发送到蓝牙设备:

BluetoothDevice device;
String filePath = Environment.getExternalStorageDirectory().toString() + "/file.jpg";

ContentValues values = new ContentValues();
values.put(BluetoothShare.URI, Uri.fromFile(new File(filePath)).toString());
values.put(BluetoothShare.DESTINATION, device.getAddress());
values.put(BluetoothShare.DIRECTION, BluetoothShare.DIRECTION_OUTBOUND);
Long ts = System.currentTimeMillis();
values.put(BluetoothShare.TIMESTAMP, ts);
Uri contentUri = getContentResolver().insert(BluetoothShare.CONTENT_URI, values);
Run Code Online (Sandbox Code Playgroud)

UPDATE

有些人遇到上述解决方案的问题,已经在以下设备上进行了测试:

适用于:

  • LG Optimus One(Android 2.1)
  • HTC Desire(Android 2.2)
  • 谷歌Nexus One(Android 2.2和2.3)
  • 三星Galaxy S2(Android 4.0.3)
  • HTC Amaze(Android 2.3.4)

有问题:

  • LG P500(Android 2.3.3)
  • Galaxy TAB …

android bluetooth file send obex

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

单击两次后无法在iOS上键入html输入字段

我在iOS上遇到了一个问题,我为它做了一个小提琴:

http://jsfiddle.net/Hk56Q/

如果事件监听器被添加到文档中以用于任何触摸事件(touchstart/touchmove/touchend),如下所示:

function onTouch( e ){};
document.addEventListener( 'touchstart', onTouch, false );
Run Code Online (Sandbox Code Playgroud)

这导致输入字段在iOS上具有以下行为:

  • 第一次触摸:输入获得焦点,用户可以正确输入
  • 随后的触摸(专注于现场已经存在):打字不再起作用

我在iPad和iPhone(模拟器和实际设备)上在iOS 5,5.1和6上遇到并测试了这个问题.

唯一的修复似乎是删除事件监听器以恢复输入字段的正确行为(或实际上从不添加监听器):

document.removeEventListener( 'touchstart', onTouch);
Run Code Online (Sandbox Code Playgroud)

我还注意到,如果页面上有多个iframe,并且其中一个iframe将监听器添加到其文档中,它也会破坏其他iframe的输入字段.

小提琴在我的Android手机上表现正常.

任何想法为什么会发生这种情况?或者如何为触摸事件提供全局自定义事件处理程序,而不会破坏iOS上的输入?

javascript events input touch ios

13
推荐指数
2
解决办法
5179
查看次数

基于WPF和MVVM模式中的嵌套模型实体构建ViewModel

我在理解如何基于以下模型构建视图模型时遇到问题

(我将模型简化为更清晰)

public class Hit
{
   public bool On { get; set;}
   public Track Track { get; set; }
}
public class Track
{
   public ObservableCollection<Hit> Hits { get; set; }
   public LinearGradientBrush Color { get; set; }
   public Pattern Pattern { get; set; }
}
public class Pattern
{
   public string Name { get; set; }
   public ObservableCollection<Tracks> Tracks { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是,如何构建ViewModels ..

我需要通过模型保持原始关系,beacaus我在Pattern上有一个Serialize()方法,将它序列化为XML文件..(带有相关的Tracks和Hits)

为了能够将模式绑定到用户控件和它的嵌套模板,我还应该有一个带有ObservableCollection <TrackViewModel>的PatternViewModel,对于TrackViewModel和HitViewModel来说也是如此...我需要在查看不属于业务对象的模型(颜色和更多..)

在视图模型上复制模型的所有关系对我来说似乎不是一件好事......并且在编写视图模型时跟踪所有这些关系也更容易出错.

谁有更好的方法/解决方案?

wpf nested mvvm viewmodel

12
推荐指数
1
解决办法
3403
查看次数

WPF图像:在多个源更新后获取实际大小

我正在根据ComboBox选择更新图像控件的Source.

更新图像源后,我需要读取图像的ActualWidth和ActualHeight

我在第一次使用Image控件的Loaded事件打开对话框时工作,但是每次更新Source时这个事件都没有明显提升.

有没有办法在每次Source更新后获得加载到控件中的图像的实际大小?

size wpf image wpf-controls

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

如何告诉BeautifulSoup将特定标签的内容提取为文本?(不接触它)

我需要解析一个包含"code"标签的html文档

我得到这样的代码块:

soup = BeautifulSoup(str(content))
code_blocks = soup.findAll('code')
Run Code Online (Sandbox Code Playgroud)

问题是,如果我有这样的代码标签:

<code class="csharp">
    List<Person> persons = new List<Person>();
</code>
Run Code Online (Sandbox Code Playgroud)

BeautifulSoup更喜欢关闭嵌套标签并将代码块转换为:

<code class="csharp">
    List<person> persons = new List</person><person>();
    </person>
</code>
Run Code Online (Sandbox Code Playgroud)

有没有办法使用BeautifulSoup将代码标签的内容提取为文本而不让它修复IT认为的html标记错误?

python syntax-highlighting beautifulsoup

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