小编fir*_*ice的帖子

8
推荐指数
2
解决办法
6367
查看次数

如何通过配置更改在Android上管理蓝牙连接?

问题:
如何管理(连接,读取,写入,断开)通过配置更改而持续存在的蓝牙连接?

首选使用ActionBarSherlock与设备版本2.2"Froyo"兼容的解决方案.

问题...

  • BluetoothDevice不能BluetoothSocket也不能保留onSaveState.

  • 为了保持我的应用程序响应,12秒阻止调用BluetoothSocket.connect()必须在单独的线程上进行.启动a Runnable是线程长任务的推荐方法,但是尝试恢复配置更改是一场噩梦.官方文档指出了三种不同的解决方案.

更新1

  • 进一步的研究使我得到了asyncTaskLoader,但似乎这只能在完成时更新UI,并且无法提供更新.

  • BluetoothHDP示例使用服务.服务似乎侧重于进程间通信以及持续超出活动生命周期的需要.我不需要这些功能.

更新2

正如鲁本所指出的,Fragment.setRetainInstance(bool)已经取代了被弃用的getLastNonConfigurationInstance().在这一点上,似乎最好的选择是使用持久的非UI片段setRetainInstance(true).

java sockets multithreading android bluetooth

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

FLAG_ACTIVITY_CLEAR_TOP和onActivityResult

我有多个管理连接的活动(B => C => D).如果该连接丢失,它们应该全部清除并将结果返回给A,具体取决于原因(RESULT_USER_TERMINATED, RESULT_LOW_SIGNAL, RESULT_UNKOWN等等)

在AI有

Intent intent = new Intent(this, B.class);
startActivityForResult(intent, REQUEST_EXIT_STATUS);
Run Code Online (Sandbox Code Playgroud)

在B&C

Intent intent = new Intent(this, C.class);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)

IN D.

Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
setResult(ConnectActivity.RESULT_USER_TERMINATED);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这不起作用.相反,A得到RESULT_CANCELED.我怎样才能按预期工作?或者,是否有更好的方法来实现相同的结果?

android android-intent android-activity

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

浮点数的字符串表示形式最大可能的长度是多少?

标题几乎说明了一切...

我正在尝试强制在表单上输入文本的最大长度。字段之一可以是任何有效的浮点数。最大长度是多少?

例如,对于整数

// negative sign makes MIN_VALUE larger than MAX_VALUE
String.valueOf(Integer.MIN_VALUE).length();
Run Code Online (Sandbox Code Playgroud)

更新

我已经测试了以下内容:

String.valueOf(-Float.MIN_VALUE).length();
String.valueOf(-Float.MAX_VALUE).length();
String.valueOf( Float.MIN_VALUE).length();
String.valueOf( Float.MAX_VALUE).length();
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

8
13
7
12
Run Code Online (Sandbox Code Playgroud)

我不认为最大长度是13

java floating-point maxlength

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

可变集合作为属性的最佳实践

我打算用一个NSMutableDictionary属性存储游戏数据(比如得分,设置等......).

@property (nonatomic, copy) NSMutableDictionary *gameData;
Run Code Online (Sandbox Code Playgroud)

在研究为什么没有属性的"mutablecopy"选项时,我发现了这个讨论,接受的答案是:

正确的方法是不要将可变数组作为属性

那么在现代Objective-C中将可变集合作为属性处理的最佳方法是什么?

iphone objective-c ios

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

为什么Android Asset Studio不会生成ldpi启动器图标?

这一切都在标题中.似乎Android Asset Studio不会生成ldpi启动器图标.该工具似乎也会生成xxhdpi图标,这些图标在Android启动器图标设计指南中未提及

Android资产工作室

android assets android-icons

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