当前位置:网站首页>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
边栏推荐
- : app: transformclasseswithrobustfordevrease meituan hot repair compilation error record
- Treatment of incomplete display of listview height
- Zlib realizes streaming decompression
- Introduction to ROS learning notes (I)
- 关于unity文件读取的操作(一)
- iptables -L执行缓慢
- K210 serial communication
- Sogou cell thesaurus analysis (only extract words and word frequency)
- ctfshow-web362(SSTI)
- 22 year flying Book manpower Kit
猜你喜欢
Raspberry pie 18b20 temperature
On iptables
使用晨曦记账本,分析某个时间段每个账户收支结余
[popular science] CRC verification (I) what is CRC verification?
Practice of Druid SQL and security in meituan review
解决:cnpm : 無法加載文件 ...\cnpm.ps1,因為在此系統上禁止運行脚本
C: generic reflection
ctfshow-web362(SSTI)
ESP32 LVGL8. 1 - arc (arc 19)
iptables -L执行缓慢
随机推荐
Tencent map and high logo removal method
Dynamically add and delete layouts
ESP32 LVGL8. 1 - roller rolling (roller 24)
ESP32 LVGL8. 1 - msgbox message box (msgbox 28)
os_ authent_ Prefix
Download xshell 6 and xftp6 official websites
【科普】CRC校验(一)什么是CRC校验?
Minesweeping II of souI instance
mysql_ Download and installation of Linux version
SSDB基础3
Esp32 (UART ecoh) - serial port echo worm learning (2)
c1000k TCP 连接上限测试
2022.04.23(LC_714_买卖股票的最佳时机含手续费)
ESP32 LVGL8. 1 - slider slider (slider 22)
SSDB基础
Methods of nested recycleview to solve sliding conflict and incomplete item display
Seata处理分布式事务
listener.log
Introduction to ROS learning notes (II)
深入理解 Golang 中的 new 和 make 是什么, 差异在哪?