java代码控制电脑发出警报_java – 如何使用警报构建器对话框显示消息

我想使用一个对话框来显示下面方法中包含的消息,而不仅仅是setText,但每次使用alertBuilder时,都不会显示消息.有人可以指点我正确的方向吗?

以下是代码:

@Override

public void onPreviewFrame(byte[] data, Camera cam) {

if (data == null) throw new NullPointerException();

Camera.Size size = cam.getParameters().getPreviewSize();

if (size == null) throw new NullPointerException();

if (!processing.compareAndSet(false, true)) return;

int width = size.width;

int height = size.height;

int imgAvg = ImageProcessing.decodeYUV420SPtoRedAvg(data.clone(), height, width);

Log.i(TAG, "imgAvg="+imgAvg);

if (imgAvg == 0 || imgAvg == 255) {

processing.set(false);

return;

}

int averageArrayAvg = 0;

int averageArrayCnt = 0;

for (int i = 0; i < averageArray.length; i++) {

if (averageArray[i] > 0) {

averageArrayAvg += averageArray[i];

averageArrayCnt++;

}

}

int rollingAverage = (averageArrayCnt > 0) ? (averageArrayAvg / averageArrayCnt) : 0;

TYPE newType = currentType;

if (imgAvg < rollingAverage) {

newType = TYPE.RED;

if (newType != currentType) {

beats++;

// Log.d(TAG, "BEAT!! beats="+beats);

}

} else if (imgAvg > rollingAverage) {

newType = TYPE.GREEN;

}

if (averageIndex == averageArraySize) averageIndex = 0;

averageArray[averageIndex] = imgAvg;

averageIndex++;

// Transitioned from one state to another to the same

if (newType != currentType) {

currentType = newType;

image.postInvalidate();

}

long endTime = 20;

//System.currentTimeMillis();

double totalTimeInSecs = (endTime - startTime) / 1000d;

if (totalTimeInSecs >= 20) {

double bps = (beats / totalTimeInSecs);

int dpm = (int) (bps * 60d);

if (dpm < 30 || dpm > 180) {

startTime = System.currentTimeMillis();

beats = 0;

processing.set(false);

return;

}

Log.d(TAG,

"totalTimeInSecs="+totalTimeInSecs+" beats="+beats);

if (beatsIndex == beatsArraySize) beatsIndex = 0;

beatsArray[beatsIndex] = dpm;

beatsIndex++;

int beatsArrayAvg = 0;

int beatsArrayCnt = 0;

for (int i = 0; i < beatsArray.length; i++) {

if (beatsArray[i] > 0) {

beatsArrayAvg += beatsArray[i];

beatsArrayCnt++;

}

}

int beatsAvg = (beatsArrayAvg / beatsArrayCnt);

//maybe here

startTime = System.currentTimeMillis();

beats = 0;

text.setText(String.valueOf(beatsAvg) + "bpm");

}

代码工作正常,但我只想使用一个对话框来显示text.setText消息.我该怎么做呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值