- 博客(38)
- 资源 (4)
- 收藏
- 关注
原创 Android 多线程断点下载
QDownloadQDownload是基于Android平台实现的下载框架。API简洁易上手,只需5分钟即可实现一个多任务、多线程、断点下载的功能支持功能如下:支持多个下载任务同时下载单个任务支持开多个线程下载支持断点下载,在断网、进程被划掉可恢复下载自动校验服务器文件服务器是否支持断点下载,如果不支持则会开启单线程任务下载支持应用全局监听下载进度回调支持下载速度显示支持添加下载任务,暂停下载,恢复下载,取消下载支持批量暂停,批量恢复下载先贴个效果图主页多任务多线程断点下载页
2022-01-28 21:20:43
3219
原创 Android RecyclerView
RecyclerView基础效果图下面介绍一下如何实现xml布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" x
2021-06-29 20:25:46
183
原创 Android Toolbar 居中
Android Toolbar 居中封装1、QToolbar是什么标题栏控件,基于Toolbar控件封装有返回按钮左标题居中标题子标题右侧菜单优势:继承于Toolbar,Toolbar的API QToolbar都支持,会toolbar可轻松上手效果图:2、如何使用xml中引入com.qw.widget.appbar.QToolbar控件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and
2021-06-16 17:40:38
781
2
原创 Android Webview
Android Webview 使用1、Webview是什麽可以加载网页js可与原生通讯2、API如何用AndroidManifest.xml 添加网络权限<uses-permission android:name="android.permission.INTERNET"/>xml布局文件<WebView android:id="@+id/mWebView" android:layout_width="match_parent"
2021-06-10 20:30:58
1202
2
原创 Android 播放器框架
文章目录Android 播放器框架1、背景2、API简单使用3、需求分析4、结构设计(java语言)1、IPodPlayer 播放职位描述2、PodPlayer 播放组高管3、PodMediaPlayer 播放员工(播音频)4、IPod 播放信息描述5、Playlist 播放实施负责人6、开工7、感想Android 播放器框架1、背景平常开发中经常会遇到一些音视频播放的一些基础需求,做了这个框架目的是解决这一类需求,提高开发效率2、API简单使用3、需求分析音频播放,视频播放,文本播放以音
2021-06-07 15:43:51
1761
1
原创 LiveData源码分析(第一篇)
文章目录LiveData源码分析(第一篇)使用 LiveData 的优势API使用总结LiveData可以解决的一些场景场景2 应用宝应用下载场景3 音乐播放器问题|解决方案接下来LiveData源码分析(第一篇)##LiveData是什么官方文档解释 link: https://developer.android.google.cn/reference/androidx/lifecycle/LiveData?hl=enLiveData是可以在给定生命周期内观察到的数据持有者类。这意味着Obser
2021-05-28 10:08:43
286
原创 ubuntu 下安装MySQL 8.0
ubuntu下安装MySQL8.01、MySQL APT存储库添加到系统的软件存储库列表转到https://dev.mysql.com/downloads/repo/apt/上的MySQL APT存储库的下载页面,选择并下载适用于Linux发行版的发行包的下载路径 ,使用以下命令下载:wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb使用以下命令安装下载的发行包,替换 version-specific-package-n
2021-05-23 22:34:40
561
转载 Android 保存界面状态
在发生系统发起的 Activity 或应用销毁后,需要及时保存和恢复 Activity 的界面状态,这是用户体验的一个至关重要的部分。在这些情况下,用户希望界面状态保持不变,但是系统会销毁 Activity 及其中存储的任何状态。要使系统行为符合用户预期,可以把ViewModel对象、onSaveInstanceState()方法和/或本地存储空间结合起来使用,从而在发生此类应用和 Activity 实例转换后保持界面状态。在决定如何组合这些选项时,需要考虑界面数据的复杂程度、应用的用例以及检索速...
2020-12-30 17:29:38
1999
原创 Android事件分发原理
文章目录Android 事件分发1、事件组成以及传递顺序1.1、触摸事件的组成1.2、传递顺序1.3、涉及的核心方法2、View的事件分发2.1、dispatchTouchEvent2.2、mOnTouchListener.onTouch2.3、onTouchEvent3、ViewGroup事件分发3.1、dispatchTouchEvent3.2、onInterceptTouchEvent4、事件冲突解决方法4.1、内部拦截法4.2、外部拦截法Android 事件分发阅读完之后,你可以学到以下知识
2020-10-09 14:08:35
205
原创 Android 控制音频的音量大小
控制音频的音量大小系统有提供AudioManager管理音频相关服务文档地址:https://developer.android.com/reference/android/media/AudioManager两种方案实现控制音频音量大小1、adjustStreamVolume(int streamType, int direction, int flags)streamType 音频流类型direction 音量调整方向 ADJUST_LOWER 减小音量 ADJUST_RAISE增大音量
2020-08-28 10:30:26
3150
原创 Android TextView 添加下划线、删除线
下面介绍几种TextView 添加下划线方法1.String.xml配置<string name="mine_service_phone"><u>在线客服</u></string>2.代码里设置textView.setText(Html.fromHtml("<u>"+"在线客服"+"</u>"));...
2019-12-04 19:16:38
600
原创 IDE INSTALL_FAILED_NO_MATCHING_ABIS
gradle文件 Android节点下加入splits { abi { enable true reset() include 'x86', 'armeabi-v7a','x86_64' universalApk true } }然后在部署到模拟器就好了...
2019-08-27 11:05:01
239
原创 Android Manifest merger failed with multiple errors
遇到这种编译问题时使用一下命令./gradlew processDebugManifest --stacktraceDebug代表打包的环境 如果指定渠道:./gradlew process360DebugManifest —stacktrace以下是我遇到的错误log日志这里可以看到详细的错误信息 解决完在编译就OK了...
2019-07-05 10:26:06
206
原创 Can not perform this action after onSaveInstanceState
java.lang.IllegalStateExceptionCan not perform this action after onSaveInstanceState1 android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:4)2 android.support.v4.a...
2019-06-27 10:15:12
340
原创 INSTALL_FAILED_USER_RESTRICTED
问题描述:安装程序报INSTALL_FAILED_USER_RESTRICTED错误通过IDE run程序的时候报了 INSTALL_FAILED_USER_RESTRICTED]IDE一直提示你要先卸载应用然后安装,你点击确定还是解决方法开发者选项-usb安装 开关打开就好了...
2019-06-03 18:41:56
23438
原创 Java Socket TCP
TCP简介TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层...
2019-03-27 17:50:51
240
原创 DatePickerDialog使用
显示一个日期选择 final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(...
2019-02-22 14:38:31
2171
原创 Handler机制
android Handler机制##Handler简述主要用于线程间通讯,Handler 允许发送或执行消息(Message)。android UI线程中不能执行耗时操作(导致ANR),耗时的任务放到子线程中处理,处理完可以通过拿到主线程的handler进行发送消息进行入消息队列(MessageQueue),主线程的Looper会一直取消息队列的消息进行处理,处理消息的时候先拿到消息绑定的...
2019-02-15 13:48:16
195
转载 咽部肌肉松弛锻炼
既然鼾声的真正源头是松弛的咽腔肌肉,最根本的解决方法就是锻炼咽腔肌肉,增强咽腔肌肉的力量,使它变得结实。独家奉献自创的除鼾大法,彻底根治顽固呼噜声的练习 【1】伸舌练习。尽力把舌头伸出,缩回来再尽力伸出,如此循环,一次做至少200下以上,直到咽腔感觉很酸。 【2】干漱口练习。不含水,把腮帮子鼓起来,再缩回去,如此循环,一次做至少200下以上,直到咽腔感觉很酸。含水漱...
2018-03-15 17:31:56
10709
原创 sqlite 修改数据库版本号
PRAGMA user_version 查询当前数据库版本号PRAGMA user_version=38 修改当前数据库版本号
2017-12-22 15:55:13
5400
转载 StarUML mac版破解方法
各平台版本均适用,本文更改的为Mac版本。1,打开对应 mac版本的安装包位置,在对应目录/Applications/StarUML.app/Contents/www/license/node/LicenseManagerDomain.js文件。2,找到文件23行,修改对应下面函数。更改为如下代码: function validate(PK, name, pro
2017-04-04 19:26:56
2319
原创 ios开发起步之逻辑控制语句
ios开发起步之逻辑控制语句 我觉的学习还是有必要写文章进行记录一下,一来可以记录自己学习的点滴,二来以后遗忘时也是宝贵的查找资料。嗯哼,我要坚持写下去。这篇文章我想跟大家讲的是if for switch这三种逻辑控制语句if 语句for 循环switch 语句NSlog(@”“) NSlog 是oc中控制台打印的apiif 语句 if语句跟java语言的是一模一样 有木有!/
2016-12-11 19:43:30
360
转载 Toolbar包含EditText时,点击键盘弹出时Toolbar被拉伸
在Android开发中我们经常会用到Toolbar,为了App更加美观,也会支持透明状态栏,这时,我们一般会这么做:在style-v19中添加item name="android:windowTranslucentStatus">trueitem>在Toolbar中添加android:fitsSystemWindows="true"这时,如果我们的layout中包含可滚动的控件
2016-12-02 23:02:40
2244
原创 服务器接口json格式的数据协议
今天给大家介绍一下我觉的比较好的CS架构数据通讯时数据格式,这里讲下json格式的定义json格式的优点(摘自网络) A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小; B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取; C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, J
2016-09-22 09:59:21
12486
转载 优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-09-19 22:06:09
267
转载 卸载McAfee for Mac
1 Open a Terminal window. 2 Type the following command, then press return. (卸载命令)sudo /usr/local/McAfee/uninstall EPM The uninstallation command is case sensitive. 3 Type the administrator passw
2016-08-15 18:07:43
8462
2
原创 android Toolbar的封装
引言 你们还在用自定义标题栏吗,你们还在为actionbar标题不能居中不灵活苦恼吗,Toolbar一切问题都帮你搞定Toolbar 标题居中编写带有Toolbar的基类 Toolbar 标题居中 Toolbar的标题是默认左对齐的,不过Toolbar继承于ViewGroup,直接布局中添加一个textView 居中显示就可以搞定layout_toolbar.xml<?xml versi
2016-07-07 16:42:35
1498
原创 android 单元测试
序言 当程序业务逻辑也越来越复杂的时候,测试当中出了业务逻辑的bug是最难改了。如果说你有写单元测试的习惯,通过业务逻辑的单元测试可以很容易找到出错的代码块,然后解决掉。今天来给大家介绍下android中的单元测试基本使用What android的单元测试可以干些什么事 android的framework中提供有关单元测试的api,首先我们先来看一下api的架构体系图由此可以见系统已经支
2016-05-06 16:08:23
2557
原创 Retrofit框架基本使用
什么是Retrofit框架? Retrofit(出自square)是一个android 平台上一个http请求库,使得网络请求变的更加容易,从而让开发者有更多把重心心放在业务逻辑处理上.Retrofit Api调用 场景:从网络获取数据并转换成相应的bean 1.引入Retrofit相关库 compile 'com.squareup.retrofit2:retrofit:2.0.2'
2016-04-20 16:16:12
998
原创 android 如何中断一个子线程
需求场景:文件下载(下载,暂停,取消)这里我们的研究对象时Thread 下载线程Thread 我们暂且叫做 a线程(下载线程)1.下载我们只需要开启一个a线程去下载文件资源下面代码只是模拟下载(下载的具体代码,百度 Google就可以了) DownloadThread t= new DownloadThread(); t.start();DownloadThr...
2016-04-08 11:17:16
3538
原创 View的事件分发机制
1.点击事件的传递规则 点击事件的分发过程是由三个很重要的方法来共同完成@Overridepublic booleandispatchTouchEvent(MotionEvent ev) { return super.dispatchTouchEvent(ev);}@Overridepublic booleanonInterceptTouc
2016-04-05 16:00:44
393
原创 Activity中fragment管理(回退)
需求场景:1.一个注册功能包含一个activity和两个fragment(输入手机号,输入登录密码)2.InputRegisterPhoneFragment-点击下一步>InputLoginPasswordFragment 点击back键->InputRegisterPhoneFragment点击back键->退出注册界面涉及的类activity:RegisterActivityfragmen
2016-03-29 10:50:20
608
转载 android设备信息获取
近个多月之前整理的,记录,共享。 1)android 获取设备型号、OS版本号: [java] view plainimport android.os.Build; // ..... Build bd = new Build(); String model = bd.MODEL;
2016-03-17 17:08:55
680
原创 Android LoadingView
引言1.我们在日常开发中经常会遇到数据加载需要网络请求的场景,我们通常的做法是用系统提供的ProgressDialog组件(显示等待进度的dialog) 但是会有一个不友好的地方(假如网络出异常了,此时页面没有填充数据。此时就要控制页面 内一些交互操作,这样界面中就会多出一大串逻辑控制代码),有一种解决方案解决上述的缺点,就是界面内部用一个进度条 遮盖内容页面,用逻辑进行控制请求中、请求失败、
2016-03-15 16:42:07
5510
原创 多个Ativity值传递FLAG_ACTIVITY_FORWARD_RESULT
需求场景为A——>B——>C 三个跳转 1.a将数据交给b处理 2.b处理完数据(finish()) 3.b处理完数据 结果交给c来处理 数据处理中间层开启(B)activity要加上intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);FLAG_ACTIVITY_FORWARD_RESULT主要作用: 如果设置,并且这个Intent
2016-03-03 18:19:30
1926
原创 android 四大组件 BroadcastReceiver使用
今天项目突然要用到BroadcastReceiver这个组件,由于长时间没有使用过,不知道怎么写了。于是写下此博客进行加深记忆!what(BroadcastReceiver是什么?)BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启
2016-02-01 14:51:38
602
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人