Android
文章平均质量分 55
Android一些用到的用不到的东西
她叫我小渝
极致的用户体验
展开
-
Android 息屏录音
解决Android录音的息屏之后无法录制声音的问题,看日志发现,录音程序并没有中断,但是录制到的数据均是byte为0的数据,即空数据。测试机为Android 13系统。原创 2024-08-24 16:02:47 · 411 阅读 · 0 评论 -
Android 多张图片合成GIF
Android 多张图片合成GIF原创 2024-05-23 12:04:47 · 365 阅读 · 1 评论 -
Android Studio 中使用 Gradle 配置多渠道打包 配置不同的渠道名称 配置不同的App名称 配置不同的Logo
Android Studio 中使用 Gradle 配置多渠道打包,并根据不同的渠道配置不同的渠道名称、不同的 App 名称、不同的 Logo。原创 2023-03-21 12:14:51 · 5218 阅读 · 0 评论 -
Android 桌面小组件 AppWidgetProvider
桌面小组件,绝对是小程序中的小程序,说白了就是任何复杂一丁点的操作都适合做成桌面小组件。所以这里采用的演示的例子,就只有一个白色圆角背景,外加一个文本框,显示文字。小组件的教程网上一搜一大堆,所以我这里主要就是介绍一些坑的地方,跟大致处理流程,具体细节还得看其他大神的骚操作。原创 2022-11-05 15:14:20 · 5870 阅读 · 1 评论 -
Android笔记--一个上下滑动,还算看的过眼的日期、时间选择控件
效果图:还可以定制颜色:主要特点是更灵活一些,网上有开源的,可是都封装好了,直接弹窗调用,而我的需求是相当于用控件一样嵌入到某一个布局中,所以自己写了一个,交互没这么炫酷的,勉强可用,话不多说,上代码:调用:PickerView pvTime=(PickerView)findViewById(R.id.pv_time); pvTime.setOnPicke原创 2017-03-18 11:18:26 · 3748 阅读 · 0 评论 -
Android 实现文本的单点缩放、拖动、旋转
源码:https://git.oschina.net/imxiaoyu/Android_Single_Touch.git效果: 实现原理,其实是通过编写一个工具类,将文本通过canvas绘制成一张图片,再将图片导入到SingleTouchView控件中,工具类的只是按照我自己的需求做的定制,并不能满足所有的要求,贴出来的话只是给需要的朋友提供一个简单的思路,具体看代码,就简单的几原创 2016-11-25 16:54:37 · 453 阅读 · 0 评论 -
FFmpeg 3.2.2 音频解码
网上找了好多例子,因为是用了最新的3.2.2(2017年1月23日 04:22:33)版本的FFmpeg,所以找的东西基本上都不可能拿过来就能跑起来,研究了许久,参考了诸多大神的博客,然后一句句代码专研,终于改出了一个能跑起来的例子。其实并不是其他人的例子有问题,只是FFmpeg重构和废弃了一些接口。#define TAG "Jni打印输出" // 这个是自定义的LOG的标识#defi原创 2017-01-23 04:41:10 · 657 阅读 · 0 评论 -
Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先
排序规则因为是中国人,习惯性看中文文件夹放前面比较顺眼,所以在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上,加上了自己的排序规则。默认排序规则是按照ASCII码表排序(http://ascii.911cha.com/),排序的步骤大概是:部分符号->数字->部分符号->大写字母-&g...原创 2018-11-14 18:46:15 · 8924 阅读 · 3 评论 -
Android Studio+NDK+Cmake 移植FFmpeg命令行工具
一、编译参考大神的帖子,亲测一次编译成功:https://blog.csdn.net/bobcat_kay/article/details/80889398鉴于以前查文档的经验,这里附上编写例子的时间:2018年7月22日我用的是ubantu,注意事项:1、路径这里,home/ndk是不对的,真实路径是home/电脑名/ndk,具体以cd ls命令的为基准2、文件必须要在uba...原创 2018-07-22 10:39:39 · 836 阅读 · 3 评论 -
Android笔记--一个图片+文字的自定义按钮
样图:功能说明,大概意思就是,没按的时候是描边,按下之后是填充,可以自定义设置颜色和文本文字。代码:package com.imxiaoyu.common.widget;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import an原创 2017-03-10 17:57:59 · 565 阅读 · 0 评论 -
Android 接收其他应用的分享 原
废话首先附上系统分享内容到其他应用的方法:https://my.oschina.net/u/1462828/blog/2086000分享是调起系统分享接口,是拿不到分享成功与否的状态的,并且分享到其他APP了之后一般不会带有来源自xxxAPP的这种标识,因为对方应用不知道分享是来源自什么地方什么应用。分享主要是根据文件的类型进行划分,有图片、视频、音频、文字等常见类型,也有所有的文...原创 2018-12-24 10:51:53 · 2718 阅读 · 0 评论 -
Android 悬浮窗、悬浮球开发
1、权限管理直接看我另外一篇博客吧,传送门:https://my.oschina.net/u/1462828/blog/19331622、Base类BaseSuspendimport android.content.Context;import android.graphics.PixelFormat;import android.os.Build;import andr...原创 2018-08-24 12:14:49 · 14772 阅读 · 6 评论 -
Android Studio 一个简单的非传统Jni例子
Jni是Java运行、调用C和C++代码的一个中间件,可以理解为是一个转接头。我的C/C++水平仅限于大学时候的课程的算法例子,还真没拿来写过东西。首先在Android Studio中安装NDK环境和CMake(让C/C++语言也能自动提示)然后创建一个项目,记得把include C++ support勾上创建之后,会发现目录上多了cpp目录,和CMakeLists.txt原创 2017-10-18 18:04:20 · 291 阅读 · 0 评论 -
Android 自带阻尼效果的ScrollView,仿ios效果
百度一下很多阻尼的ScrollView,但是阻尼效果看起来比较生硬,不够圆润,在体验ios的时候,发现那边做的拖动效果貌似还不错,所以就百度了一个阻尼的ScrollView的代码,再改了一下,效果感觉还可以,现在贴出来。美中不足的是,百度到的ScrollView的回弹动画用的是TranslateAnimation是没有阻尼效果的,仅仅是平移效果,所以本代码只是拖动的时候与ios的效果差不多,但原创 2017-10-19 16:28:51 · 2732 阅读 · 5 评论 -
Android studio NDK + CMake 编译SoundTouch实现wav格式音频的变速、变调功能
温馨提示:本博客不是从零开始的文章,也不是什么高手精贴,只是一个菜鸡踩坑记录贴,建议懂得NDK+CMake流程的人观看,若是从零开始的,推荐先去看一下我之前跑的一个例子:传送门在此:https://my.oschina.net/u/1462828/blog/1552937本帖子只负责编译,具体的SoundTouch用法,还得另行专研。目前来说的话,官方例子已经提供了setSpeed方法和setPi...原创 2018-06-05 10:41:30 · 1137 阅读 · 0 评论 -
Android/Java 读、写MP3文件ID3V1信息
MP3的歌曲信息一般分两个大版本,分别是ID3V1和ID3V2,其中V2又分为好几个版本,具体百度一下,下方的代码仅仅是支持ID3V1。需要用到的一个辅助工具(juniversalchardet)用于解决乱码问题,具体看博客:https://my.oschina.net/u/1462828/blog/2877749具体看代码: /** * 获取MP3文件信息 *...原创 2018-12-22 10:52:45 · 639 阅读 · 0 评论 -
Android笔记--仿拖动选择日期时间控件的单个item
效果图如下:因为需要做一个类似闹钟的功能,系统自带的,虽然7.0包的那个圆盘看着是挺好看的,挺高大上的,但真心不太好用,然后网上找的时候,找到了一个比较精美的日期选择控件,但是奈何她写的模式固定死了,仅仅是可以选择年月日时分,或者是月日,偏偏我需要的时分模式没有,而且是写好了弹窗的形式,与我需要的嵌入到布局中的需求也不太符合,所以干脆是操刀自己仿来写一个了。(她写的日期传送门:https:原创 2017-03-17 16:08:21 · 1096 阅读 · 0 评论 -
Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮
上面就是几张预览图!代码在最底下主要就两个步骤,画图、监听点击1、整个控件基本上是一步步画出来的,重写onDraw方法开始for循环画扇形出来,画扇形的时候同时画扇形内的图标,扇形画完了之后画中心圆按钮,中心画了圆之后吧OK按钮画上。2、重写onTouch方法监听手指触发的位置,根据按下的位置确定按钮在哪个扇形的范围上,然后重绘一下onDraw把按下的灰色背景绘制出来。难点在于如何确定原创 2017-03-10 14:15:33 · 5257 阅读 · 4 评论 -
Android分享文件兼容7.0以上系统
部分用户反馈分享功能用不了,然后仔细检查了一下,看着代码,愣是没看出毛病来,然后查了一下,才发现不少小伙伴也出现了这个问题,原因是Android7.0以上系统对文件的权限做了某些安全方面的限制,也就是直接通过Uri.fromFile这个方式将path抓缓存uri是不能用了。解决问题的大概思路就是,配置一个本APP对应的专门的路径,然后每次需要分享文件的时候,拷贝一份放到这个目录下,然后通过File...原创 2018-03-05 11:29:58 · 2784 阅读 · 0 评论 -
Redis入门到精通只需要三篇博客
(Redis介绍:略)Redis-win-x64位程序的下载地址(缺分,分多的可以给我贡献点):http://download.csdn.net/download/qq_33601179/10165429linux下的安装百度一大堆,也不贴出来了,毕竟我没用过,随便贴一篇也不太好。(1)win下安装redis非常简单,只需要cmd命令行工具运行代码,吧服务程序跑原创 2017-12-20 10:25:42 · 1791 阅读 · 0 评论 -
Android笔记__RxJava太难理解?用callBack的方式实现RxJava mini
每次看到RxJava的文章都情不自禁的说道观察者模式,总是被绕得一头雾水不知所云。后来看到一个神人写的博客,才明白,所谓的观察者模式最直观的代码表现就是控件的OnClickListener。下面是他的原话:程序的观察者模式和这种真正的『观察』略有不同,观察者不需要时刻盯着被观察者(例如 A 不需要每过 2ms 就检查一次 B 的状态),而是采用注册(Register)或者称为订阅(Su原创 2017-03-31 15:33:46 · 612 阅读 · 0 评论 -
Android 震动
没啥好说的,直接上代码/** * 震动管理类 * 不要漏了权限android.permission.VIBRATE */public class ShockUtils {// /**// * 震动milliseconds毫秒,这个是持续震动,没有停顿// *// * @param activity// * @param milliseconds// */// public static void shock(Context原创 2021-02-24 16:09:39 · 309 阅读 · 0 评论 -
Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博
兼容SDK 18以上的系统,直接调用系统分享功能,分享文本、图片、文件到第三方APP,如:微信、QQ、微博等因为偷懒,可直达微信、朋友圈、QQ、QQ空间、微博的分享仅写了图片分享的,其他的文本、文件分享不常用到,就不写了。具体图片分享区分单张图片分享和多张图片分享,详情请看代码:import android.content.ComponentName;import android...原创 2018-09-20 09:47:54 · 1692 阅读 · 1 评论 -
Android调用系统相机,兼容7.0系统
在开始之前,先做好准备工作,也就是权限问题,6.0、7.0的权限系统可以参考我的一篇博客:传送门:https://my.oschina.net/u/1462828/blog/865749系统相机好像是5.0之后有一个大修过,7.0又有一个大修过,具体是不是这样也不太记得了是具体哪个版本了,只是记得以前是直接调用相机,然后拿返回的图片值,再然后一个版本是设置好图片的存放路径才开始调用原创 2017-10-18 15:39:33 · 354 阅读 · 0 评论 -
Java 从零开始学爬虫(gecco)
废话: 第一次学习并尝试分析、爬取一个网站的数据,全部是从零开始的经验,希望对各位看官有帮助,当然,本次爬取的是一个比较简单的网页,没有任何反爬虫措施的网页。 网上查了一下Java爬数据,最原始的方式是用请求网页的字符串然后用正则解析标签,再查了一下有什么爬虫、解析网页的工具,然后就查到了这个gecco,当是也没多想,就是干吧。 主要参考了两个博客: 1、入门到精通:htt...原创 2018-05-26 05:49:47 · 23984 阅读 · 14 评论 -
Android笔记--一个可以指定滑块宽度的进度条
效果图: 调用: //都是可选项,已有默认值 dragBar.setSliderWidth(600);//进度条宽度,可以随时更改 dragBar.setBgColor(0xffcccccc);//进度条背景颜色 dragBar.setSliderColor(0xffff8585);//滑块颜色原创 2017-03-22 14:56:02 · 712 阅读 · 0 评论 -
Android 本地图片缓存
废话每次从内存里面读图片,图片小的话还好,图片大的话比较吃力,速度慢不说,还容易因为内存问题出现崩溃。后来加上了缓存,从缓存中读取,结果发现,还是会爆炸,检查一下发现,一张拍照3M多,直接把整个缓存区都炸开了,既然找到问题了,也就好解决了。所以就加上了个压缩,逻辑是:1-从缓存中读取 2-读取不到,先从内存中读取,同时异步压缩图片 3-压缩完成之后写入缓存 4-再次读取可以在缓存中找到...原创 2018-09-19 10:52:21 · 797 阅读 · 0 评论 -
ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
1、环境和软件版本ubantu-16.4.1ndk-r14bffmpeg-4.0.2lame_mp3-3.99.52、废话 因为我也是新手,对linux不熟悉,对编译不熟悉,最喜欢的动作就是拿来主义,研究不深,所以不敢保证本文所有的操作都是一步到位没有问题,再者,即使跑不通,也可以给大家提供个思路。 根据我上一篇博客(https://my.oschina.n...原创 2018-07-25 08:50:12 · 740 阅读 · 2 评论 -
Android/Java 获取一个byte[]的真实编码,用于解决乱码问题
来源地址:https://blog.csdn.net/qq_31384551/article/details/81627840一个byte数组,byte[] buf,是由一个字符串转换来的,如何判断字符串使用的是什么编码?Mozilla的一个组件提供了相应功能:组件叫,juniversalchardetjar包下载地址:http://maven.outofmemory.cn/com...原创 2018-12-22 10:51:55 · 1208 阅读 · 0 评论 -
ScrollView、SwipeRefreshLayout、ListView、RecyclerView等控件解决滑动冲突
------由于种种原因,本文废话较多,代码较少,可根据需求判定是否需要深入阅读。(1)需求场景ScrollView里面放了具备横向滑动的东西,进度条啊、横向的列表啊、banner等ScrollView里面放好几层的LIstView、RecyclerView(其实非常不推荐这样做)各种纵向横向的带滑动的东西交叉使用(2)解决方案滑动、拖动的权限本来是大家都有的,把它原创 2017-12-20 18:06:04 · 307 阅读 · 0 评论 -
Android 悬浮窗权限校验
悬浮窗权限:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />权限检验和请求: //检查是否已经授予权限,大于6.0的系统适用,小于6.0系统默认打开,无需理会 if (Build.VERSION.SDK_INT >= ...原创 2018-08-24 11:48:00 · 844 阅读 · 0 评论 -
Android RecyclerView下拉刷新、上拉加载更多、到底自动加载更多
一、废话搞了这么久的Android,可能是我渠道比较闭塞,一直没找到比较好用的下拉刷新,往上找的第三方比较知名的一些,都说有这样那样的瑕疵,一直用的SwipeRefreshLayout 做下拉加载,然后在RecycleView最后多加一个item,只要加载了这个item,就自动加载更多,要多low有多low,完全没有欲望去搞别人那种很炫酷的效果。二、效果图附上原味效果图(可以通过继原创 2017-10-22 16:09:11 · 694 阅读 · 0 评论 -
Android 下载并安装apk,兼容7.0和8.0
1、下载apk文件下载的方式有很多种,常用的有:(1)调用系统下载器下载,需要设置通知来接受下载完成的操作,然后进入安装流程(2)最简单的,直接调起系统浏览器访问apk下载链接,后续的事情都不管,等下载完了用户自行安装(3)自己写下载代码,缺点是不如前两者稳定,优点是下载进度和状态可控我这里使用的是第三种,然后下载代码并不自己写,而是直接调用OkHttpUtils框架,OkHt...原创 2018-12-22 10:47:10 · 2671 阅读 · 0 评论 -
Aandroid P(9.0) 适配
首先附上Android P系统变更:https://blog.csdn.net/zhangbijun1230/article/details/79920606 然后再附上原文地址:https://blog.csdn.net/baidu_37001358/article/details/82656448 因为我这边最直接的感受就是APP无法访问网络,所以适配上只是关注这一点,...原创 2018-12-22 10:53:30 · 316 阅读 · 0 评论 -
mybatis 实体嵌套查询
本例子只是一个实体类嵌套另外一个或者多个实体类。在实体类嵌套一个实体列表的我还没研究出来。首先上实体类:public class AppPost { private String postId; private String postTitle; private int upTime; private int postType; private原创 2017-12-26 17:03:22 · 2678 阅读 · 0 评论 -
Android笔记--WIFI开发
首先是权限,因为WIFI也是可以用于定位的,只是精度没那么高而已,所以6.0之后的权限系统对WIFI的权限进行了限制,除了需要日常的WIFI操作权限之外,还需要定位权限,否则会获取不到WIFI的信息。 uses-permission android:name="android.permission.INTERNET" /> uses-permission原创 2017-03-10 14:17:56 · 414 阅读 · 0 评论 -
Android 定制的旋转太阳的下拉刷新样式
效果图:可以先看下我的上一篇博客:https://my.oschina.net/u/1462828/blog/1554536这个是根据上一篇博客的代码再继承了一层定制一套下拉刷新上拉加载的UI,主要也就两个步骤:1、重写布局(还是沿袭之前的大体结构)2、继承RefreshRelativeLayout类,定制一些动作和内容详细请看代码:<RelativeLa原创 2017-10-23 02:54:49 · 300 阅读 · 0 评论 -
Android笔记__PopupWindow底部弹出自定义菜单
效果图看不出渐变效果,实际上半透明的背景是有一个渐显的效果,而底部的菜单弹出来的时候也是有一个从低往上弹的效果。 主要原理是: 1、直接显示PopupWindow 2、渐显半透明背景,同时弹出底下的菜单 话不多说,直接上代码:MenuBottomPopupWindow 代码package com.imx原创 2017-03-24 16:31:12 · 710 阅读 · 0 评论 -
Android 实现图片的单点缩放、拖动、旋转
Android 实现图片的单点缩放、拖动、旋转原创 2016-11-25 09:17:25 · 978 阅读 · 1 评论 -
Android 录屏报错
录屏的时候报错:java.io.IOException: prepare failed.java.lang.IllegalStateException: failed to get surface解决办法:设置有效的,宽高,且宽高不能是奇数mediaRecorder.setVideoSize(width, height);原创 2021-03-19 15:09:39 · 893 阅读 · 2 评论