Android——模拟文件拷贝
模拟文件拷贝:
要求:要用progressDialog和子线程来模拟显示拷贝进度;进度完成后在主界面提示拷贝完成,分别使用普通方式和消息机制编写。
layout文件:
<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.hanqi.testapp2.PractiseActivity6"
android:orientation="vertical"> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="文件拷贝__普通方式"
android:onClick="bt_kaobei1"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="文件拷贝__消息机制"
android:onClick="bt_kaobei2"/>
</LinearLayout>
java类:
package com.hanqi.testapp2; import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast; public class PractiseActivity6 extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_practise6);
}
public void bt_kaobei1(View v)
{
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("文件复制");
progressDialog.setMessage("复制中,请等待……");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setCancelable(false);
progressDialog.show();
new Thread(){
@Override
public void run() {
for (int i=0;i<=100;i++)
{
progressDialog.setProgress(i);
try {
Thread.sleep(3000);
}
catch (Exception e)
{ }
}
runOnUiThread(new Runnable() {
@Override
public void run() { Toast.makeText(PractiseActivity6.this, "文件拷贝完成", Toast.LENGTH_SHORT).show();
}
});
progressDialog.dismiss();
}
}.start();
}
Handler h = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what ==1)
{
final ProgressDialog progressDialog = new ProgressDialog(PractiseActivity6.this);
progressDialog.setTitle("文件复制");
progressDialog.setMessage("复制中,请等待……");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setCancelable(false);
progressDialog.show();
new Thread(){
@Override
public void run() {
for (int i=0;i<=100;i++)
{
progressDialog.setProgress(i);
try {
Thread.sleep(3000);
}
catch (Exception e)
{ }
}
runOnUiThread(new Runnable() {
@Override
public void run() { Toast.makeText(PractiseActivity6.this, "文件拷贝完成", Toast.LENGTH_SHORT).show();
}
});
progressDialog.dismiss();
}
}.start();
}
}
};
public void bt_kaobei2(View v)
{
new Thread(){
@Override
public void run() {
Message m = Message.obtain();
m.what = 1;
h.sendEmptyMessage(1);
}
}.start();
}
}
效果为:
Android——模拟文件拷贝的更多相关文章
- Android PRODUCT_COPY_FILES 自动拷贝文件
/********************************************************************** * Android PRODUCT_COPY_FILES ...
- 【Android】把外部文件拷贝的AVD安卓模拟器上的sdcard上,而且在AVD中浏览sdcard的文件
首先.实现这一切的大前提是.你的AVD安卓模拟器,在启动之前.有设置好sdcard的大小,例如以下图.同一时候,你的AVD安卓模拟器,要处于启动状态.否则无法运行例如以下的操作. 这里以<[An ...
- Android 关于文件及文件夹的创建 、删除、重命名、复制拷贝
package com.example.administrator.myapplication.util; import java.io.BufferedReader;import java.io.B ...
- Android.mk 文件语法详解
0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- [Android Pro] android 混淆文件project.properties和proguard-project.txt
参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359转载自:http://glblong.blog.51cto.com/305 ...
- Android.mk 文件语法详解 转:http://blog.sina.com.cn/s/blog_602f8770010148ce.html
0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...
- Android.mk文件语法规范 原文
序言:------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件.为了明白下面的内容,你必须已经阅读 ...
- Android NDK开发之Android.mk文件
Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南 Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的 ...
随机推荐
- ios 学习 广告图片轮播器
// // ViewController.m // 图片轮播器 // // Created by zjj on 15/5/23. // Copyright (c) 2015年 zjj. All rig ...
- subline快捷键
折叠所有代码: 按ctrl+k,再按ctrl+1 展开所有代码: 按ctrl+k,再按ctrl+j 折叠此处代码: ctrl+shift+[ 展开此处代码: ctrl+shift+]
- println与toString()
public class Test{ public static void main(String[] args) { Mankind mk=new Mankind(); System.out.p ...
- Google search
filetype: active directory filetype: eg : lady gaga filetype:mp3 link: eg : link : supinfo.com(链接到su ...
- JDBC专题
JDBC ·持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化以为着将内存中的数据保存到硬盘上加以“固化”,而持久化的实现过程大多 ...
- <转>用thinkPHP实现验证码的功能
许多系统的登录都有验证码,而如果使用thinkPHP框架搭建网站的话,验证码的生成和验证就比较容易了 1.生成验证码 thinkPHP有对应生成验证码的方法 要使用验证码,需要导入扩展类库中的ORG. ...
- hdu 2076
ps:WA了三次...第一次头脑有点乱,很麻烦的分几种情况讨论,第二次发现,只要分别算出时针和分针的角度,然后一减就行,却忽略了哪个大的问题,第三次加上了绝对值,就好了..就是以后double型比较最 ...
- 【LeetCode OJ】Surrounded Regions
Problem Link: http://oj.leetcode.com/problems/surrounded-regions/ We can do follows in the 2D board. ...
- 根据终端分配不同的url地址
<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 转载:C# Word操作实现代码
转载自:http://www.jb51.net/article/17770.htm 在VS2008平台下,引用.net-Microsoft.Office.Interop.Word.12,这样就可以在程 ...