二
来源:互联网 发布:软件质量控制流程图 编辑:程序博客网 时间:2024/04/29 00:45
package com.example.administrator.zengyuxin1508b20171113;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.Button;import android.widget.ProgressBar;import android.widget.TextView;import com.example.administrator.zengyuxin1508b20171113.gen.DaoMaster;import com.example.administrator.zengyuxin1508b20171113.gen.DaoSession;import com.example.administrator.zengyuxin1508b20171113.gen.UserDao;import rx.Subscriber;import rx.Subscription;import rx.android.schedulers.AndroidSchedulers;import rx.schedulers.Schedulers;import zlc.season.rxdownload.DownloadStatus;import zlc.season.rxdownload.RxDownload;public class MainActivity extends AppCompatActivity implements View.OnClickListener { /** * 0% */ private TextView mDownload; /** * 暂停 */ private Button mStop; private ProgressBar mPb; /** * 添加下载 */ private Button mStart; private Subscription subscribe; //handler线程操作 private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); DownloadStatus downloadStatus = (DownloadStatus) msg.obj; long totalSize = downloadStatus.getTotalSize(); long downloadSize = downloadStatus.getDownloadSize(); String percent = downloadStatus.getPercent(); if(downloadSize<=totalSize){ mDownload.setText(percent); mPb.setProgress((int) downloadSize / (1024 * 1024)); User user = new User(null,percent); userDao.insert(user); //完全打印 *打印卡死了/* List<User> users = userDao.loadAll(); for (int i=0;i<users.size();i++){ Log.i("xxx",users.toString()); }*/ } } }; private UserDao userDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(MyApp.getContext(), "my_db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDatabase()); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getUserDao(); } //初始化组件 private void initView() { mDownload = (TextView) findViewById(R.id.download); mStop = (Button) findViewById(R.id.stop); mStop.setOnClickListener(this); mPb = (ProgressBar) findViewById(R.id.pb); mStart = (Button) findViewById(R.id.start); mStart.setOnClickListener(this); } //点击事件 @Override public void onClick(View v) { switch (v.getId()) { case R.id.stop: if (subscribe != null && !subscribe.isUnsubscribed()) { subscribe.unsubscribe(); } break; case R.id.start: String url = "http://mirror.aarnet.edu.au/pub/TED-talks/911Mothers_2010W-480p.mp4"; subscribe = RxDownload.getInstance() //设置总线程数为4个 .maxThread(4) .maxRetryCount(10) .download(url, "shipin.mp4", null) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<DownloadStatus>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(DownloadStatus downloadStatus) { Message message = new Message(); message.obj = downloadStatus; handler.sendMessageDelayed(message,100); } }); break; } }}
//布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.administrator.zengyuxin1508b20171113.MainActivity"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_weight="1" android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_marginLeft="15dp" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:text="aa" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/download" android:layout_marginTop="5dp" android:text="0%" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/stop" android:text="暂停" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <ProgressBar android:id="@+id/pb" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_marginTop="400dp" android:orientation="horizontal" android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/start" android:text="添加下载" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:text="用户:zyx" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout></LinearLayout>
阅读全文
0 0
- (二)
- (二)
- 二
- 《二》
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二
- 二二
- Ubuntu终端常用的快捷键
- PHP之安装xdebug
- 传统的老安防行业从业者,认清这三个关系,不要老被AI忽悠了
- ubuntu系统下python环境配置使用rasterio
- 如何用Go实现单链表
- 二
- 自动人工智能是梦想还是噩梦?
- 关于一个数据库联合索引的小题
- Coursera吴恩达《卷积神经网络》课程笔记(1)卷积神经网络
- Java-冒泡排序
- Python3 安装 pip3 以及 scrapy、numpy、itchat
- 接口编写、调用及测试简介
- Windows核心编程->文件操作
- 解决office word 2016 、2013等一直正在启动的问题