请问,这段代码里面的0X111和0X110代表的是什么指令?

发布于 2021-11-22 03:28:24 字数 2662 浏览 911 评论 4

package com.example.processbarexample;

import net.tsz.afinal.FinalActivity;

import net.tsz.afinal.annotation.view.ViewInject;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.ProgressBar;

import android.widget.Toast;

public class MainActivity extends FinalActivity {// 导入了final快速开发框架

private int mprogresstatus = 0;// 定义一个整型变量,用于控制进度条的变化

private Handler handlder;// 定义一个用于处理消息的Handler类的对象

@ViewInject(id = R.id.processbar1)

ProgressBar progressbar1;// 获取布局文件中的组件

@ViewInject(id = R.id.processbar2)

ProgressBar progressbar2;// 获取布局文件中的组件

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

progressbar1.incrementProgressBy(10);// 设置进度条的增加或者是减少,参数是正数时,表示进度增加,负数时,

// 表示进度减少

progressbar2.incrementProgressBy(10);

handlder = new Handler() {

@Override

public void handleMessage(Message msg) {

if (msg.what == 0x111) {// 接收消息 0x111问:代码0x111是什么意思???

progressbar1.setProgress(mprogresstatus);// 更新进度

} else {

Toast.makeText(MainActivity.this, "耗时操作已经完成",

Toast.LENGTH_SHORT).show();// 前台显示消息

progressbar1.setVisibility(View.GONE);// 设置进度条不显示。且不占空间

progressbar2.setVisibility(View.GONE);

}

}

};

new Thread(new Runnable() {// 实例化一个新线程,复写runnable

private int dowork() {// 声明一个方法用于改变进度条进度

mprogresstatus += Math.random() * 10;// random()是产生随机数方法

try {

Thread.sleep(200);// 线程休眠200毫秒

} catch (InterruptedException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

return mprogresstatus;// 将新的完成进度返回出去

}

@Override

public void run() {// 复写run方法

while (true) {

mprogresstatus = dowork();// 调用方法改变进度

Message msg = new Message();

if (mprogresstatus < 100) {// 如果进度值小于100

msg.what = 0x111;

handlder.sendMessage(msg);// 发送0x111消息

} else {

msg.what = 0x110;// 问:0x110是什么意思

handlder.sendMessage(msg);// 发送0x110消息

}

}

}

}).start();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

嘦怹 2021-11-22 04:39:48

那,这个0X111和0X110具体代表的是什么指令呢?或者说是什么信息呢?谢谢。

醉酒的小男人 2021-11-22 04:36:58

回复
这个就是一个标志,handle接受多个message的时候,进行区分给与对应操作的 what 是用户自定义的消息代码,这样接受者可以了解这个消息的信息。每个handler各自包含自己的消息代码,所以不用担心自定义的消息跟其他handlers有冲突。

顾挽 2021-11-22 04:36:04

回复
非常感谢,懂了,谢谢!

无边思念无边月 2021-11-22 04:02:09

0x代表十六进制

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文