当前位置:网站首页>Android Development: the client obtains the latest value in the database in real time and displays it on the interface
Android Development: the client obtains the latest value in the database in real time and displays it on the interface
2022-04-23 18:56:00 【Mug mop fan】
Catalog
summary
I'm writing a program recently , The requirement is that the server-side program will constantly refresh the value of a field in the database , Then you need to write a client program to continuously read the field and display it on the interface . Here the database uses MySQL,Android Data interaction between client and server Volley frame .
Preparation
Volley yes Google Officially launched HTTP Method library , Use Volley The framework needs to be Android Studio Introduce the corresponding package , For details, please refer to my previous articles :
Android Use Volley Frame for data transmission
Main code
The whole implementation logic is that the user clicks “START” after , Start to continuously pull the value of the corresponding field in the database , Also on UI Control . meanwhile , Set flag bit getAgain, Its meaning is as follows :
getAgain = true: The current read operation has completed , Make the next read ;
getAgain = false:Volley The child thread is reading the value of the corresponding field in the database , The read operation is blocked .
The code is as follows :
1. Variable bit declaration :
public static boolean getAgain = true;
2.“START” Button Click event :
mBtnBegin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Start a loop refresh
new Thread(new Runnable() {
@Override
public void run() {
// Conduct 1000 Read operations
for(int i = 0; i < 1000; ++i){
// Read the flag bit to judge
if(getAgain){
// Enter the read state
getAgain = false;
// Pull the latest field value from the database
ShowMyCount(getApplicationContext(), LoginActivity.Username);
while (!getAgain){
// Data reading , To block
}
}
}
}
}).start();
}
});
3.“ShowMyCount()” Method :
Use Volley The framework interacts with the server. You can see the above article , For the functions to be realized in this paper , stay “ The query is successful ” Two statements need to be added to the statement block of :
// The query is successful , to update UI Interface
mTvCount.setText(count);
// The data reading is completed , Unblock state
getAgain = true;
Optimize
1. Updated in this article UI The interface is directly in “ShowMyCount()” Method used in setText() Method , but Android In development ,UI The update of the interface usually uses Handler Mechanism .
2. In this paper, the for Cycle... Cycle 1000 Times to roughly realize automatic cyclic reading , But more than 1000 It will not be updated after UI Interface , There are two solutions : Increase the number of cycles or use while loop .
——————————————————————————
Finally, post my official account. : WeChat search “ Tea migration ” Or scan the figure below . Usually update some programming related articles , Welcome to pay attention ~
版权声明
本文为[Mug mop fan]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210603049963.html
边栏推荐
- Druid SQL和Security在美团点评的实践
- How can programmers quickly develop high-quality code?
- SSDB基础2
- Go 语言 GUI 框架 fyne 中文乱码或者不显示的问题
- Seata handles distributed transactions
- Machine learning theory (7): kernel function kernels -- a way to help SVM realize nonlinear decision boundary
- Configure iptables
- Sentinel服务熔断实战(sentinel整合ribbon+openFeign+fallback)
- 实战业务优化方案总结---主目录---持续更新
- Sentinel service fusing practice (sentinel integration ribbon + openfeign + fallback)
猜你喜欢
listener. log
【历史上的今天】4 月 23 日:YouTube 上传第一个视频;网易云音乐正式上线;数字音频播放器的发明者出生
ESP32 LVGL8. 1 - img picture (IMG 20)
12个例子夯实promise基础
ctfshow-web361(SSTI)
How to virtualize the video frame and background is realized in a few simple steps
mysql_linux版本的下載及安裝詳解
2022.04.23 (lc_763_divided into letter interval)
ESP32 LVGL8. 1 - calendar (calendar 25)
2022.04.23(LC_714_买卖股票的最佳时机含手续费)
随机推荐
MVVM model
Go 语言 GUI 框架 fyne 中文乱码或者不显示的问题
【历史上的今天】4 月 23 日:YouTube 上传第一个视频;网易云音乐正式上线;数字音频播放器的发明者出生
The fifth bullet of MySQL learning -- detailed explanation of transaction and its operation characteristics
Iptables - L executes slowly
c1000k TCP 连接上限测试
Accessing private members using templates
The type initializer for ‘Gdip‘ threw an exception
七、DOM(下) - 章节课后练习题及答案
Esp01s with Arduino development environment
Nacos as service registry
腾讯云GPU最佳实践-使用jupyter pycharm远程开发训练
Ctfshow - web362 (ssti)
Druid SQL和Security在美团点评的实践
#yyds干货盘点#stringprep --- 因特网字符串预备
Summary of actual business optimization scheme - main directory - continuous update
Treatment of incomplete display of listview height
解决:cnpm : 无法加载文件 ...\cnpm.ps1,因为在此系统上禁止运行脚本
ctfshow-web362(SSTI)
Yyds dry goods inventory stringprep --- Internet string preparation