黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)

2024-04-03 02:08

本文主要是介绍黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久没来更新了,最近老板一来,实在有些忙活,没时间写这个第五篇,今天抽空小小的写一下。

这一课里,主要讲如何实现最后一个DISCO闪LED的功能,简单的讲是随机取值,然后再LED变化。其实会了第四课的内容,这一课应该可以自己做出来了。我做这个功能的时候没有仔细看LED的API,没有看到setColorPattern(int[] pattern, boolean repeat),而仍然用了setColorConfiguration(int onTime, int offTime, int color)的方法,当然需要借用一个计时器Timer.

 

 

class TimerMainEvent extends TimerTask {
    public TimerMainEvent() {
    }

    public void run() {
        if(globel.isrun) {
        if(LED.isPolychromatic()){
                            if (globel.israndom == true) {
                                String tmp = "";
                                int tmpa;
                                Random rndColor = new Random();
                               for (int i=0;i<6;i++)
                              {
                                tmpa = rndColor.nextInt(16);
                                if (tmpa == 10) tmp = tmp + "A";
                                else if (tmpa == 11) tmp = tmp + "B";
                                else if (tmpa == 12) tmp = tmp + "C";
                                else if (tmpa == 13) tmp = tmp + "D";
                                else if (tmpa == 14) tmp = tmp + "E";
                                else if (tmpa == 15) tmp = tmp + "F";
                                else tmp = tmp + tmpa;
                               }
                                LED.setColorConfiguration(150, 150, Integer.parseInt(tmp,16));
                            }
                            else {
                                String tmp2 = "";
                                int tmpa2 = 0;
                                Random rndColor2 = new Random();
                                tmpa2 = rndColor2.nextInt(9);
                                switch (tmpa2) {
                                    case 1: tmp2 = "FF0000";break;
                                    case 2: tmp2 = "FF6100";break;
                                    case 3: tmp2 = "FFFF00";break;
                                    case 4: tmp2 = "00FF00";break;
                                    case 5: tmp2 = "FFFF00";break;
                                    case 6: tmp2 = "0000FF";break;
                                    case 7: tmp2 = "A020F0";break;
                                    case 8: tmp2 = "FFFFFF";break;
                                    default: tmp2 = "FFFFFF";break;
                                }
                                   LED.setColorConfiguration(150, 150, Integer.parseInt(tmp2,16));
                            }
                        }
    }
}
}

代码中上面一部分是随机从000000-FFFFFF从抽取颜色,前面也讲过了,这样的效果不是太好,BB的LED大多时间下会显示接近白色的颜色。

下面一部分则是从红橙黄绿青蓝紫白中随机抽取颜色显示。这样整个LED player的功能都完成了,这一讲没有图片就略了。

下次将说说额外的东西,比如About菜单。

这篇关于黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871653

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件