Android进阶之路
来源:互联网 发布:淘宝的所在地怎么修改 编辑:程序博客网 时间:2024/05/22 00:12
在Android中使用Handler的场景还是非常多的,子线程处理耗时操作,然后反还数据到主线程。
上一篇我们使用的是在主线程进行Handler创建,之后再子线程使用handler进行发送,原理也就是通过Looper.loop的方法轮询信息池,
那么我们这篇要用到的是runOnUiThread()方法的使用,如果问俩者的区别的话,我认为在主线程创建Handler的话,更方便我们后期的维护,因为其更统一化管理,而使用runOnUiThread()的话,有时候却更为方便,废话不多说,一个Demo带给大家,初学者一看便知。
建议俩者一起学习,毕竟代码很少,也很好理解,而且还常用,Handler的使用(一)地址,:
http://blog.csdn.net/qq_20451879/article/details/54347557
MainActivity Code:
package com.example.handlerui;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.view.View.OnClickListener;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;//最终效果,Text显示的数据改变为我们输入的信息public class MainActivity extends Activity { private TextView mTv; private EditText mEt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEt = (EditText) findViewById(R.id.et); mTv = (TextView) findViewById(R.id.tv); /** * 子线程获取数据后,渲染到UI * 1.开启子线程获取数据 * 2.获取数据之后使用runOnUiThread()的方法进行主线程UI渲染 * */ new Thread(new Runnable() { @Override public void run() { mTv.setOnClickListener(new OnClickListener() { private String data; @Override public void onClick(View v) { data = mEt.getText().toString(); if (TextUtils.isEmpty(data)) { Toast.makeText(MainActivity.this, "请输入信息", 0) .show(); } else { runOnUiThread(new Runnable() { public void run() { mTv.setText(data); } }); } } }); }; }).start(); }}
MainAcitivity Xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/et" /> <TextView android:id="@+id/tv" android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="UIThread使用" /></LinearLayout>
0 0
- Android进阶之路
- android进阶之路
- Android 进阶之路
- Android 进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- N元语言模型
- Thrift 使用以及使用动态代理透明化调用
- Compiling PCL for android
- java中,什么是封装,继承,多态和抽象,好处与用法
- SpringMVC实现局部刷新DIV
- Android进阶之路
- Student management system
- 大数据集群机房事项:
- 今天进行了cvte的一面,感觉特糟糕,对自己五星差评,以下为总结
- java实现合并排序算法
- 排序二叉树查找
- 构造函数与析构函数
- struts 运行机制
- Compiling PCL 1.6 for android