导航:首页 > 操作系统 > android进度等待

android进度等待

发布时间:2022-07-17 02:54:02

‘壹’ android网络加载进度条怎么使用

由于Android的界面更新只能通过自己的UI线程进行操作,所以我们需要用到Handler在进行更新界面的操作。

1、声明变量
private Handler handler = new Handler();
private ProgressDialog progressDialog = null;

2、在开始进行网络连接时显示进度条对话框
progressDialog = ProgressDialog.show(MyActivity.this, "请稍等...", "获取数据中...", true);

3、在handler.post中进行界面更新
public void setListAdapter(){
handler.post(new Runnable() {
public void run() {
//将获取到的数据更新到列表中
MyListView.setAdapter(saImageItems);
}
}
});

4、开个新的线程进行网络连接获取数据
new Thread(new Runnable(){

@Override
public void run() {
// TODO Auto-generated method stub
//向服务器请求数据
mapList=MyAPI.getAllDatas();
setListAdapter(mapList);
//更新完列表数据,则关闭对话框
progressDialog.dismiss();
}}).start();

整个过程就这样完成了,下面是效果图:

‘贰’ android关于进度条的问题,急求

安装应用程序使用的进度条,都是“不确定”的,即属性“android:indeterminateOnly=true”。因为具体的安装是由PackageManagerService来完成的,无法确定的知道安装进度。
-----------------------------------------------------------------------------------------------------
安卓精英团为你解答
安卓精英团欢迎各位精英加入!

‘叁’ android中webview 怎么实现网页加载时显示加载进度

android中只需要给webView注册一个事件即可实现加载进度。
以下是具体实现代码:
1.从webView中获取设置
WebSettings sws = webView.getSettings();
sws.setSupportZoom(true);
sws.setBuiltInZoomControls(true);
webView.setInitialScale(25);
webView.getSettings().setUseWideViewPort(true);

2.注册setWebChromeClient事件
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activity和Webview根据加载程度决定进度条的进度大小
// 当加载到100%的时候 进度条自动消失
//WebViewProgressActivity.this.setTitle("Loading...");
//WebViewProgressActivity.this.setProgress(progress * 100);
if (progress == 100) {
progressBar.setVisibility(View.GONE);
//WebViewProgressActivity.this.setTitle("完成");
}
}
});

3.注意在onProgressChanged中处理进度,progress就是进度值。

‘肆’ 如何在android上去控制开发进度

在整个开发阶段和测试阶段,出现了很多预料之外的事情,比如size是1M多的json文件解析、高清图片导致OOM、莫名其妙的崩溃等。这些意外无一不影响开发计划,增大压力,最直接的表现是晚上加班和周末加班。

写代码和修改代码远比想象中的难控制。用户体验增加了代码的细节处理难度、逻辑处理难度,android莫名的崩溃增加解决bug的难度。就这次开发,总结了一些经验。

测试人员经常会报告小米1手机运行壁纸软件时会崩溃的问题,崩溃日志是:

java.lang.RuntimeException: Failed to register input channel. Check logs for details.

at android.view.InputQueue.nativeRegisterInputChannel(Native Method)

at android.view.InputQueue.registerInputChannel(InputQueue.java:92)

at android.view.ViewRoot.setView(ViewRoot.java:570)

at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)

at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

at android.widget.Toast$TN.handleShow(Toast.java:411)

at android.widget.Toast$TN$1.run(Toast.java:337)

at android.os.Handler.handleCallback(Handler.java:587)

at android.os.Handler.dispatchMessage(Handler.java:92)

at android.os.Looper.loop(Looper.java:130)

根据日志推测该崩溃是和Toast有关。可是问题就奇怪了,我在代码中只调用Toast.makeTest(...).show(),为什么会引起这个崩溃。然后根据测试人员的反馈,当设置壁纸成功后,会引起这个崩溃,而且测试人员是在频繁的操作下报出来这个问题的。根据这个现象,推断有可能以下两个原因引起的,一是,设置壁纸引起桌面发生变化,桌面发生变化时弹出toast会导致崩溃;二是,频繁不间断的弹出toast会引起这个问题。而之后测试人员反馈了一个新的现象,当进行新浪微博分享失败后(前提是该新浪微博帐号是有问题的),再去浏览壁纸图片也导致了该崩溃,而且此现象仅出现了一次再也不复现。该bug最终是遗留解决。

