小编Dan*_*elH的帖子

蓝牙插座冻结手机

我正在开发Android应用程序.此应用程序应与蓝牙(BT)设备通信(发送一些字节).我在设备(Samsung Galaxy mini)上调试/运行此应用程序时遇到问题.当我创建一个BT插座并停止调试时,手机冻结,我必须通过取出电池重新启动它.如果运行此应用程序(来自Eclipse)一切正常,但当我尝试再次运行时,手机冻结和应用程序未安装.如果我尝试在第二次运行之前手动卸载此应用程序,请再次手机冻结.这是一个有问题的代码:

private final BluetoothDevice mmDevice;
private UUID uuid;

public ConnectionThread(BluetoothDevice device) {
    Log.d(TAG, "create ConnectionThread");

    uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 
    BluetoothSocket tmp = null;
    mmDevice = device;

    try {
        tmp = mmDevice.createRfcommSocketToServiceRecord(uuid);
    } catch (IOException e) { }
    mmSocket = tmp;
    socketConnected = true;
}
Run Code Online (Sandbox Code Playgroud)

这是线程的构造函数.当我评论这条线

    tmp = mmDevice.createRfcommSocketToServiceRecord(uuid);
Run Code Online (Sandbox Code Playgroud)

手机没有冻结所以问题是创建套接字(不连接).每次调试或运行后重启手机都很烦人,我还要做很多工作.

如果我从手机(与Eclipse断开连接)运行此应用程序,它可以正常工作.任何想法可能是一个问题或如何解决它?谢谢.

java sockets android bluetooth rfcomm

9
推荐指数
1
解决办法
814
查看次数

Treeview节点单击行为

我有一个Winform应用程序,我在使用TreeView.此应用程序的某些用户遇到的问题是他们必须双击某个节点才能展开它.所以我添加了这段代码,使用单击来展开节点:

