⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 util.java

📁 benhui网的蓝牙例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
      return "GenericNetworking";
    else if ( u.equals( new UUID( 0x1202 ) ))
      return "GenericFileTransfer";
    else if ( u.equals( new UUID( 0x1203 ) ))
      return "GenericAudio";
    else if ( u.equals( new UUID( 0x1204 ) ))
      return "GenericTelephony";
    else
      return u.toString();
  }

  public static String majorToName( int d )
  {
    if ( d == 0x0000 )
      return "Miscellaneous";
    else if ( d == 0x0100)
      return "Computer";
    else if ( d == 0x0200 )
      return "Phone";
    else if ( d == 0x0300 )
      return "LANAccessPoint";
    else if ( d == 0x0400 )
      return "AudioVideo";
    else if ( d == 0x0500 )
      return "Peripheral";
    else if ( d == 0x0600 )
      return "Imaging";
    else if ( d == 0x1F00 )
      return "Uncategorized";
    else
      return "UnknownMajorDevice("+d+")";
  }

  /**
   *
   * @param d major device class
   * @param m minor device class
   * @return
   */
  public static String minorToName( int d, int m )
  {
    if ( d == 0x0000 )
      return "Miscellaneous";
    else if ( d == 0x0100 && m == 0x00 )
      return "Uncategorized";
    else if ( d == 0x0100 && m == 0x04 )
      return "Workstation";
    else if ( d == 0x0100 && m == 0x08 )
      return "Server";
    else if ( d == 0x0100 && m == 0x0C )
      return "Laptop";
    else if ( d == 0x0100 && m == 0x10 )
      return "HandheldPcPda";
    else if ( d == 0x0100 && m == 0x14 )
      return "PalmPcPda";
    else if ( d == 0x0100 && m == 0x18 )
      return "Wearable";
    else if ( d == 0x0200 && m == 0x00 )
      return "Uncategorized";
    else if ( d == 0x0200 && m == 0x04 )
      return "Cellular";
    else if ( d == 0x0200 && m == 0x08 )
      return "Cordless";
    else if ( d == 0x0200 && m == 0x0C )
      return "SmartPhone";
    else if ( d == 0x0200 && m == 0x10 )
      return "Modem";
    else if ( d == 0x0200 && m == 0x14 )
      return "ISDN";
    else if ( d == 0x0300 && m == 0x00 )
      return "FullyAvailable";
    else if ( d == 0x0300 && m == 0x20 )
      return "1to17%Utilized";
    else if ( d == 0x0300 && m == 0x40 )
      return "17to33%Utilized";
    else if ( d == 0x0300 && m == 0x60 )
      return "33to50%Utilized";
    else if ( d == 0x0300 && m == 0x80 )
      return "50to67%Utilized";
    else if ( d == 0x0300 && m == 0xA0 )
      return "67to83%Utilized";
    else if ( d == 0x0300 && m == 0xC0 )
      return "83to100%Utilized";
    else if ( d == 0x0300 && m == 0xE0 )
      return "NoServiceAvailable";
    else if ( d == 0x0400 && m == 0x00 )
      return "Uncategorized";
    else if ( d == 0x0400 && m == 0x04 )
      return "Headset";
    else if ( d == 0x0400 && m == 0x08 )
      return "HandsFree";
    else if ( d == 0x0400 && m == 0x0C )
      return "(Reserved)";
    else if ( d == 0x0400 && m == 0x10 )
      return "Microphone";
    else if ( d == 0x0400 && m == 0x14 )
      return "Loudspeaker";
    else if ( d == 0x0400 && m == 0x18 )
      return "Headphones";
    else if ( d == 0x0400 && m == 0x1C )
      return "PortableAudio";
    else if ( d == 0x0400 && m == 0x20 )
      return "CarAudio";
    else if ( d == 0x0400 && m == 0x24 )
      return "SetTopBox";
    else if ( d == 0x0400 && m == 0x28 )
      return "HiFiAudioDevice";
    else if ( d == 0x0400 && m == 0x2C )
      return "VCR";
    else if ( d == 0x0400 && m == 0x30 )
      return "VideoCamera";
    else if ( d == 0x0400 && m == 0x34 )
      return "Camcorder";
    else if ( d == 0x0400 && m == 0x38 )
      return "VideoMonitor";
    else if ( d == 0x0400 && m == 0x3C )
      return "VideoDisplayAndLoudspeaker";
    else if ( d == 0x0400 && m == 0x40 )
      return "VideoConferencing";
    else if ( d == 0x0400 && m == 0x44 )
      return "(Reserved)";
    else if ( d == 0x0400 && m == 0x48 )
      return "GamingToy";
    else if ( d == 0x0500 && m == 0x00)
      return "Uncategoried";
    else if ( d == 0x0500 && m == 0x04)
      return "Joystick";
    else if ( d == 0x0500 && m == 0x08)
      return "Gamepad";
    else if ( d == 0x0500 && m == 0x0C)
      return "RemoteControl";
    else if ( d == 0x0500 && m == 0x10)
      return "SensingDevice";
    else if ( d == 0x0500 && m == 0x14)
      return "DigitizerTablet";
    else if ( d == 0x0500 && m == 0x18)
      return "CardReader";
    else if ( d == 0x0500 && m == 0x40)
      return "Keyboard";
    else if ( d == 0x0500 && m == 0x80)
      return "PointingDevice";
    else if ( d == 0x0500 && m == 0xC0)
      return "KeyboardPointingDevice";
    else if ( d == 0x0600 && m == 0x10)
      return "Display";
    else if ( d == 0x0600 && m == 0x20)
      return "Camera";
    else if ( d == 0x0600 && m == 0x40)
      return "Scanner";
    else if ( d == 0x0600 && m == 0x80)
      return "Printer";
    else if ( d == 0x1F00 )
      return "Uncategorized("+m+")";
    else
      return "UnknownMinorDevice("+m+")";

  }

  public static String[] majorServiceToName( int d )
  {
    Vector v = new Vector();

    if ( (d & 0x2000) > 0 )
      v.addElement( "LimitedDiscoverableMode" );
    if ( (d & 0x10000) > 0 )
      v.addElement( "Positioning" );
    if ( (d & 0x20000) > 0 )
      v.addElement( "Networking" );
    if ( (d & 0x40000) > 0 )
      v.addElement( "Rendering" );
    if ( (d & 0x80000) > 0 )
      v.addElement( "Capturing" );
    if ( (d & 0x100000) > 0 )
      v.addElement( "ObjectTransfer" );
    if ( (d & 0x200000) > 0 )
      v.addElement( "Audio" );
    if ( (d & 0x400000) > 0 )
      v.addElement( "Telephony" );
    if ( (d & 0x800000) > 0 )
      v.addElement( "Information" );

    String[] str = new String[ v.size() ];
    v.copyInto( str );
    return str;

  }

  public static String attrTypeToName( int type )
  {
    if ( type == DataElement.DATALT )
    {
      return "DATATL";
    } else if ( type == DataElement.DATSEQ )
    {
      return "DATSEQ";
    } else if ( type == DataElement.U_INT_4  )
    {
      return "U_INT_4";
    } else if ( type == DataElement.U_INT_1  )
    {
      return "U_INT_1";
    } else if ( type ==  DataElement.U_INT_2  )
    {
      return "U_INT_2";
    } else if ( type == DataElement.INT_1 )
    {
      return "INT_1";
    } else if ( type == DataElement.INT_2 )
    {
      return "INT_2";
    } else if ( type == DataElement.INT_4 )
    {
      return "INT_4";
    } else if ( type == DataElement.INT_8 )
    {
      return "INT_8";
    } else if ( type == DataElement.UUID )
    {
      return "UUID";
    } else if ( type == DataElement.U_INT_8 )
    {
      return "U_INT_8";

    } else if ( type == DataElement.U_INT_16 )
    {
      return "U_INT_16";

    } else if ( type == DataElement.INT_16 )
    {
      return "INT_16";

    } else if ( type == DataElement.STRING )
    {
      return "STRING";

    } else if ( type == DataElement.URL )
    {
      return "URL";

    } else if ( type == DataElement.BOOL )
    {
      return "BOOL";

    } else if ( type == DataElement.NULL )
    {
      return "NULL";
    } else
    {
      return "UNKNOWN_TYPE";
    }
  }

  public static String toHexString( int i )
  {
    String s = Integer.toHexString(i); // convert base-10 to base-16 (HEX)
    if ( s.length() == 1 )
      return "0x000"+s;
    else if ( s.length() == 2 )
      return "0x00"+s;
    else if ( s.length() == 3 )
      return "0x0"+s;
    else if ( s.length() == 4 )
      return "0x"+s;
    else
      return s;
  }


  public static String toHexString( byte[] b )
  {
    String v = "";
    for ( int i=0; i< b.length; i++ )
    {
      String s = Integer.toHexString( b[i] );
      // special case, since Integer.toHexString( 0xFF ) = 0xFFFFFFFF (32 bits)
      // and we don't want that many FF, so we handle this case manually
      if ( b[i] == 0xFF )
        s = "FF";
      if ( s.length() == 1 )
        s = "0"+s; // make '4' -> '04'

      v += s;
    }

    return "0x"+v;
  }

  public static String toHexString( long l )
  {

    byte[] b = new byte[8]; // long = 64 bits = 8 bytes
    b[0] = (byte)(l >> 56);
    b[1] = (byte)(l >> 48);
    b[2] = (byte)(l >> 40);
    b[3] = (byte)(l >> 32);
    b[4] = (byte)(l >> 24);
    b[5] = (byte)(l >> 16);
    b[6] = (byte)(l >> 8);
    b[7] = (byte)(l);

    // reduce the number of leading '0'
    // we reduce at most 6 byte, so we got at lesat 2 byte left
    // 0x000000000000ABCD -> 0xABCD
    // 0x00000000000000AB -> 0x00AB (at lesat 2 byte left, it look better with 2 bytes)
    // 0x00000CD0000000AB -> 0xCD0000000AB
    int len = 8;
    for ( int i=0; i< 6; i++)
    {
      if ( b[i] == 0 )
        len --;
      else
        break; // we break at the first non-zero
    }
    byte[] b2 = new byte[len];
    System.arraycopy(b, 8-len, b2, 0, len );

    return toHexString( b2 );
  }


  public static void printObexHeaderSet( HeaderSet h )
  {
    try {
      System.out.println("Print OBEX Header");
      int[] ids = h.getHeaderList();
      for (int i = 0; i < ids.length; i++) {
        System.out.println("ID[" + ids[i] + "]: " + h.getHeader(ids[i]));
      }
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -