位置: 编程技术 - 正文

ROM开发 系统下载应用开发(rom开发是做什么的)

编辑:rootadmin

推荐整理分享ROM开发 系统下载应用开发(rom开发是做什么的),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:手机rom开发流程,rom开源,rom开发论坛,rom开发工具箱,rom开发是做什么的,rom开发工具,rom包开发,rom开发教程,内容如对您有帮助,希望把文章链接给更多的朋友!

一、下载列表数据的分块显示

下载文件内容的数据库查询需要用到frameworksbasecorejavaandroidapp目录下的DownloadManager.java类,若要下载的列表数据分块显示,如:让处于正在下载状态的下载文件处于下载列表项前面,下载完毕或者下载失败的文件处于列表项后面,即分为两部分显示。在所操作的Query类中添加根据下载状态分类显示查询的Boolean&#;设置操作函数:

privatebooleanmIsSortByDownloadingStateAndDate =false;

/**

* setSortByDownloadingStateAndDate:TODO<br/>

*

*@param pValue boolean

*@hide

*/

publicvoidsetSortByDownloadingStateAndDate(boolean pValue) {

mIsSortByDownloadingStateAndDate = pValue;

}

在runQuery(ContentResolverresolver, String[] projection, Uri baseUri)函数中修改orderBy赋&#;逻辑:

if (mIsSortByDownloadingStateAndDate) {

orderBy = COLUMN_STATUS &#;" ASC, " &#; Downloads.Impl.COLUMN_LAST_MODIFICATION &#;" DESC";

}

优先根据下载状态&#;排序,再根据下载文件的时间来排序。

二、下载的暂停和继续

ROM开发  系统下载应用开发(rom开发是做什么的)

下载页面列表数据的显示是直接从下载数据库中查询得到,在DownloadProviderUI工程中只是数据库数据在UI上的呈现,下载的实际后台逻辑处理在DownloadProvider工程中。处于下载状态中的下载暂停和控制都是改变数据库中的数据,并没有与DownloadProvider后台服务进行直接的交互。

1、暂停下载是将数据库中Downloads.Impl.COLUMN_CONTROL字段&#;置为Downloads.Impl.CONTROL_PAUSED。逻辑代码如下:

final Uri uri = ContentUris.withAppendedId( Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI,mId);

final ContentValuesvalues = new ContentValues();

values.put(Downloads.Impl.COLUMN_CONTROL,Downloads.Impl.CONTROL_PAUSED);

getContentResolver().update(uri,values, null,null);

2、 继续下载是更新Downloads.Impl.COLUMN_CONTROL字段&#;为Downloads.Impl.CONTROL_RUN,且需将Downloads.Impl.COLUMN_STATUS字段&#;设置为Downloads.Impl.STATUS_RUNNING。逻辑代码如下:

final Uri uri = ContentUris.withAppendedId( Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI,mId);

final ContentValues values =new ContentValues();

values.put(Downloads.Impl.COLUMN_CONTROL, Downloads.Impl.CONTROL_RUN);

values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_RUNNING);

getContentResolver().update(uri,values,null,null);

三、原生系统下载的Bug

原生系统下载服务会在当前没有继续下载任务的时候直接停止下载服务,这样会导致后续的下载暂停和继续的控制无法进行,在停止下载服务的操作之前需要添加是否有暂停的下载任务的判断。

// 添加此判断 if(!hasPauseTask()){ // if (stopSelfResult(startId)) { if (DEBUG_LIFECYCLE) Log.v(TAG, "Nothing left; stopped"); getContentResolver().unregisterContentObserver(mObserver); mScanner.shutdown(); mUpdateThread.quit(); } }