Private Sub MyTreeView_NodeMouseClick(sender As System.Object, 
     e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles MyTreeView.NodeMouseClick

    If e.Node.IsExpanded Then
        e.Node.Collapse()
    Else
        e.Node.Expand()
    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

这有效,但我注意到有关点击节点的奇怪行为.我注意到有两个地方有不同的行为.第一个位置是+/-符号,旁边是点(图片中的第一个圆圈),第二个位置是节点的文本(第二个圆圈):

在此输入图像描述

通常,单击第一个位置就足以展开节点,必须在第二个位置双击才能展开节点.然后,当我使用我的代码时,单击第二个位置就足以扩展节点,但是当我单击第一个位置时,节点将展开并折叠.

为什么用户必须在第二个位置再次点击两次才能展开节点?如何通过单击两个位置来扩展节点?感谢你们!

treeview treenode click double-click winforms

9
推荐指数
1
解决办法
2746
查看次数

iOS和蓝牙

我想开发一个通过蓝牙与设备通信的应用程序.我无法找到任何帮助我的教程.我不是指蓝牙4.0 LE而是经典的蓝牙.我所发现的只是CoreBluetooth框架,但我认为这只适用于蓝牙LE.我也发现了IOBluetooth和IOBluetoothUI之类的东西,但我不确定它是适用于Mac OS还是适用于iOS.但仍然找不到任何教程或其他东西来帮助我理解整个过程(发现,建立联系,沟通......).你能帮帮我吗?

bluetooth ios

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

iOS:ScrollView无限分页 - 重复的端盖

我有一个关于ScrollView中无限分页的问题.在我的应用程序中,我在ScrollView中只有3个子视图.每个子视图都是从xib文件加载的.通常它在ScrollView中看起来像ABC.我想进行无限分页,所以我添加了端盖,现在它看起来像CABCA.如果用户在第一个C上,它会跳转到常规C,如果用户在最后一个A上,它会跳转到常规A.这是一个代码:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {

  if (scrollView.contentOffset.x == 0)
  {
      [scrollView scrollRectToVisible:CGRectMake
      ((scrollView.frame.size.width * 3), 0,
      scrollView.frame.size.width,
      scrollView.frame.size.height) animated:NO];
  } 
  else if (scrollView.contentOffset.x == scrollView.frame.size.width * 4)
  {
     [scrollView scrollRectToVisible:CGRectMake
     (scrollView.frame.size.width, 0,
      scrollView.frame.size.width,
      scrollView.frame.size.height) animated:NO];
   }
}
Run Code Online (Sandbox Code Playgroud)

它现在完美运作.但是我为每个子视图都有ViewController,这就是我将它们添加到ScrollView的方式:

  subViewController1 = [[SubViewController1 alloc] initWithNibName:@"SubView" bundle:nil];
  subViewController1.view.frame =
    CGRectMake(0, 0, scrollView.frame.size.width, scrollView.frame.size.height);
  [scrollView addSubview:subViewController1.view];
Run Code Online (Sandbox Code Playgroud)

问题是A和C视图有一个重复,所以现在我有5个控制器而不是3.如果我想在A视图中添加一些内容,我必须将它添加到A视图的副本中.

有没有办法如何使用一个控制器控制视图A和A的副本,所以我不必创建一个控制器的两个实例?谢谢.

subview uiscrollview uiviewcontroller ios

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

目标C:在应用程序运行时不要锁定iPhone

我试图找到如何在我的应用程序运行时禁用锁定iphone,但我不成功.你知道它是否可能吗?我的应用程序正在实时读取某些硬件的值,当显示一直锁定时,它真的很烦人.我不是在谈论在后台运行应用程序......谢谢你们!

iphone objective-c ipad ios

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

在showBluetoothAccessoryPickerWithNameFilter中使用NSPredicate

我正在使用被称为showBluetoothAccessoryPickerWithNameFilter:completion:外部附件框架的一部分的方法.它只返回iPhone找到的蓝牙设备,你可以选择一个连接到它.

如果我使用这个参数:showBluetoothAccessoryPickerWithNameFilter:nil completion:nil,它返回所有设备,但你可以使用NSPredicate(Filter参数)指定它应返回的设备.所以我尝试创建这样的谓词:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS MyString"];
[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:predicate completion:nil]
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,会出现以下错误:

class不是键值MyString的键值编码兼容.

我认为问题是self谓词中的单词,因为在这种情况下self意味着当前类的实例.我对吗?如果我想只获取名称中包含MyString的设备,我该如何编写谓词?感谢你们.

bluetooth nspredicate external-accessory ios

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

iOS的两个视图恰好覆盖了父视图的一半

在我的应用中,我想要实现以下布局:

在此处输入图片说明

因此,父视图包含两个子视图。第一个精确地在中间(高度/ 2)处结束,第二个精确地从父视图的中间开始。我发现在有约束的IB中不可能做到这一点。所以我在viewDidLoad方法中使用了这段代码:

NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:firstView
                                                              attribute:NSLayoutAttributeHeight
                                                              relatedBy:0
                                                                 toItem:self.view
                                                              attribute:NSLayoutAttributeHeight
                                                             multiplier:0.5
                                                               constant:0];

[self.view addConstraint:constraint];
Run Code Online (Sandbox Code Playgroud)

现在它可以使用,但前提是该应用程序可以在iPhone上运行。因为视图的大小就像iPhone屏幕一样。如果此应用程序在iPad上运行,则存在问题,因为屏幕尺寸不同,因此该父视图更长。约束(上面的代码)仍然需要IB的视图大小的0.5 *大小,而不是iPad的视图大小的大小。物品toItem:self.view仍来自IB。

结果是该视图在iPad中的大小与在iPhone中的大小相同。在iPad中,有很大的空白空间,然后有iPhone尺寸的视图。

您能告诉我要做些什么才能使其在各种屏幕尺寸上通用吗?非常感谢你

layout constraints view ios

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