Android系统源码阅读(13):Input消息的分发过程
Android系统源码阅读(13):Input消息的分发过程 请对照AOSP版本:6.0.1_r50。学校电脑好渣,看源码时卡半天...
View ArticleAndroid官方开发文档Training系列课程中文版:线程执行操作之定义线程执行代码
原文地址:http://android.xsoftlab.net/training/multiple-threads/index.html 引言 大量的数据处理往往需要花费很长的时间,但如果将这些工作切分并行处理,那么它的速度与效率就会提升很多。在拥有多线程处理器的设备中,系统可以使线程并行运行。比如,使用多线程将图像文件切分解码展示要比单一线程解码快得多。...
View ArticleAndroid 6.0 - 动态权限管理的解决方案
Android 6.0 - 动态权限管理的解决方案 Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案, 提供源码,...
View Article手把手教你做音乐播放器(五)音乐列表的存储(下)
5.2 MusicService的配合 MusicService对外提供添加播放列表的接口,对内要管理PlayListContentProvider。它提供了下面的接口, addPlayList():添加播放列表。这里添加列表应该有两种形式,一种是一次性添加多首音乐,一种是一次就添加一首音乐。 getPlayList():获取播放列表...
View ArticleAndroid事件分发浅谈
Android事件分发机制浅谈 前言:可能Android的事件分发对于刚学Android的童鞋来说接触得不多,这样不奇怪。因为刚学的时候,一般人很难注意到或是会选择主动去了解。那么究竟什么是Android的事件分发呢?...
View Article升级xcode8,swift3的注意点和变化
1. Swift 2 and 3 过去每一版的Xcode 都和固定版本的Swift编程语言绑定在一起, Xcode 8中将不再如此,Swift 3给 Swift编程语言带来大量的语法变化,这些改变会让基于以前Swift版本的程序编译失败。 Xcode 8 中新创建的项目默认地使用Swift 3, 幸运地Xcode 8 在编译设置中支持开发者明确地选择Swift 2或Swift 2.3 进行编译。...
View ArticleAlertDialog以及子类
android.app.AlertDialog及其子类提供了4种常用的对话框: AlertDialog:功能最丰富,实际应用最广的对话框,最常用的。 ProgressDialog:进度对话框,这个对话框只是对简单进度条的封装 DatePickerDialog:日期选择对话框,这个对话框只是对DatePicker的包装...
View ArticleHex文件转Bin文件
在嵌入式开发中,编译器生成的目标文件一般都是 .hex 文件。 为什么要转换,直接使用hex文件不行吗,可是我在开发过程中一直都是直接生成hex文件,然后进行下载,也没见出错? 在不清楚hex与bin文件的格式时,可能小伙伴会有这样的疑问。需要进行转换的原因是:hex文件中数据记录(record)并不是按照 “起始地址–>终止地址”...
View ArticleAndroid自定义View——QQ音乐中圆形旋转碟子
QQ音乐中圆形旋转碟子 思路分析: 1、在onMeasure中测量整个View的宽和高后,设置宽高 2、获取我们res的图片资源后,在ondraw方法中进行绘制圆形图片 3、通过Handler发送Runnable来启动旋转线程(如果只想做圆形头像的话,这步可以去掉) 4、在布局中使用我们的View 效果图: 贴出我们的变量信息: //view的宽和高 int mHeight = 0; int...
View ArticleAndroid Activity全面解析
Android Activity全面解析 就从Android四大组件Activity开始。 1.Activity生命周期方法完全解析 1).onCreate方法...
View Articlemybatis配置文件详解
配置文件的基本结构 configuration —— 根元素 properties —— 定义配置外在化 settings —— 一些全局性的配置 typeAliases —— 为一些类定义别名 typeHandlers —— 定义类型处理,也就是定义java类型与数据库中的数据类型之间的转换关系 objectFactory plugins ——...
View ArticleXMPP即时通讯协议
XMPP协议简介 XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。...
View Article自定义LinearLayout实现淘宝详情页
1.简单说明 淘宝详情页就不用我一一介绍了,昨天逛淘宝看到这个效果时,让我想起了去年刚学习Android只会使用现成的时候,当时在网上找了一个这种效果的使用了,并不懂怎么实现的。现在就看到一种效果就想自己实现一下,我想这就是刚接触某个知识时的好奇心吧 说走咱就走啊,本文只是介绍一种实现思路,网上也已经有了很多种实现方式,有问题请指正 效果图(我有很用心的找美女图的) 2.实现思路...
View Article自定义控件 编辑和选取圆形头像
android大家都有很多需要用户上传头像的需求,有的是选方形,有的是圆角矩形,有的是圆形。 首先我们要做一个处理图片的自定义控件,把传入的图片,经过用户选择区域,处理成一定的形状。 有的app是通过在图片上画一个矩形区域表示选中的内容,有的则是通过双指放大缩小,拖动图片来选取图片。圆形头像,还是改变图片比较好 圆形区域可调节大小。...
View ArticleAndroid 5.0中的CoordinatorLayout使用技巧
CoordinatorLayout 实现了多种Material Design中提到的滚动效果。目前这个框架提供了几种不用写动画代码就能工作的方法,这些效果包括: *让浮动操作按钮上下滑动,为Snackbar留出空间。 *扩展或者缩小Toolbar或者头部,让主内容区域有更多的空间。 *控制哪个view应该扩展还是收缩,以及其显示大小比例,包括视差滚动效果动画。 浮动操作按钮与Snackbar...
View Article[HyBrid]HyBrid混编初尝:原生和第三方JsBridge的使用
最近研究HyBrid的两种方式: 一、直接原生WebView 1)初始化WebView: <span style="white-space:pre"> </span>//启动javascript webView = (WebView) findViewById(R.id.webView);...
View ArticleLinux设备驱动模型-Uevent
前言 当一个设备动态的加入到系统时候(比如常见的将U盘插入到PC机器上), 设备驱动程序就需要动态的检测到有设备插入了系统,就需要将此事件通知到用户层,然后用户层对这一事件做响应的处理,比如加载USB驱动,更新UI等。而将此事件通知到用户层就需要某种机制,典型的就是mdev hotplug和udev。关于udev和mdev...
View Article