小编Cas*_*eyB的帖子

检测插入的设备

我希望能够检测设备是否已插入.我希望能够以与连接状态相同的方式查询.这是可能的还是我需要创建一个侦听电池事件的广播接收器?

android battery power-state

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

当大小写不匹配时,如何反序列化枚举?

我有一个 JSON 结构,如下所示:

{ "type": "suite", "event": "started", "test_count": 1 }
Run Code Online (Sandbox Code Playgroud)

我想反序列化为这些结构:

#[derive(Debug, Deserialize)]
enum ResultType {
    Suite,
    Test,
}

#[derive(Debug, Deserialize)]
enum ResultEvent {
    Started,
    Failed,
    Ok,
}

#[derive(Debug, Deserialize)]
struct JsonResult {
    #[serde(rename(deserialize = "type"))]
    test_type: ResultType,
    event: ResultEvent,
    test_count: Option<u32>,
}
Run Code Online (Sandbox Code Playgroud)

我找不到让 serde_json 使用正确大小写的方法。我不断收到这些错误:

{ "type": "suite", "event": "started", "test_count": 1 }
Run Code Online (Sandbox Code Playgroud)

如果我将枚举值的大小写更改为全部小写或全部大写,则它可以工作,但我希望能够使用 PascalCase。

rust serde serde-json

7
推荐指数
3
解决办法
2099
查看次数

如何有条件地为Android应用程序使用特定于供应商的API?

Android应用程序商店提供特定于市场的API,如何构建有条件地使用特定于供应商的库的Android应用程序?例如,亚马逊提供他们自己的应用程序内购买和"GameCircle"API.Google拥有自己的许可API,现在Ouya将拥有自己的IAP和硬件控制器API.

随着这些特定于供应商的SDK的激增,维护我的Android游戏的几个单独版本变得越来越困难.我想知道如何构建我的项目,以便我的代码可以在运行时检查各种API,如果可用则使用它们.就像是

if (amazon api is available)
  // Do some amazon-specific stuff
Run Code Online (Sandbox Code Playgroud)

在构建时,我会链接所有库,然后将相同的通用应用程序上传到每个商店.

api android amazon ouya

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

识别通过蓝牙与PixelSense配对的移动设备

我希望能够通过蓝牙将Microsoft PixelSense硬件与多个移动设备配对,我希望PixelSense知道哪个设备是哪个.因此,如果我将两部手机放在桌面上,PixelSense应该能够按设备名称标记它们.我最初的想法是让手机显示一个身份标签,该标签已编码其蓝牙MAC地址,以便它可以关联它们,但PixelSense看到红外线,无法读取手机屏幕,因此想法已经消失.谁能想到另一种方法呢?

bluetooth pixelsense

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

Android蓝牙无法配对

我的设备在Android中配对时遇到问题.如果我进入设置并手动配对,我可以使用以下代码连接它们:

