Activity UI Handler ProgressBar AsyncTask
package io.vov.vitamio.activity; import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Window;
import io.vov.vitamio.Vitamio;
import java.lang.ref.WeakReference; public class InitActivity extends Activity
{
public static final String FROM_ME = "fromVitamioInitActivity";
private ProgressDialog mPD;
private UIHandler uiHandler; protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
getWindow().addFlags();
this.uiHandler = new UIHandler(this);
new AsyncTask()
{
protected Boolean doInBackground(Object[] paramArrayOfObject)
{
return Boolean.valueOf(Vitamio.initialize(InitActivity.this, InitActivity.this.getResources().getIdentifier("libarm", "raw", InitActivity.this.getPackageName())));
} protected void onPostExecute(Boolean paramBoolean)
{
if (paramBoolean.booleanValue())
InitActivity.this.uiHandler.sendEmptyMessage();
} protected void onPreExecute()
{
InitActivity.this.mPD = new ProgressDialog(InitActivity.this);
InitActivity.this.mPD.setCancelable(false);
InitActivity.this.mPD.setMessage(InitActivity.this.getString(InitActivity.this.getResources().getIdentifier("vitamio_init_decoders", "string", InitActivity.this.getPackageName())));
InitActivity.this.mPD.show();
}
}
.execute(new Object[]);
} private static class UIHandler extends Handler
{
private WeakReference<Context> mContext; public UIHandler(Context paramContext)
{
this.mContext = new WeakReference(paramContext);
} public void handleMessage(Message paramMessage)
{
InitActivity localInitActivity = (InitActivity)this.mContext.get();
switch (paramMessage.what)
{
default:
return;
case :
}
localInitActivity.mPD.dismiss();
Intent localIntent1 = localInitActivity.getIntent();
Intent localIntent2 = new Intent();
localIntent2.setClassName(localIntent1.getStringExtra("package"), localIntent1.getStringExtra("className"));
localIntent2.setData(localIntent1.getData());
localIntent2.putExtras(localIntent1);
localIntent2.putExtra("fromVitamioInitActivity", true);
localInitActivity.startActivity(localIntent2);
localInitActivity.finish();
}
}
}
Activity UI Handler ProgressBar AsyncTask的更多相关文章
- Android之Handler与AsyncTask的区别
1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可 ...
- android activity改变另一个activity ui
android开发之在activity中控制另一个activity的UI更新 转自:http://www.cnblogs.com/ycxyyzw/p/3875544.html 第一种方法: 遇到一 ...
- Activity内部Handler引起内存泄露的原因分析
有时在Activity中使用Handler时会提示一个内存泄漏的警告,代码通常如下: public class MainActivity extends Activity { private Text ...
- Android自定义控件(四)——让每一个Activity UI都具有弹性
前面我们已经介绍了如何让你的ScrollView,ListView具有弹性, 今天,我们在前面的基础上,做一下适当的修改,让那些既不是ScrollView,也不是ListView的Activity页面 ...
- android static达到Service与Activity于Handler沟通
供static理解力,仅适用于static理解力,不喜勿喷 第一种方式:离Service中获取Activity的static变量,调用该静态变量的getHandler()获取Handler进行发送消息 ...
- Android Service 通过 BroadcastReceiver 更新Activity UI
1:MainActivity.java public class MainActivity extends Activity { private TextView tvInfo = null; pri ...
- MVC实现有关时间的进度条,使用jQuery ui的progressbar
在电商网站中,有时候通过进度条来直观地显示用户是否到期以及用户当前的状态. 设计这样的一个Model. public class User { public int Id { get; set; } ...
- Android开发训练之第五章——Building Apps with Connectivity & the Cloud
Building Apps with Connectivity & the Cloud These classes teach you how to connect your app to t ...
- 官方XmlPullParser和网络解析xml示例及详述
Parsing XML Data This lesson teaches you to Choose a Parser Analyze the Feed Instantiate the Parser ...
随机推荐
- HTML5之结构元素
1:文档结构元素 1.1 文章语义 -- article.header和footer元素 article元素在页面中用来表示结构完整且独立的内容部分,如论坛的一个帖子,杂志或者报纸的一篇文章. ar ...
- 内存恶鬼drawRect
标题有点吓人,但是对于drawRect的评价倒是一点都不过分.在平日的开发中,随意覆盖drawRect方法,稍有不慎就会让你的程序内存暴增.下面我们来看一个例子. 去年的某天午后,北京的雾霾依旧像现在 ...
- 微信网页获取openId
<%@ WebHandler Language="C#" Class="UserAuth" %> public class UserAuth : I ...
- C语言中的二维数组和数组指针的那些事
其实很多人就想弄明白这个定义了的数组指针里面赋值给的a究竟是什么 a是一个列地址,那么*a是什么,*a还是个地址它存储了行地址.如果我们定义一个指针,那他就有点二级指针的味道.因为它存储的是一个地址, ...
- Bootstrap_表单
表单样式 一.基础表单 <form > <div class="form-group"> <label>邮箱:</label> &l ...
- HTML(Open Method)翻译自MSDN
Open Method Opens a new window and loads the document specified by a given URL. Navigates the app wi ...
- 【leetcode❤python】 112. Path Sum
#-*- coding: UTF-8 -*-# Definition for a binary tree node.# class TreeNode(object):# def __init_ ...
- 【leetcode❤python】231. Power of Two
#-*- coding: UTF-8 -*- class Solution(object): def isPowerOfTwo(self, n): if(n<=0): ...
- extern "C" __declspec(dllexport) __declspec(dllimport) 和 def
原文:extern "C" __declspec(dllexport) __declspec(dllimport) 和 def 前面的extern "C" _ ...
- Ubuntu中文输入法的添加
做了一个英文环境的Ubuntu14.04LTS,为了写博客方便,添加了中文输入法,在网上搜寻了一堆方法,最后找到个靠谱的. 1 添加fcitx输入法框架.(在此框架下有各种输入法) sudo add- ...