In the simple music player, with the handler, and not too much to study, here to learn the next Android under the asynchronous message processing mechanism. The handler used here is mainly that the UI cannot be updated in the thread, and it needs to be handler. There are several concepts about asynchronous message processing.1. Message: Messages, data units for inter-thread communication. For example, to download a song in the background and download it. To update the UI, you can send a message
The previous article mentions that the UI thread of an Android system is a thread with a message loop (Looper) mechanism, while Android also provides a Handlerthread class that encapsulates a message loop (Looper) that can bind handler () objects, A message is sent to the thread through the SendMessage () function of handler, and the message received by the thread is processed through the handlemessage () f
if (looper.mylooper () = Looper.getmainlooper ()) {If we finish marking off of the main thread, we need toActually do it in the main thread to ensure correct ordering.Handler mainthread = new Handler (Looper.getmainlooper ());Mainthread.post (New Runnable () {@Overridepublic void Run () {Meventlog.add (tag, threadId);Meventlog.finish (This.tostring ());}});Return}Handler inside holds a looper,looper inside
Relationship between message, Handler, message Queue, Looper in a single-threaded model1. MessageA message is an information that can be understood as a communication between threads. Processing a data background thread requires updating the UI, and you can send a message containing some data to the UI thread.2, HandlerHandler is the processor, is the main processor of the message, responsible for sending the message, message content execution process
If you write a system, you will often use the column management
Column Classification Multi-level more need to achieve unlimited class classification, the code is as follows
One, the use of the drop-down menu
/* Infinite class * * logical recursive Get type *hid ancestor column ID *step subordinate column prefix *tid seleted option ID */function logicgettypelist ($datatable = ' Lanmu_class ', $hid =0, $step = ", $tid =-1) {static $TypeList ="; $quer
To do a simple little demo about Handler,looper,message, a button on the main interface of the code, click Send Message (accumulate) to the thread's Looper loop, and then print it out in Logcat:Package Zhangphil.looper;import Android.os.bundle;import Android.os.handler;import android.os.looper;import Android.os.message;import Android.util.log;import Android.view.view;import Android.widget.button;import Andr
Calls in the thread containing the creation of the handler method, will be an error, prompt:"Need call Looper.prepare ()"--before creating, invoke the Looper.prepare () method to create a LooperHowever, the method that contains the create handler may be called in the main thread or in a child thread.When called in the main thread, you add the Looper.prepare () method to it, it may error, prompt:"Only one Looper can be created per thread"--within each
ThreadLocalBefore looking down, you need to know about Java's threadlocal class, you can refer to the blog:Decryption threadlocalLooper, Handler and MessageQueueLet's analyze the previous code and see what the relationship between Handle, Looper, and MessageQueue is in the handler mechanism. Packagecn.lixyz.handlertest;Importandroid.app.Activity;ImportAndroid.os.Bundle;ImportAndroid.os.Handler;ImportAndroid.os.Looper;ImportAndroid.os.Message;ImportAnd
This class of users runs the message loop in a thread. The thread does not have a message loop by default, and you can call prepare () to create a run loop in the threads, and then call Loop () to process the message until the loop endsMost of the message loop interactions are through the handler class;Class Looperthread extends thread{Public Handler handler;//Create Handler object in threadpublic void Run () {Looper.prepare ();//The thread must be created atHandler=new handler () {public void H
In the previous section, we mentioned that the main difference between stream and list is the lazy evaluation feature of stream. We also discussed that when dealing with large array datasets, the stream can move the data elements into memory one at a time and can be processed on an elemental basis. This makes me think of our common data-search reads: A large amount of data is stored in a database, like an infinite source of data. We embed data-reading
PHP implements infinite recursion classification, and php implements infinite recursion. PHP implements infinite recursion classification. php implements infinite recursion in some complex systems. it requires an infinite number of information columns to be classified to enh
PHP implements recursive infinite class classification, PHP implementation recursive infinite
In some complex systems, it is required to classify the information columns infinitely, in order to enhance the flexibility of the system. So how does PHP implement an infinite class classification? We use recursive algorithms in this article and combine MySQL data tabl
PHP Simple implementation of infinite class classification method, PHP infinite class classification
In this paper, we describe the simple implementation of an infinite class of PHP methods. Share to everyone for your reference, as follows:
Database structure:
CREATE TABLE IF not EXISTS ' city ' (' id ' int (one) not NULL auto_increment, ' name ' varchar () char
How to implement an infinite element list in Python, and an infinite element list in python
The example in this article describes how to implement the infinite element list in Python. The specific implementation can be completed using Yield.
The following two sample codes use the Python Yield generator to implement a simple list of
Php infinite polar classification recursive sorting implementation method, php infinite recursive sorting. Php Infinitus classification recursive sorting implementation method, php infinite recursive sorting this article describes the php Infinitus classification recursive sorting implementation method. Share it with you for your reference. Specific Implementatio
Php infinite polar classification recursive sorting implementation method, php infinite recursive sorting
This article describes how to implement recursive sorting for php infinitus classification. Share it with you for your reference. The specific implementation method is as follows:
Copy codeThe Code is as follows: function order ($ array, $ pid = 0 ){$ Arr = array ();Foreach ($ array as $ v ){If ($ v [
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.