针对这种问题,在以后的版本开发中肯定也会出现,怎么避免它再次出现。我总结了从几个方面做努力。先借来小米1手机来玩,学习手机发烧友的习惯和测试人员的思维,然后体验小米1手机,对小米1要有更深入的认识;和小米进行沟通,还没有认识牛逼的朋友在小米做开发,所以可以先在小米论坛上做活跃用户,主动和对方和网友沟通;了解input channel是什么功能,什么机制,研究 anroid2.3的关于这块的native代码。

刚开始进入测试阶段时,测试人员每天都会报告壁纸软件频繁崩溃的问题。对于一些简单的崩溃问题,一般是空指针而且还复现,就不在这里说了。测试报告说,浏览壁纸图片保存壁纸,预览壁纸和设置壁纸时经常的崩溃,这种崩溃没有规律可复现但是很频繁出现。这种问题的原因是OOM,比如,在MX2手机上,桌面预览要使用的位图大小是1280 X 800 X 2 X 4字节 约等于8M,软件中的位图各种处理(缩放、剪切、渲染、多个activity同时存在等)会导致内存使用量飙升到50多M,当超过64M左右时,软件会报OOM错误。没有彻底解决OOM的方法,网上有很多避免OOM的方法,比如延迟加载图片、及时回收内存、弱引用等。另外在生成bitmap的地方要使用try

解决了这些崩溃问题后,还会有新的导致崩溃的原因。测试人员说中午吃完饭回来,打开壁纸软件突然崩溃。分析这个现象后,找到原因是,长期待机情况下android杀掉了壁纸软件的进程。但是疑问出现了,此时进程被杀掉了之后点击app的icon,不是又重新打开了进程,重新运行了吗,怎么会崩溃呢。经过分析,发现有个诡异的地方是,android待机后把壁纸进程给杀掉了,但是该软件的activity并没有从task中删除掉,所以当再点击app的icon时,会执行task顶层的activity的onCreate,而onCreate里边的一些东西还未初始化,会因为空指针而崩溃。

后来,测试人员报告了一个诡异的bug,安装软件后第一次打开软件,欢迎界面的图片显示不出来,以后每次打开软件欢迎界面的图片都能打开出来。图片是一个jpg文件,在raw中。最后找到原因是,在decode bitmap,scale bitmap时,其中要操作的一个变量imagewidth在第一次时是0,没有赋值,之后再操作就不是0,赋值了。但是为什么会这样,最后找到原因了,imagewidth是一个全局静态变量,该全局静态变量在另外一个线程中会被赋值(赋上屏幕的宽度)。由于线程的异步问题而导致第一次imagewidth是0。后来每次打开软件,并不是进程重启,而是activity重启,imagewidth赋的值还在。

‘伍’ android 如何实现弹出一个进度条后,再弹出一个倒计时的界面。

实现流程

  1. Step One 弹出进度条对话框

  2. Step Two 执行线程,在线程中实现数据的异步加载

  3. Step Three 在线程数据加载完成后,调用Handler并集合数据,更新界面

  4. Java代码

//添加异步操作

m_Dialog=ProgressDialog.show(m_context, "请等待...", "正在下载安装文件,请稍后...",true);

//mRegsiterHandler.sleep(100);

new Thread(new Runnable(){

@Override

public void run() {

//加载数据

result=0;

try{

//下载文件

String url="http://00.00.00.00:80/nationaltest.html";

HttpClient client = new DefaultHttpClient();

HttpGet get = new HttpGet(url);

HttpResponse response;

response = client.execute(get);

HttpEntity entity = response.getEntity();

long length = entity.getContentLength();

InputStream is = entity.getContent();

FileOutputStream fileOutputStream = null;

if (is != null) {

File file = new File(Environment.getExternalStorageDirectory(), "nationaltest.apk");

fileOutputStream = new FileOutputStream(file);

byte[] buf = new byte[1024];

int ch = -1;

while ((ch = is.read(buf)) != -1) {

fileOutputStream.write(buf, 0, ch);

}

}

fileOutputStream.flush();

if (fileOutputStream != null) {

fileOutputStream.close();

}

result=2;

}

catch(Exception ex){

result=-1;

}

//更新界面

// Update the progress bar

mHandler.post(new Runnable() {

public void run() {

if(result==2)

install();

else

Toast.makeText(m_context, "下载文件失败,请检查网络连接", Toast.LENGTH_SHORT).show();

}

});

m_Dialog.dismiss();

}}).start();

}

