MIDP2.0手机上的手电筒程序(附代码)

MIDP2.0手机上的手电筒程序(附代码)

作者:陈跃峰

出自:http://blog.youkuaiyun.com/mailbomb

         可以在所有支持MIDP2.0版本的手机上运行的手电筒程序。程序实现的原理是:利用Display对象来实现对于手机背景等的控制,在该系列的手机中只能实现闪烁背景灯的功能。实现代码如下:

//文件名:LightMIDlet.java

package light;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class LightMIDlet extends MIDlet {
  static LightMIDlet instance;
  LightForm displayable = new LightForm(this);
  public LightMIDlet() {
    instance = this;
  }

  public void startApp() {
    Display.getDisplay(this).setCurrent(displayable);
  }

  public void pauseApp() {
  }

  public void destroyApp(boolean unconditional) {
  }

  public static void quitApp() {
    instance.destroyApp(true);
    instance.notifyDestroyed();
    instance = null;
  }

}

//文件名:LightForm.java

package light;

import javax.microedition.lcdui.*;

public class LightForm extends Form implements CommandListener {
  StringItem si;
  Command cmdOpen;
  Command cmdClose;
  Command cmdExit;
  Display display;
  public LightForm(LightMIDlet lm) {
    super("手电筒");
    si = new StringItem("手电筒状态:","打开");
    this.append(si);

    display = Display.getDisplay(lm);

    cmdOpen = new Command("打开",Command.OK,1);
    this.addCommand(cmdOpen);

    cmdClose = new Command("关闭",Command.CANCEL,1);
    this.addCommand(cmdClose);

    cmdExit = new Command("退出",Command.EXIT,1);
    this.addCommand(cmdExit);

    setCommandListener(this);

    boolean b;

    b = display.flashBacklight(1000000);

    if(b == false){
      Alert alert = new Alert("手电筒","您的手机不支持该功能!",null,AlertType.INFO);
      alert.setTimeout(3000);
      display.setCurrent(alert);
    }
  }

  public void commandAction(Command c, Displayable d) {
    //关闭
    if (c == cmdExit) {
      // stop the MIDlet
      LightMIDlet.quitApp();
    }
    //打开
    if(c == cmdOpen){
      display.flashBacklight(1000000);
      si.setText("打开");
    }

    if(c == cmdClose){
      display.flashBacklight(0);
      si.setText("关闭");
    }
  }

}

制作Android手电筒应用程序 在turnOnFlashlight方法中,我们根据设备的Android版本使用不同的方法来打开手电筒。在MainActivity类中,我们需要处理按钮的点击事件,以便在用户点击按钮时打开或关闭手电筒。回到MainActivity类的onCreate方法中,我们将按钮的点击事件与toggleFlashlight方法关联起来,以便在用户点击按钮时切换手电筒的状态。在turnOffFlashlight方法中,我们根据设备的Android版本使用相应的方法来关闭手电筒。步骤 5: 在按钮点击事件中切换手电筒状态。 阅读详情

相关推荐

java实用手电筒v1.0实用手电筒v1.0实用手电筒v1.0

实用手电筒v1.0实用手电筒v1.0实用手电筒v1.0 实用手电筒v1.0实用手电筒v1.0

java闪光灯手电筒_Android 开启闪光灯做手电筒的详解

public class HandLightActivity extends Activity implements OnClickListener{private ToggleButton toggleButton;private Camera m_Camera;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TOD...

weixin_39692557的博客 389

简单的手机手电筒demo

简单的手机手电筒使用,适合新手上手,通过点击按钮调用相机的闪光灯,类似手机自带的手电筒功能。

Android手电筒制作

Android新手,简单制作一个手电筒

qq_45670165的博客 3799

android手电筒源代码

android手电筒源代码,适配所有android版本4.x , 5.x , 6.x , 7.x,亲测没有问题,希望能开发者

android-简单手电筒应用源代码

本帖最后由 斷章 于 2013-3-10 10:18 编辑 一个简单的手电筒应用。UI简单,附上源代码。 涉及点: 1.toggleButton控制开关; 2.menu菜单; 3.利用onKeyDown、Handler监听控制返回键操作,连续两次返回退出应用; 4.dialog对话框; 5.利用相机的闪光灯功能模仿手电筒照明 parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);//parameters.setFlashMode(Parameters.FLASH_MODE_OFF); camera.setParameters(parameters);

MIDP2.0手机上手电筒程序的实现

可以在所有支持MIDP2.0版本的手机上运行的手电筒程序。程序实现的原理是:利用Display对象来实现对于手机背景等的控制,在该系列的手机中只能实现闪烁背景灯的功能。  实现代码如下: //文件名:LightMIDlet.javapackage light;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;p