服务器

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.connect);

    Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
    startActivityForResult(discoverableIntent, REQUEST_ENABLE_BT);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if(requestCode == REQUEST_ENABLE_BT)
    {
        if(resultCode == RESULT_CANCELED)
        {
            new AlertDialog.Builder(this)
            .setTitle(R.string.error)
            .setMessage(R.string.bluetooth_unavailable)
            .setPositiveButton(android.R.string.ok, AndroidUtils.DismissListener)
            .create()
            .show();
        }
        else
        {
            mServerSocket = mAdapter.listenUsingRfcommWithServiceRecord("Moo Productions Bluetooth Server", mUUID);
            mState = State.ACCEPTING;
            BluetoothSocket socket = mServerSocket.accept();
            mServerSocket.close();
            connected(socket);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

客户

Set<BluetoothDevice> pairedDevices = mAdapter.getBondedDevices();
BluetoothSocket socket = null;

// Search the list of …
Run Code Online (Sandbox Code Playgroud)

android bluetooth

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

UITableView标题显示其背后的内容

我有一个带有标题的UITableView在纹理背景上.我希望标题贴在顶部,他们这样做,但我不希望细胞在它们经过时显示在它后面.这是一个例子:

UITableView图像

新内容是标题.您可以在滚动时看到它下面的数据行.我无法设置标题的背景,因为它必须从它后面的窗口显示纹理.我怎么能不显示标题下面的行?

uitableview ios

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

Android BLE readCharacteristic失败

当我连接它时,我正试图读取BLE设备的初始状态.这是我必须尝试做的代码:

@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status)
{
    if(status == BluetoothGatt.GATT_SUCCESS)
    {
        Log.i(TAG, gatt.getDevice().toString() + "Discovered Service Status: " + gattStatusToString(status));
        for(BluetoothGattService service : gatt.getServices())
        {
            Log.i(TAG, "Discovered Service: " + service.getUuid().toString() + " with " + "characteristics:");
            for(BluetoothGattCharacteristic characteristic : service.getCharacteristics())
            {
                // Set notifiable
                if(!gatt.setCharacteristicNotification(characteristic, true))
                {
                    Log.e(TAG, "Failed to set notification for: " + characteristic.toString());
                }

                // Enable notification descriptor
                BluetoothGattDescriptor descriptor = characteristic.getDescriptor(CCC_UUID);
                if(descriptor != null)
                {
                    descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE);
                    gatt.writeDescriptor(descriptor);
                }

                // Read characteristic
                if(!gatt.readCharacteristic(characteristic))
                { …
Run Code Online (Sandbox Code Playgroud)

android bluetooth-lowenergy android-ble

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

Go Tour,运动:切片指数超出范围

我正在参加Go语言巡回演唱会的练习,我遇到了一些我无法弄清楚的障碍.我正在做Exercise: Slices,我收到此错误:

256 x 256

panic: runtime error: index out of range

goroutine 1 [running]:
main.Pic(0x10000000100, 0x3, 0x417062, 0x4abf70)
    /tmpfs/gosandbox-08a27793_4ffc9f4a_3b917355_ef23793d_c15d58cc/prog.go:9 +0xa0
tour/pic.Show(0x400c00, 0x40caa2)
    go/src/pkg/tour/pic/pic.go:20 +0x2d
main.main()
    /tmpfs/gosandbox-08a27793_4ffc9f4a_3b917355_ef23793d_c15d58cc/prog.go:20 +0x25
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package main

import "tour/pic"

func Pic(dx, dy int) [][]uint8 {
    fmt.Printf("%d x %d\n\n", dx, dy)

pixels := make([][]uint8, 0, dy)

for y := 0; y < dy; y++ {
    pixels[y] = make([]uint8, 0, dx)

    for x := 0; x < dx; x++ {
        pixels[y][x] = uint8(x*y)
    }
}

return …
Run Code Online (Sandbox Code Playgroud)

go

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

使用Goroutine实际上需要更长的时间来执行

我确定我做错了,我有一个Go程序,它以OBJ格式解析3D模型并输出一个json对象.当我在没有添加goroutine的情况下运行它时,我得到以下输出:

$ go run objParser.go ak47.obj extincteur_obj.obj 
--Creating ak47.json3d from ak47.obj
--Exported 85772 faces with 89088 verticies
--Creating extincteur_obj.json3d from extincteur_obj.obj
--Exported 150316 faces with 151425 verticies
Parsed 2 files in 8.4963s
Run Code Online (Sandbox Code Playgroud)

然后我添加了goroutines,我得到了这个输出:

$ go run objParser.go ak47.obj extincteur_obj.obj 
--Creating ak47.json3d from ak47.obj
--Creating extincteur_obj.json3d from extincteur_obj.obj
--Exported 85772 faces with 89088 verticies
--Exported 150316 faces with 151425 verticies
Parsed 2 files in 10.23137s
Run Code Online (Sandbox Code Playgroud)

由于解析的隔行扫描,它的打印顺序是我所期望的,但我不知道它为什么需要更长的时间!代码很长,我剪断了我的能力,但它仍然很长,对不起!

package main

func parseFile(name string, finished chan int) {
    var Verts []*Vertex
    var Texs []*TexCoord …
Run Code Online (Sandbox Code Playgroud)

multithreading go coroutine

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

bytes[0] == 0xFF 总是假的

我正在将一些 BLE 代码从 iOS 移植到 Android,我们需要做的部分工作是检查一些哨兵值。它在 iOS 中运行良好,但是当我在 Android Studio 中放置相同的代码时,它给了我一个警告,说我的条件总是错误的。这是我所拥有的:

if(bytes[0] == 0xFF && bytes[1] == 0xFF && bytes[2] == 0xFF && bytes[3] == 0xFF && bytes[4])
{
    event.type = EventType.NONE;
}
Run Code Online (Sandbox Code Playgroud)

我认为操作顺序有些奇怪,所以我尝试将每个检查都包装在自己的括号中,但它仍然说同样的事情。我想摆脱警告,但我似乎无法管理。

android android-studio

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

共享图像将路径放入地址

我遇到此问题,将应用程序中的图像共享到Gmail会将图像的路径放在"收件人"字段中.

这是我正在使用的代码:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_SUBJECT,"Beam Dental Insurance Card");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // temp permission for receiving app to read this file
shareIntent.setDataAndType(insuranceCardImageUri, getActivity().getContentResolver().getType(insuranceCardImageUri));
shareIntent.putExtra(Intent.EXTRA_STREAM, insuranceCardImageUri);
startActivity(Intent.createChooser(shareIntent, "Share Insurance Card"));
Run Code Online (Sandbox Code Playgroud)

而这就是我得到的.

在此输入图像描述

To:字段将填充图像路径,并从前面删除"content:".我已经尝试设置EXTRA_EMAIL意图,但这没有帮助.

android android-intent

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

Rust 中类似 Java 枚举的行为

我想要一个枚举,其中枚举中的每个值都存储表示颜色的 RGBA 值的常量字节数组。在Java中我会这样做:

public enum Color {
    BLACK([0x0C, 0x00, 0x05, 0xFF]),
    BLUE([0x00, 0x2D, 0xFF, 0xFF]),
    RED([0xFF, 0x3E, 0x00, 0xFF]);

    private final byte[] rgba;

    Color(byte[] rgba) {
      this.rgba = rgba;
    }

    public int[] value() {
      return rgba;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以传递 Color 类型并仅使用 color.value() 来获取字节。这就是我在 Rust 中所拥有的:

struct Color;

impl Color {
    pub const BLACK: [u8; 4] = [0x0C, 0x00, 0x05, 0xFF];
    pub const BLUE: [u8; 4] = [0x00, 0x2D, 0xFF, 0xFF];
    pub const RED: [u8; 4] = [0xFF, 0x3E, 0x00, 0xFF]; …
Run Code Online (Sandbox Code Playgroud)

enums rust

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

启动现有活动

我有一个应用程序,首先MapActivity在地图上显示一些POI.有一个按钮可以将您带到POI的列表.在ListActivity这里有一个按钮可以带你到地图.如果您启动应用程序并单击"列表"按钮,然后单击"地图"按钮,然后单击"列表"按钮,然后单击"地图"按钮等.然后您必须退出所有这些活动以便再次进入主屏幕.我将这两个活动定义为,android:launchMode="singleTop"startActivityIfNeeded(intent, 0);在OnClickListener中使用.有没有解决的办法?

android loops android-activity

0
推荐指数
1
解决办法
683
查看次数