- 博客(155)
- 资源 (21)
- 收藏
- 关注
原创 学习笔记(1):FFmpeg打造Android万能音频播放器-实现变速变调功能(二)
FFmpeg打造Android万能音频播放器视频教程,移植FFmpeg到Android平台,利用FFmpeg解码音频数据并用OpenSL ES来播放,打造Android万能播放器。
2021-12-14 15:26:31 291
原创 设计模式-简单工厂模式
今天我们开始学习设计模式,从最简单的开始。 不知道从什么时候开始,我们已经不满足与我们写的平庸代码,感觉如此,事实如此。 设计模式的诞生是为了解决代码的可扩展性和维护性已经稳定性,有的人看了设计模式,只感觉平白添加了很多代码和类,这里我们要注意,类和代码不是无故添加的,各有各的职责,那么说到设计模式,我们就要明白面向对象,已经面对对象的三大原则:集成,封装,多态。 回头看看
2017-12-08 15:10:04 349
转载 BottomSheetBehavior底部弹出的用法
需要的依赖: compile ‘com.android.support:appcompat-v7:23.2.1’ compile ‘com.android.support:design:23.2.1’ 效果图如下: 一直出现的问题是弹出窗口只显示部分,很烦人,浪费半个下午终于解决了 下面看代码:package com.example.mybottomdialog;i
2017-11-15 15:38:44 3734
原创 极光推送和即时通讯集成
有不少小伙伴可能都集成过极光,但是我相信大部分人都被复杂的集成流程搞的焦头难额,那么,现在福利来了,我来带大家讲讲集成中的那些需要注意的事。 首先我们需要讲一下我们新建项目后需要集成添加的文件: 1:libs 2:JniLibs 这里我们需要注意,极光给了一些armeabi-v7a,mips,arm64-v8a,x86_64…这些文件夹,这些文件夹下面就是so文件,我们有两个选择,一个
2017-11-06 17:06:38 1929 4
原创 渐变圆环进度条实现
阅读本文章也不需要太多的自定义View基础,懂一点即可,这里的实现方式主要是逻辑,逻辑明白了,效果就很好做了。 上个效果图,给大家看一下: 是不是挺好看的,好的,下面开始实现。 说到环形进度条,我们必不可少的要用到的一个方法就是drawArc,这个是绘制弧度的必须方法,然后绘制谁都会,重要的是为什么会渐变呢?我们观察:drawArc(Rect, Startangle, Sweepangle
2017-09-25 20:59:24 4507
原创 序列化的两种实现及优劣比较
序列化我们通常会用在Activity之间进行对象传递的时候使用到,那么序列化有两种,Serializable和Parcelable ,我们该选择哪一种呢?那就要先知道两种区别。 1、作用 Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计
2017-09-22 13:36:30 1816
转载 Android 中AIDL的使用与理解
AIDL的使用:最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧。 首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了):package aidl;interface IMyInterface { String getInfor(String s);}123
2017-09-21 16:55:09 748
原创 上传图片实现
我们往后台传递数据时往往少不了图片,那么就要解决这个问题,我先给一个工具类package com.example.heatworld.maintian_merchantedition.utils;import android.content.Context;import android.util.Log;import android.widget.Toast;import com.example
2017-09-19 16:29:15 510 1
原创 折线图实现
这样图用来做统计最方便了,今天,我们又要摆脱第三方的约束,自己来实现了,是不是很开心,现在就来动手吧。 本文内容需要读者具备一定的自定义view基础,否则看起来可能比较费力,不过懂的看门道,不懂的可以凑个热闹,能看懂可以自己去改不好的地方,不懂的也可以直接拿来用。 先给个效果图: 看起来还可以吧,废话不多说,开始我们的绘制。 首先要确定我们要达成的效果,下面列出来1
2017-08-31 16:40:33 1049
原创 加载动画实现(直线型)
加载这样的动画常常我们会遇到,但是我们通常就直接去学着第三方库了,但是今天我们要说不,因为我们可以动手去实现一个属于自己的,这感觉可不是只会用轮子的人能体会的,话不多说,感觉实现一个吧。 下面这个图就是我们UI给的: 下面开始实现它。就是一个自定义控件,哈哈,又到了上代码时间,走你:import android.animation.TimeInterpolator;
2017-08-30 12:18:20 1048
原创 ListView添加加载动画
我们总喜欢探索一些新功能,有人问:做这个有什么用呢?我们总不愿我们的工作那么枯燥,给自己调剂一下也好。 不录制效果了(主要电脑不给力…) ListView添加子项动画无非是在适配器里面动手脚,那么ListView里面添加数据的过程大家是知道的,但是这里我还是要贴出来,方便大家粘贴,下面给出Activity的代码。import android.app.Activity;import
2017-08-25 09:42:11 900
转载 Android 反射机制的理解
之前在网上找有关反射机制的资料发现网上关于这块的资料不多,而且不太容易懂,所以试着写一篇我自己所理解的反射机制希望能多你有所帮助.首先来看看用反射机制和用以前的方法新建对象实例有什么不同第一步新建一个Person对象用以前的方法是:Person p = new Person();在内存中新建一个Person的实例,对象p对这块内存地址进行引用用反射机制实现 (有
2017-08-24 15:16:41 198
原创 安装raw文件下的apk文件
有时候我们需要将一些小软件嵌在我们的软件里面,那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储,那么下面我们用放在raw文件下进行展示安装这一过程。 首先我们要把我们需要隐藏我apk文件放在raw文件下,raw是在res下的一个文件夹,如果没有的同学们可以自己新建一个。 然后第一步我们需要读取到这个apk文件,这里我们的apk文件我取名叫tmp,给出代码:
2017-08-02 09:25:14 4326
原创 多级目录联动效果实现
先给大家上个图(不知道为什么录制的第一个目录老是花的,不管了,大家能动意思就行)。 大家应该经常加过这种效果吧,下面我们就开始实现效果。 其实用的东西我们都是知道的,就是listview,那么listview怎么实现这个效果呢,主要在于适配器写好了即可。先给出主布局代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmln
2017-07-28 14:37:16 1574 1
转载 安卓自定义 View 进阶:Path 完结篇
一.Path常用方法表为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API21才添加上啊。宝宝此刻内心也是崩溃的。作用相关方法备注移动起点moveTo移动下一次操作的起点位置设置终点setL
2017-07-26 11:36:38 442
转载 安卓自定义View进阶:Path之玩出花样(PathMeasure)
先放一个图镇楼,省的下面无聊的内容把你们都吓跑了Σ( ̄。 ̄ノ)ノPath & PathMeasure顾名思义,PathMeasure是一个用来测量Path的类,主要有以下方法:构造方法方法名释义PathMeasure()创建一个空的PathMeasurePathMeasure(Pat
2017-07-26 11:34:19 323
转载 安卓自定义View进阶:Path基本操作
一.Path常用方法表为了兼容性(偷懒) 本表格中去除了部分API21(即安卓版本5.0)以上才添加的方法。作用相关方法备注移动起点moveTo移动下一次操作的起点位置设置终点setLastPoint重置当前path中最后一个点位置,如果在绘制之前调用,效果和moveTo相同
2017-07-26 09:30:22 623
原创 控制控件随手指移动
这里用到了一些属性动画的知识和对屏幕坐标的知识,其实不是很难,给大家上个图。 然后代码呢其实就是一个Mainctivity,界面也就一个,我力图简单,只为你们服务,下面给出代码。import android.animation.ValueAnimator;import android.app.Activity;import android.content.Intent;impor
2017-07-12 17:57:03 358
原创 微博sdk接入授权指南
接入微博有几点需要注意,下面一一讲出来。 1:首先在微博官方注册账号,官方地址是:http://open.weibo.com/然后创建一个新应用。 2:当然我们得现在自己电脑上创建一个应用,例如包名叫com.winorout.weibo,那么这个包名此时就要用到了。 3:我们点击应用信息,再点击高级信息,从里面我们可以添加包名,然后下载到md5生成器,也填写进去,如果不填写签名
2017-07-12 15:07:06 4009 2
原创 android字体格式设置解决方案
前言:我们做APP的过程中字体有时不能达到我们的要求,那么这时候我们就要进行调整,其实也很简单,我们可以利用别人的ttf文件来获取我们想要的字体。 首先我们想要获取ttf文件:http://pan.baidu.com/s/1c1E7wiO 然后我们可以在APP中使用。 新建assets文件,再在assets下建fonts文件,然后放置资源文件进去,如图: 下面直接
2017-07-10 13:34:20 1518
原创 沉浸式状态栏设置的几种方式
先上效果图 总共有三种方法,下面一一介绍: 第一种 布局中顶层容器配置:android:clipToPadding="true"android:fitsSystemWindows="true" 结果如下 在Activity对应的style里面设置: <item name="windowNoTitle">true</item>
2017-07-06 10:24:02 4675 2
转载 Android StatusBar 状态栏颜色设置
最近在使用自己手机,发现一种动画效果非常不错,就是天气随着时间季节,状态栏和ToorBar颜色都会发生改变,搜索资料得出的三种方案….方案一将手机状态栏透明化: 状态栏透明了,状态栏的颜色就会自动跟随下面的布局两种方式:1.代码方式 /** * 设置透明状态栏 * * 可在Activity的onCreat()中调用 *
2017-07-05 17:25:38 5588
转载 Kotlin学习一 Android Studio 中安装 Kotlin Plugin
打开Settings选择Plugins模块,搜索Kotlin,然后选择安装,这个需要一个下载的过程,下载完安装成功后重启一下Android Studio 就可以了。这里需要安装两个Kotlin相关的插件,Kotlin和Kotlin Extensions For android.创建一个Android 项目在Android Studio 中创建一个Android
2017-07-03 14:16:49 1589
转载 Android 图片高斯模糊解决方案
近年来,图片高斯模糊备受设计师的青睐,在各大知名APP中,如微信、手机QQ、网易云音乐等等都有对背景高斯图模糊的设计,在Adnroid 中,现在常用的图片高斯模糊技术有三种: RenderScript、 fastBlur 、 对RenderScript和fastBlur的优化 ,接下来分别分析各自的优缺点和在项目中该使用哪个解决方案。先上一张效果图:高斯模糊效果图.png1
2017-06-14 23:19:25 1343
转载 Android中ExpandableListView的使用
相关文章:Android中ExpandableListView的使用(二)ExpandableListView是可扩展的下拉列表,它的可扩展性在于点击父item可以拉下或收起列表,适用于一些场景的使用,下面介绍的是在Activity中如何使用,关于它的各种样式的详细解释请见另一篇文章:Android中ExpandableListView常用属性总结下面介绍它的基本使用方
2017-06-14 08:28:31 409
转载 Android Studio生成自定义jar包
Android Studio生成自定义jar包众所周知android studio会在library所依赖的app运行或者build之后自动生成jar,路径为build/intermediates/bundles/debug or release/classes.jar,这样生成的jar是可以用的,但不是我们可以控制的,所以我们需要通过其他方式来解决这个问题。
2017-06-11 11:29:00 679
转载 Material Design之CollapsingToolbarLayout使用
CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。
2017-06-11 10:23:29 245
转载 使用ZXing实现二维码扫描
二维码现在越来越火爆,使用的越发广泛,对于二维码二维码的生成与解析,有多种途径,这里我选择用google老大的ZXing。 其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。使用时通过调用二维码工具类,几行代码就可以实现二维码扫描的功能。 参考资料: 二维码工具类下载地址: https://github.com/yipi
2017-06-05 11:04:55 871 1
转载 Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
在Android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。(
2017-05-17 20:20:15 362
原创 贝塞尔制作水平移动带弹性的圆
今天我们来学习怎么制作水平移动带弹性的圆,先上效果图: 下面讲解一下具体的步骤,在了解之前大家先看一张图,后面的代码可以参考这张图: 接下来上代码,可以分成两个部分,一个是易懂,一个是变形,注释做的比较全,大家可以参考:是不是很容易,理解,大家可以自己练习一下:import android.content.Context;import android.graphics.Canvas;
2017-05-13 14:14:48 971
转载 安卓自定义View进阶 - 贝塞尔曲线
Path之贝塞尔曲线作者微博: @GcsSloop【本系列相关文章】在上一篇文章Path之基本图形中我们了解了Path的基本使用方法,本次了解Path中非常非常非常重要的内容-贝塞尔曲线。一.Path常用方法表为了兼容性(偷懒) 本表格中去除了在API21(即安卓版本5.0)以上才添加的方法。忍不住吐槽一下,为啥看起来有些顺手就能写的重载方法要等到API
2017-05-12 08:53:00 602
转载 Android 自定义VideoView
介绍最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了。在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退。好了,下面开始。效果图效果图有点卡,我也不知道为啥。。。。。
2017-05-11 13:06:30 1703 1
转载 Android APK反编译就这么简单详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)
2017-05-11 12:35:04 623
转载 利用Intent.ACTION_SEND进行分享
安卓系统本身可以很简便的实现分享功能,因为我们只需向startActivity传递一个ACTION_SEND的Intent,系统就为我们弹出一个应用程序列表。其实在系统的文件管理器中,这应该是我们常用的功能(包括文件的打开Intent.ACTION_VIEW)。下面列出一个简单的分享方式Intent shareIntent = new Intent();shareIntent.set
2017-05-08 10:13:12 751
转载 Android之判断手机连接的网络类型是WIFI还是2G/3G/4G
首先定义不同网络类型返回的常量值:public class Constants { /** * Unknown network class */ public static final int NETWORK_CLASS_UNKNOWN = 0; /** * wifi net work */ public static
2017-05-04 10:36:34 1485
转载 error setting certificate verify locations !
今天使用 AndroidStudio down Github 上的项目时,总是提示clone failed,提示信息为:error setting certificate verify locations !疑惑不解,网上查询后发现了这个很好用的解决方法,非常感谢 DedrickEnc大神! 具体解决办法是: 使用git 客户端输入一下命令即可:$ git config --globa
2017-04-14 10:14:41 559
转载 Android原生分享功能的思考与实现
1.使用Intent调用andoird原生的分享功能;2.使用第三方的sdk,比如ShareSdk或者友盟;3.去对应的平台下载jar包,参考官方设计文档写出自己的分享demo,但这种一般也比较复杂,尤其搞不懂qq和微信一家公司的,为什么微信那么麻烦。不废话了,直接上代码:一. 新建ShareUtil.Java类[java] vi
2017-04-13 20:45:47 1778
转载 android监听虚拟键盘隐藏和显示事件
刚开始在onconfigurationChanged中监听,结果发现该方法在configuration变化即配置文件发生变化时才会被调用,如横竖屏切换,android重新载入配置文件时。而键盘隐藏不会触发该方法。后来采用如下方法完美解决了键盘隐藏监听事件。//该Activity的最外层LayoutfinalView activityRootView = findViewBy
2017-04-11 23:39:45 2836
转载 Attr、Style和Theme详解
前言这三个概念贯穿Android框架的方方面面,是Android程序设计中很重要的一环,理解它们,并能学以致用,不但可以让你的代码变得简洁明了,还可以让你的应用更加灵活。但目前网上资料对这块介绍的知识点往往比较散,不是很系统全面,在此特以自己开发经验总结此文一篇,希望可以帮助初学者把这三个概念彻底搞明白,开发出高质量的Android代码。概念说明Attr:属性,风格样式的最
2017-04-10 23:15:09 945
android常用工具类集成jar包
2017-12-22
BottomSheetBehavior底部弹出的用法
2017-11-15
渐变环形进度条
2017-09-25
AIDL使用实例
2017-09-22
折线图实现
2017-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人