private boolean hasPauseTask() { final ContentResolver resolver = getContentResolver(); final Cursor cursor = resolver.query( Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI, null, null, null, null); try{ if (cursor != null && cursor.moveToFirst()) { for (int i = 0; i < cursor.getCount(); i&#;&#;) { int status = cursor.getInt(cursor .getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS)); if (status < Downloads.Impl.STATUS_SUCCESS) { return true; } cursor.moveToNext(); } } }finally{ if(cursor!=null){ cursor.close(); } } return false; }

android 检测网络状况 一.编写目的在android开发中,很多时候我们都需要网络交互数据。但在这之前,我们一般会判断网络,这样一方面能使代码更合理,避免无谓的网络访问

Android------初学GPS定位 GPS英文是GlobalPositioningSystem全球定位系统的简称。Android为GPS功能支持专门提供了一个LocationManager,位置管理器。所有GPS定位相关的服务、对象都将由该

Android带有undo,redo功能的EditText 没别的,只有代码自己看。。。packagezwp.mycalendar.widget;importjava.util.ArrayList;importjava.util.List;importandroid.content.Context;importandroid.text.Editable;importandroid.text.TextW

标签: rom开发是做什么的

本文链接地址:https://www.jiuchutong.com/biancheng/382194.html 转载请保留说明!

上一篇:PopupWindow中嵌套EditText不能粘贴的问题(wpf窗口嵌套)

下一篇:android 检测网络状况(安卓网络监测)

  • 固定资产清理亏损的账务处理
  • 关联企业间借款利息扣除规定
  • 外贸企业出口退税申报流程操作
  • 增值税影响利润总额吗
  • 申报所得税季初资产总额怎么填?
  • 企业变更法人的流程网上申请变更
  • 发票第二年是否可以作废
  • 计算企业所得税可以扣除的项目有
  • 年报和汇算清缴报表数字不一致
  • 企业资产损失所得税税前扣除办法
  • 监理费可以由施工方出吗
  • 事业单位专项资金的管理要求
  • 企业票据贴现属于什么业务
  • 主营业务成本的贷方可以是哪些科目
  • 地税人工费税率计算是怎样的?
  • 增值税普通发票对方作废了怎么办?
  • 其他收益是否缴纳个税
  • 进项税的现金流怎么填
  • 房屋出租何时缴纳房产税?
  • mac怎么创建热点
  • 收到退还的工会经费进什么科目
  • Win10 LTSC 2021(长期服务频道)正式版发布: 附MSDN官方ISO纯净镜像下载
  • 收到安监处罚款怎么处理
  • 现在还有票据法吗
  • 企业跨年度的收入退回应该如何进行会计处理?
  • 微信聊天记录备份和恢复
  • php连接mysql数据库详细步骤(图文)
  • php分页函数封装
  • ipv6无网络访问权限怎么解决
  • 驾校属于什么行业分类类别
  • php floor
  • jupyter用法
  • mkfs.ext4 命令 对磁盘设备进行Ext4格式化
  • setdo指令
  • php 命名空间 通俗易懂
  • 服务型制造收入
  • 外贸企业上年的税收
  • html获取php数据
  • java 泛型方法
  • 库存商品的盘盈盘亏
  • 董事会会费应计什么科目
  • 筹备期间费用怎么做分录
  • 帝国cms真的很好用
  • 织梦网站怎么添加关键词
  • sql server 自定义排序
  • 纳税人缴纳的税款叫做什么
  • 亏损企业对外捐赠的税前扣除
  • 事业单位之间调动难吗
  • 固定资产清理后折旧怎么处理
  • 机动车经销企业开具机动车发票
  • 铁路运费印花税怎么算
  • 主营业务税金及附加借贷方向
  • 单位购买金税盘账务处理
  • 投标资质使用费
  • 企业出售投资性房地产应按照售价与账面价值
  • 主营业务成本包括哪些费用
  • sqlserver的sql文件导入mysql
  • win7用u盘怎么重装系统
  • 深度操作系统中的生活服务类软件有
  • linux常用命令chown
  • win8.1系统HDMI高清线连接电视后没有声音的原因及解决办法
  • linux 压缩包zip
  • linux没有ssh
  • centos8 systemd
  • 安装软件时提示无法访问网络位置
  • windowsxp oobe
  • windows免费升级win10
  • windows10x预览版
  • Tutorial 7 Rotation Transformation
  • cocos2djs
  • 提高你工作效率的方法
  • js如何使用
  • python发邮件代码
  • javascript中的this属性
  • 技术合同备案要求
  • 江西省税务局发票查询系统
  • 国际税务处岗位职责
  • 银行收取手续费可以抵扣进项税额吗
  • 一个公司怎么算利润
  • 如何用微信进行社保认证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设