anew673的专栏 826

手机手电筒

教你做一个简易的手机手电筒的功能

安卓最简单打开手机电筒代码

参数cameraId就是手机摄像头的id,我知道的是后置摄像头cameraid=0;前置摄像头cameraid=1;打开相机的闪光灯作为手电筒那么这里的cameraid=0;第二个boolean就是控制灯光打开与关闭。如果实在MainActivity下那么可以不写context;

weixin_42168430的博客 1130

用Proteus8.9自带STM32F401VE的Controller仿真STM32F407ZGT6,F429IGT6

@用Proteus8.9自带STM32F401VE的Controller仿真STM32F407ZGT6,F429IGT6 一, 目前得到的 Proteus8.9版本软件能够支持的Cortex-M4固件库项目,只能到达STM32F401VE (如下图1所示)。 (图1) 作为ST公司Cortex-M4更为广泛应用的F407,F429系列芯片;现在的Proteus8.9版本软件还没有固件库支持,不能...

kaillen的博客 3万+

InfiniteTalk (Wan2.1) 数字人 A800 落地实战:从依赖地狱到完美运行的保姆级指南

摘要:本文详细记录了在A800(80GB)服务器上部署InfiniteTalk开源数字人项目的完整流程。该项目基于阿里Wan2.1视频生成模型,支持无限时长流式生成,但环境配置极其复杂。作者总结了18个关键问题点,包括Python版本冲突、CUDA算子缺失等,并提供了黄金配置方案:使用Python3.10+PyTorch2.5.1环境,精准控制FlashAttention等核心库版本,以及针对A800的显存优化策略。最终实现480P视频30秒/步的生成速度,相比默认配置提升3.7倍性能。

软件工程师文艺 2044

Android控制手电筒代码,简单易用,不需要任何权限

使用非常简单的工具类FlashUtils

Alpinist Wang 7616

芯片详解——AD7606

AD7606详解

weixin_45661757的博客 5022

Android打开手机的手电筒

1.打开手电筒的代码: private boolean mIsLight = false; private Button btnOpenLight; private Button btnCloseLight; private Camera camera = null; @Override protected void onCreate(Bundle savedInstanceSta

cainiaobukeyi的博客 9403

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 488

【MFRC522】STM32与MFRC522的SPI通信优化及常见问题解析

本文深入解析了STM32与MFRC522进行SPI通信的优化方法与常见问题。从基础的硬件连接到SPI时序优化,再到关键的寄存器配置(如RFCfgReg设为0x4F以提升读卡稳定性),文章提供了详细的调试技巧和实战排坑指南,帮助开发者实现稳定高效的IC读卡应用。

yhn45678901的博客 841

2.手电筒原理、手电筒原理应用:拐弯通信以及电报机

我们前面讲到通过手电筒应用莫尔斯电码,因为手电筒能够提供二进制码,只有亮和灭,没有第三种状态。所以对于手电筒,我们能够进行进一步的研究。手电筒由灯泡、导线、电池、开关、金属片和一个容纳电池的塑料外壳组成。接下来我们一一进行分析。电路中电流的流动就像是水流和水管一样,但是电的特性不能靠其他的模型能够描述出来的。所以我们引入了“电子理论”。任何事物由原子组成。原子由中子、电子、质子组成。一个平衡的原子...

insertyou 604

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 571

手机手电筒功能的实现

闲着无事网上看了一个手电筒的实现,收藏一下。 import android.app.Activity; import android.content.Context; import android.hardware.Camera; import android.hardware.camera2.CameraManager; import android.os.Build; import

zhongruichun的博客 1647

【问题解决】Python 异步 asyncio 卡死、协程不执行、任务泄漏,保姆级排错

本文详细分析了Python异步编程中常见的卡死、协程不执行和任务泄漏问题。文章首先列举了这些问题的典型表现,如程序卡住、死锁、任务未启动等。然后深入剖析了各类问题的根源,包括同步阻塞操作、未正确await、资源未清理等。针对这些问题,文章提供了两套解决方案:一是异步编程最佳实践,包括安全协程执行、带超时的执行、任务清理等实用方法;二是死锁检测和预防机制,通过锁管理和等待图分析来避免死锁。文章还包含可直接使用的代码示例,帮助开发者快速定位和解决异步编程中的常见问题。

博客 451

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 534
上一篇: 在J2ME程序加入暂停功能——附实现源代码
下一篇: J2ME平台手机游戏移植的体会(一)
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值