‘陆’ android 进度条,暂停,继续怎么弄

Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
一,涉及的handler类方法
1,
post(Runnable r)
Causes the Runnable r to be added to the message queue.将要执行的线程对象加到队列当中
2,
removeCallbacks(Runnable r)
Remove any pending posts of Runnable r that are in the message queue.移除队列当中未执行的线程对象
3,
postDelayed(Runnable r, long delayMillis)
Causes the Runnable r to be added to the message queue, to be run after the specified amount of time elapses.
将要执行的线程对象放入到队列当中,待时间结束后,运行制定的线程对象

二,编写程序

程序效果:实现进度条的开始,暂停,停止,后退和循环
http://blog.csdn.net/superjunjin/article/details/7539844

‘柒’ android系统卸载软件时出现的进度条是怎么做出来的

这个进度条,实际上是不显示进度的,只是两幅图片轮流显示。在卸载完成后,停止显示。严格说来,这不是进度条,只是等待动画

‘捌’ android中如何让progressdialog停下来,怎么进度条老是读进度停不下来呀

线程里 这个 Calculation.calculate(4); 计算完了吗 你是做的处理是 处理完后台线程计算以后 通过handler通知UI关闭 进度条 ,有可能是因为 你的线程里的计算没有停止。 你在 handleMessage里 打印一句话 看是否执行到这里了

‘玖’ 在Android应用程序中,做一个表示加载页面的进度条

加载前 获取加载数据的大小 赋值到ProgressBar.setMax 里
吧 组件写到Handler里 在线程里每次调用Handler 然后给setProgress里 加上你每次加载的数据大小

‘拾’ android 类似进度圆环的是怎么做的

方法:

这是一个自定义Android组件,用于代替标准进度条组件。实现各种进度条样式,包括圆环,扫描等。
XML:
在你的attr.xml(res/value)中加入以下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<declare-styleable name="ProgressWheel">
<attr name="text"format="string"/>
<attr name="textColor"format="color"/>
<attr name="textSize"format="dimension"/>
<attr name="barColor"format="color"/>
<attr name="rimColor"format="color"/>
<attr name="rimWidth"format="dimension"/>
<attr name="spinSpeed"format="integer"/>
<attr name="circleColor"format="color"/>
<attr name="radius"format="dimension"/>
<attr name="barWidth"format="dimension"/>
<attr name="barLength"format="dimension"/>
<attr name="delayMillis"format="dimension"/>
<attr name="contourColor"format="color"/>
<attr name="contourSize"format="float"/>
</declare-styleable>

在你的root view 中加入

1

xmlns:ProgressWheel="http://schemas.android.com/apk/res/com.visualdenim.schooltraq"

1

在你的xml合适的地方加入 组件

1
2
3
4
5
6
7
8
9
10
11
12
13

<com.todddavies.components.progressbar.ProgressWheel
android:id="@+id/pw_spinner"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
ProgressWheel:text="Authenticating..."
ProgressWheel:textColor="#222"
ProgressWheel:textSize="14sp"
ProgressWheel:rimColor="#330097D6"
ProgressWheel:barLength="60dp"
ProgressWheel:barColor="#0097D6"
ProgressWheel:barWidth="5dp"
ProgressWheel:rimWidth="2dp"/>

Java:
你需要从layout中获得进度条,或者初始化

1
2

ProgressWheel pw = newProgressWheel(myContext, myAttributes);
ProgressWheel pw = (ProgressWheel) findViewById(R.id.pw_spinner);

使用.spin() 开始进度条滚动, .stopSpinning 停止进度条滚动
增加进度有点棘手, 你可以调用.incrementProgress(), 但是这样就超过了360度, 因为一个圆有360度, 你超过360度就会自动重置, 一个百分百自动分配

阅读全文

与android进度等待相关的资料

热点内容
农行app怎么开网银 浏览:649
java迭代器遍历 浏览:301
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751
华为删除交换机配置命令 浏览:473