wozuihaole的博客

一只android小白的晋升之路
私信 关注
wozuihaole
码龄10年
  • 117,612
    被访问量
  • 55
    原创文章
  • 63,353
    作者排名
  • 68
    粉丝数量
  • 于 2010-12-23 加入CSDN
获得成就
  • 获得62次点赞
  • 内容获得53次评论
  • 获得77次收藏
荣誉勋章
TA的专栏
  • android实现Materia Design风格APP
    6篇
  • 工具类
    15篇
  • 问题类
    9篇
  • 源码类
    3篇
  • 转载类
    2篇
  • API使用类
    14篇
  • 算法类
    2篇
  • UI动画类
    6篇
  • 音视频类
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

已有项目依赖cordovaLib打包后调用插件崩溃问题

已有项目为完成某些需求依赖了cordovaLib,我们项目是直接把cordovaLib打成jar包加进项目里,增加了一些cordova的插件,项目运行正常,但是打包后出现被调用的插件找不到相关类的问题。原因:   项目打包过程中将cordova相关插件的java类进行了混淆,所以html无法根据之前在config.xml中配置的包名.类名中找到对应的java类。解决方法:  在
原创
876阅读
0评论
0点赞
发布博客于 4 年前

Activity的启动流程源码解析

一、应用内启动我们平时启动一个activity一般都是调用startActivity方法,接下来就看看startActivity方法具体为我们执行了哪些流程去帮我们启动一个activity吧。1.先简单的看一下调用关系时序图(基于android28源码)我知道你可能看不清,点击链接查看时序图2.源码分析 Activity.java @Override public void startActivity(Intent intent) { thi.
原创
76阅读
0评论
0点赞
发布博客于 5 月前

android使用RTMP实现录屏直播推送音视频

附带Nginx服务器搭建文档和flv分析器,详细博客内容链接:https://blog.csdn.net/wozuihaole/article/details/107838147
zip
发布资源于 6 月前

android使用RTMP实现录屏直播推送音视频(已在享学公众号发表)

目录MediaCodec编码音频MediaCodec编码视频H264裸流格式分析FLV封装格式分析利用librtmp封包发送一、MediaCodec编码音频创建音频编码器,指定AAC格式,采样率44100,码率64_000,单声道; //创建编码器 MediaFormat mediaFormat = MediaFormat.createAudioFormat(MediaFormat.MIMETYPE_AUDIO_AAC,
原创
248阅读
4评论
0点赞
发布博客于 1 月前

android利用AudioRecord实现录音功能(kotlin语言)

一、操作步骤:1.设置录音相关参数,音频采集源、采样率、声道、数据格式companion object{ private const val TAG:String = "OnlyAudioRecorder" private const val AudioSource = MediaRecorder.AudioSource.MIC//生源 ...
原创
830阅读
0评论
1点赞
发布博客于 1 年前

FFmpeg解码MP4分别播放YUV视频和PCM音频

博客讲解请到https://blog.csdn.net/wozuihaole?t=1我的博客里看
rar
发布资源于 2 年前

android使用FFmpeg解码MP4中的音频并使用AudioTrack播放

虽然网上有很多类似标题的博客,但是他们的代码运行之后一般都会有杂音或者其他的播放问题,原因也很简单,就是他们的代码太老了,网上现在一般流传的都是FFmpeg2点多的相关代码,而官网都是4点多了,所以一些方法的废弃更替导致了别人说能正常播放,而你的代码却运行异常。废话不多说了,我使用的的ffmpeg-3.3.9编译的.so库,android-ndk-r14b。如果你也跟我的配置一样那就OK了,如...
原创
225阅读
2评论
0点赞
发布博客于 2 年前

FFmpeg入门知识(二):Windows环境下编译FFMPEG源码

主要参考https://blog.csdn.net/qq_38261174/article/details/83210458主要参考的上面大神的操作,不过由于环境不一样,有些采坑点增加,我的电脑是win10系统。一.所以我们总共需要下载的东西有:NDK https://developer.android.google.cn/ndk/downloads/ 版本r14 MInGW...
原创
330阅读
0评论
1点赞
发布博客于 2 年前

mingw离线安装包

解压文件,然后分别解压里面的三个压缩包,将msys放到mingw64目录下,将yasm.exe放到mingw64/bin目录下
rar
发布资源于 2 年前

FFmpeg入门知识(一):FFmpeg在Windows上的安装

转载:https://blog.csdn.net/qq_38261174/article/details/83175751这篇文章只教你怎么在Windows上通过命令行直接操作FFmpeg对视频文件进行编辑,不涉及开发。ffmpef 该程序只有命令行模式,下载下来一个压缩包,解压,然后配置环境变量,然后使用命令行操作。1.下载下载地址:https://ffmpeg.zeranoe....
转载
178阅读
0评论
0点赞
发布博客于 2 年前

工具记录,使用jarsigner 对APK进行签名

可用于没有签名和已经签名的apk,再次签名。jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]命令格式及参数意义:-verbose -> 输出签名过程的详细信息-keystore [keystorePath] -> 密钥的库的位置-signedjar [apk...
原创
363阅读
0评论
1点赞
发布博客于 2 年前

android实现Materia Design风格APP(六):结束,实现APP

我们最终可以实现的效果是这样的,接下来就分析下每个页面都用了哪些控件来实现,哪些效果,具体的代码我也会上传。1.首页,使用到的控件我在前面都讲过,请自行点击链接学习android实现Materia Design风格APP(二):部分Materia Design风格的控件介绍一android实现Materia Design风格APP(三):部分Materia Design风格的控件介...
原创
125阅读
0评论
0点赞
发布博客于 2 年前

android实现Materia Design风格APP(五):RecyclerView自定义item动画和共享元素动画

1.RecyclerView自定义item动画使用布局动画可以很方便的实现这个功能,布局动画的定义过程就是创建在res下创建anim路径,然后自定义我们的layoutAnimation和set动画集合,然后在RecyclerView的xml中把layoutAnimation赋值给android:layoutAnimation属性。需要注意的是你的item布局里如果有ImageView一定不...
原创
868阅读
0评论
0点赞
发布博客于 2 年前

android实现Materia Design风格APP(四):ViewPager同时显示3个item及设置切换动画

1.实现viewpager同时显示三个item,这个效果实现起来还挺简单的。只需要设置viewPager.setOffscreenPageLimit(3); 让viewpager可以显示3个item,并设置viewPager.setPageMargin(50);让每个item间有点间隔的效果 。在xml布局中设置viewpager和他的父控件的clipChildren属性为false就好了。...
原创
313阅读
0评论
0点赞
发布博客于 2 年前

android实现Materia Design风格APP(三):部分Materia Design风格的控件介绍二

本篇大部分内容学习自第一行代码第二版加上部分自己理解。介绍了,DrawerLayout、NavigationView、NestedScrollView、AppBarLayout、CardView、SwipeRefreshLayout、CollapsingToolbarLayout七个控件,会的请自行跳过。首先需要在build.gradle中依赖:implementation 'com.a...
原创
122阅读
0评论
0点赞
发布博客于 2 年前

android实现Materia Design风格APP(二):部分Materia Design风格的控件介绍一

本篇大部分内容学习自第一行代码第二版加上部分自己理解。介绍了,Snakebar、FloatingActionButton、CoordinateLayout、ToolBar四个控件,会的请自行跳过。首先需要在build.gradle中依赖:implementation 'com.android.support:design:28.0.0'1.Snackbar我感觉是一个增强版的To...
原创
138阅读
0评论
0点赞
发布博客于 2 年前

android实现Materia Design风格APP(一):开篇

Materia Design风格也出现很久了,由于我们项目一直没有UI改造过,所以也没做过这方面的学习,前几天同事突然拿来一个别的公司的APP动态图给我看了看,觉得实在很好看,就花了点时间来试着实现了一下,顺便学习了一些新的UI控件的使用方法,怕长时间不用会忘,所以开这个专栏供大家分享,也是做个笔记。好了,废话不多说,下面这个动态图就是我们这个专栏学习完,最终可以完成的APP(CSDN不能传视...
原创
115阅读
0评论
0点赞
发布博客于 2 年前

android实现控件的手势缩放、移动以及双击还原

我分四部分介绍:       1.Imageview利用Matrix和OnScaleGestureListener实现手势缩放;       2.在第一部分的基础上实现图片跟随手指进行滑动;       3.在一、二的基础上利用GestureDetector的OnDoubleTap回调实现图片双击还原;       4.在一、二、三的基础上将ImageView扩展为FrameLay...
原创
1895阅读
0评论
4点赞
发布博客于 3 年前

android缩放控件

1.Imageview利用Matrix和OnScaleGestureListener实现手势缩放;        2.在第一部分的基础上实现图片跟随手指进行滑动;        3.在一、二的基础上利用GestureDetector的OnDoubleTap回调实现图片双击还原;        4.在一、二、三的基础上将ImageView扩展为FrameLayout,实现布局内所有子控件都能手势缩放、移动、双击还原。
rar
发布资源于 3 年前

Android GC机制介绍

转载自链接垃圾收集器一般必须完成两件事:检测出垃圾、回收垃圾。怎么检测出垃圾?一般有以下几种方法:1.引用计数法:给一个对象添加引用计数器,每当有一个地方引用它,计数器就加一,引用失效就减一。好了,问题来了,如果我有两个对象互相引用,除此之外没有其他任何对象引用他们,实际上这两个对象已经无法访问,即我们说的垃圾对象。但他们互相引用,计数不为0,所以无法回收。这就是引用计数法的缺陷。...
转载
6026阅读
1评论
0点赞
发布博客于 3 年前

Android O后台服务限制总结

我们看Android O的新特性的时候会看到这样一个介绍:多个 Android 应用和服务可以同时运行。 例如,用户可以在一个窗口中玩游戏,同时在另一个窗口中浏览网页,并使用第三个应用播放音乐。同时运行的应用越多,对系统造成的负担越大。 如果还有应用或服务在后台运行,这会对系统造成更大负担,进而可能导致用户体验下降;例如,音乐应用可能会突然关闭。为了降低发生这些问题的几率,Androi...
原创
4731阅读
3评论
2点赞
发布博客于 3 年前

android统计项目中方法数的工具(dex-method-counts)

android统计项目中方法数的工具(dex-method-counts),使用方法介绍链接:https://blog.csdn.net/wozuihaole/article/details/81450331
rar
发布资源于 3 年前

android查看统计项目的方法数

最近项目需要添加新的jar包,但是jar包引入后发现出现了65535问题,我就想知道自己原来项目中的方法数达到了多少。是我们的项目太大了需要瘦身,还是引用的jar包中的方法数太多,需要改用同类型的其他jar包。方法就是使用dex-method-counts.jar这个jar包,当然了这是网上其他人编译好的,直接就能用,我没有自己去编译这个。使用方法就是:1.打开你电脑的cmd.exe;...
原创
939阅读
0评论
0点赞
发布博客于 3 年前

Glide修改本地图片缓存路径

1.首先你的项目需要先依赖glide;2.创建一个类实现GlideModule接口package com.example.fruittest;import android.content.Context;import android.os.Environment;import com.bumptech.glide.Glide;import com.bumptech.glide...
原创
2157阅读
0评论
0点赞
发布博客于 3 年前

android三种自定义软键盘demo

demo内容介绍https://blog.csdn.net/wozuihaole/article/details/80364296
rar
发布资源于 3 年前

android自定义软键盘

本篇文章将会介绍3种android自定义软键盘的应用场景以及代码编写,分别是:普通的自定义软键盘;每次弹出都会改变数字顺序的自定义密码键盘;能与webview交互的自定义密码键盘。以上说的这三种其实本质上没有太大区别,只是细节调用和写法上有略微区别,我们项目里用到是最后一种,但是网上对最后一种的介绍很少,这三种自定义软键盘的介绍顺序也是我的推导顺序,第一种是基础,有了基础后续推导会容易很多,如果你...
原创
6776阅读
0评论
3点赞
发布博客于 3 年前

Android Studio导入项目运行出现大量警告,且报错GC,解决办法

问题描述:同事给了一个项目让我运行,我打开工程后,本地使用的gradle 3.3版本和com.android.tools.builld:gradle:2.3.2版本都要高于项目本身指定的gradle 2.14.1和2.2.3,使用本地自己的版本没有去下载项目原来指定的版本,build项目没有问题,运行项目,发现运行时间很久,半天都没动静,运行结束发现报错了。错误如下:1.Warning:warni...
原创
746阅读
0评论
0点赞
发布博客于 3 年前

android实现填空模式demo

详细介绍请看:http://mp.blog.csdn.net/postedit/79423482
rar
发布资源于 3 年前

android实现填空模式

最近需要实现个需求,感觉还挺常用的,并且挺有意思,所以记录一下,要求是显示一段文字,文字中间有填空的地方,用户点击填空的下划线,可以输入内容,输入完成后的内容替换到填空上,这段文字的长度自动变化。如图:模拟器效果略卡,接下来说说怎么实现的吧。1.准备工作:我们需要先了解SpannableString这个对象类型的使用方法。先来点简单的:使用ForegroundColorSpan为一段文字设置不同的...
原创
1414阅读
5评论
0点赞
发布博客于 3 年前

设计自己的ImageLoader图片加载框架

一、框架实现的功能:1.实现了基于LRUCache的内存缓存机制;2.实现了基于DiskLRUCache的sd卡缓存机制;3.实现了基于httpconnection的网络下载图片机制;4.实现了根据指定宽高压缩图片;5.实现了未指定宽高时根据imageview控件宽高压缩图片;6.基于面向对象6大原则使得程序本身更加稳定、更加灵活、更好扩展。二、框架执行流程分析
原创
727阅读
0评论
0点赞
发布博客于 4 年前

八皇后算法解析(java代码演示)

问题描述:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。图解:1.首先我们需要一个8*8的空白棋盘;2.在第0列的皇后我们可以随便摆放,因为是第一个皇后,不存在和其他皇后冲突的问题,所以我们从第0个位置开始摆放她;3.第1列的皇后不能和第0列的皇后同行或在对角线,所以不能放在0和1行;4.第2列的皇后不
原创
1349阅读
0评论
1点赞
发布博客于 4 年前

android解压sd卡中的压缩文件

我是用的ZipFile这个类,这里需要说明一下,这个类有两个一个是在org.apache.tool.zip包里,另外一个在java.util.zip包下,这个两个的区别在于后者的解压效率快于前者,但是前者可以解决被解压文件中含有中文字符乱码问题,他们的使用方法基本一致,所以就要看你需要解压的文件里是否包含中文了。我这里就先用Apache包下的ZipFile来实现了,使用方法:1.添
原创
999阅读
1评论
0点赞
发布博客于 4 年前

包含Apache包中的ZipFile相关类的jar包

这个ZipFile是Apache包里的,可以解决被解压的文件中包含中文产生的乱码问题
rar
发布资源于 4 年前

使用讯飞实现语音听写与语音合成功能

一、准备工作1、首先你需要去科大讯飞的官网去注册一个账号,怎么注册我就不说了,然后去控制台,创建新应用。2、下载对应的sdk,点击sdk下载,记住这里的APPID码,sdk初始化要用。3、下载语音听写和在线语音合成对应的sdk(离线的语音听写需要手机安装语+这个软件才能用,离线语音合成收费,我就没考虑)4、将压缩文件中的asset
原创
2417阅读
0评论
0点赞
发布博客于 4 年前

java二叉树的遍历,递归与非递归方法

定义:1.二叉树是n(n >= 0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。2.所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树,线性表结构可以理解为斜树。3.在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子都在
原创
421阅读
1评论
2点赞
发布博客于 4 年前

Android studio java.lang.UnsatisfiedLinkError加载.so文件失败解决办法

问题:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.demozd-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]] couldn't fin
原创
1011阅读
0评论
0点赞
发布博客于 4 年前

Android LinkedList的部分源码解析

写这篇文章主要是因为我自认为我画了一幅很好看的双向链表图,O(∩_∩)O哈哈~LinkedList是链式存储方式的线性表,LinkedList中的元素有前区和后继,头尾前区后继互指所以是双向循环链表private static final class LinkET> { ET data; LinkET> previous, next; Link(ET o
原创
261阅读
0评论
0点赞
发布博客于 4 年前

Glide用法总结

1.基本使用方法:Glide.with(this)//设置上下文对象,可以是context、activity、fragment、fragmentActivity、v4包下的fragment, Glide的生命周期与这个对象一致 .load(url)//加载的路径,包括网络图片、本地图片、应用资源、二进制流、Uri对象等等
原创
336阅读
0评论
0点赞
发布博客于 4 年前

xml文档的pull解析与SAX解析

一、Pull解析:1.在java中的使用方法:                                                        1)首先InputStream ins = this.getClass().getClassLoader().     getResourceAsStream("xxx.xml");获取到一个流对象            
原创
237阅读
0评论
1点赞
发布博客于 4 年前

Android利用手机拍照和从相册读取照片的方法

private void initView() { //拍照按钮 photo = (ImageView) findViewById(R.id.photo); Button take_photo = (Button) findViewById(R.id.take_phone); take_photo.setOnClickListener(new View.OnCl
原创
1093阅读
0评论
1点赞
发布博客于 4 年前

cordova自定义插件步骤

注意事项:.js文件中的任何标点都不能写错以让网页吐司为例:1.   新建一个Toast.js,在assets—》www—》plugins下新建一个cordova-plugin-xxx的文件夹,然后在这个文件家里创建一个xxx.js的文件Toast.js的内容如下:如果还不明白请对照参考cordova-plugin-xxx任意文件夹下的原始代码; 2. 
原创
430阅读
0评论
1点赞
发布博客于 4 年前

Android透明状态栏或者渐变色状态栏

一、透明状态栏:我们应用的正常状态栏都是黑乎乎的,就像下面这样(模拟器版本Android4.4.2):不好看,我们希望的是向这样的:这样感觉比黑黑的statusBar好看多了。实现方法:1.去/res/values/styles.xml里找到你activity或者application使用的theme,theme一定要使用NoActionBar的随便一种;
原创
6939阅读
0评论
10点赞
发布博客于 4 年前

Android透明状态栏和颜色渐变状态栏

Android透明状态栏和颜色渐变状态栏
rar
发布资源于 4 年前

Android studio打包遇到的问题总结

项目是从eclipse移到studio里的,直接运行没有任何问题,但是打包生成apk的时候居然出错了,简直忍无可忍。问题总结:1.Error:Error: Expected resource of type id [ResourceType]这是说你的资源id设置错误,我们在eclipse里直接setId(1)这样写没问题,但是AS编译不通过。解决方法:       1.直接在
原创
3178阅读
0评论
2点赞
发布博客于 4 年前

fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题

这几天做项目遇到一个问题,就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager,viewpager里放了几个fragment,本来只有这么一个页面,显示出来也没什么问题,现在加新需求,要求点击viewpager里的一个fragment里的按钮跳转到另一个fragment,新fragment按返回按钮返回盛放viewpager的fragme
原创
1983阅读
0评论
2点赞
发布博客于 4 年前

fragment嵌套viewpager嵌套fragment二次不显示内容解决demo

这几天做项目遇到一个问题,就是有这么一个页面是activity嵌套一个fragment1然后fragment1里放了一个viewpager,viewpager里放了几个fragment,本来只有这么一个页面,显示出来也没什么问题,现在加新需求,要求点击viewpager里的一个fragment里的按钮跳转到另一个fragment,新fragment按返回按钮返回盛放viewpager的fragment,这时就出现了viewpager里的fragment二次显示的时候数据没了
rar
发布资源于 4 年前

自定义RatingBar

最近公司项目里增加了一个评价功能模块,就要用到咱们最常见的ratingBar了,大家都知道系统自带的ratingBar有多丑,所以打算自定义,然后翻看资料,说是在drawable里写个.xml文件,例如这样:        然后在布局文件里android:progressDrawable="@drawable/rating_style",运行试试,恩,还不错,等等下面的流苏
原创
271阅读
0评论
0点赞
发布博客于 4 年前

Android把文字写到图片上生成图片+文字的新图片

我们项目最近需要微信分享员工二维码功能,二维码图片直接使用zxing就可以生成,但是生成之后只有一个图片,而我们需求的要求是这样的:                                                          没错就是二维码下边有一行提示文字,你可能会想直接imageview下边放个textview就行了,没错这样在你的APP里显示效果确实是达
原创
10306阅读
16评论
9点赞
发布博客于 4 年前

总动循环播放长图片

怎么让我们的长图片不用滑动而自己动起来呢?思路:1.自定义一个图片呈现控件继承view;2.我们先得到控件的宽度controlWidth,和图片的宽度bitmapWidth,图片移动距离初始值为0;3.每隔1毫秒移动一次偏移量,然后重新绘制图片;4.从源图片上截取减去偏移量显示在控件上的图片部分生成一张新的图片绘制到画布上;5,如果图片减去偏移量的部分不足以填充
原创
932阅读
0评论
0点赞
发布博客于 4 年前

实现UncaughtExceptionHandler来实现获取应用全局的crash信息

Android应用不可避免的会出现各种崩溃crash,平时我们可能会通过try-catch来捕获异常,可是我们总不可能每一段代码都try-catch,所以我们还是会有很多捕获不到的异常,而且一旦应用发布后,在客户端出现的问题我们也不能debug调试,也没有logcat了,客户端崩溃后用户体验很不好,但是我们因为捕获不到相关异常信息想要修复程序也显得有心无力,其实Android是提供了一个可以设置的
原创
6674阅读
0评论
0点赞
发布博客于 4 年前

仿iOS滚轮选择器 下载

这个是我自己写的一个仿iOS滚轮选择器的自定义控件,使用方法和代码分析都在我的博客里,博客地址是:http://blog.csdn.net/wozuihaole/article/details/70169684
rar
发布资源于 4 年前

仿iOS滚轮选择控件(已在鸿洋的微信公众号上发表)

最近项目中需要用到类似iOS的滚轮选择控件,在网上找了些资料,自己写了个自定义控件,为了方便自己以后查看就有了这篇博客,当然了,也是为了跟大家分享一下,有什么问题也请在下面给我留言,好了废话不多说了,先上一下效果图。效果图1:带确定、取消头的效果图:    第二种效果是基于第一种效果的,所以接下来分析思路以及介绍源码我都会只说第一种,不过最后我也会分享源码链接里
原创
3092阅读
8评论
3点赞
发布博客于 4 年前

仿iOS滚轮选择器自定义控件源码

仿iOS滚轮选择器自定义控件源码
rar
发布资源于 4 年前

解决eclispe SVN 创建资源库报错,无法验证:SVN…… 504 Connection to server timed out

我的eclipse以前用SVN插件用的好好的,最近安装Android studio 升了个级,Android studio升级了adt导致eclipse无法运行程序了,所以删除之前的eclipse重装,装好之后发现SVN无法连接了,找了好多办法,SVN插件也删除重装好几遍还是不行,最后的解决办法是:1.打开你的eclipse--》Window--》Preference--》Team--》SVN
原创
5784阅读
0评论
3点赞
发布博客于 4 年前

ScrollView如何判断滑动到底部以及getHeight()方法与getMeasuredHeight()方法的一些理解

上面的这张图就是如何判断scrollview是否滑动到底部的分析图。而这里面提到了getHeight和getMeasuredHeight两种获取控件高度的方法:     我看网上大多数是说getHeight方法得到的是屏幕显示出来的部分高度值,而getMeasuredHeight是实际高度值,简单来说就是:getMeasuredHeight = getHeight + 超出屏幕部分所显示出
原创
2386阅读
2评论
4点赞
发布博客于 4 年前

Android视频播放器

MediaPlayer+SurfaceView,VideoView,Vitamio三种实现方法源码,你可以在清单配置文件中更改启动页面来改各种页面,资源里的两个moudle都需要导入一个是源码,一个是vitamio的library
rar
发布资源于 4 年前

Android视频播放实现的三种办法

今天来说一下Android中怎么实现视频播放,我主要说三种:1.MediaPlayer+SurfaceView;2.VideoView;3.Vitamio框架。1.MediaPlayer+SurfaceView这种方法是基础,后面的两种方法其实就是把这种方法封装了一下,使用起来更方便些。我认为大家基本都会用MediaPlayer这个API,我们都知道MediaPlaye
原创
25868阅读
7评论
9点赞
发布博客于 4 年前

Android studio中compileSdkVersion、minSdkVersion和targetSdkVersion的区别

当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是 Android 非常关注的事情。用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现有应用应该不会出问题。这就是 compileSdkVersion, minSdkVersion 和 targetSdkVe
转载
391阅读
3评论
0点赞
发布博客于 4 年前

Android中Parcelable接口的实现方法

当我们需要通过Intent或者Binder传输数据时就可能会用到Parcelable接口,它可以完成对象的序列化,当然可能你还知道Serializable接口的功能与它相似,并且实现起来简单很多,这里我们先学习Parcelable,最后再来说他们的不同运用场景。    下面的代码是实现Parcelable接口的典型示例,就写在Parcelable的源码声明里,如果以后不会写了,可以直接借鉴:
原创
520阅读
0评论
0点赞
发布博客于 4 年前

Android中的IPC方式AIDL

IPC的全称是 inter-progress communication就是进程间通信,IPC不是Android独有的任何一个操作系统都需要IPC机制。当然了,我们只说Android,因为别的我也不会……。我们先说说AIDL的用处,只要就是跨进程通讯,其实我们一般都用过AIDL只是你可能不知道,就像Android中的contentprovider还有messenger的底层其实都是AIDL实现的。
原创
149阅读
0评论
0点赞
发布博客于 4 年前

Android手机录制音频

我用到的是MediaRecorder的API用来录制手机音频,接下来就是演示一个demo了,我选择的是录制通话过程的音频,也就是实现了一个监听手机通话的小demo。步骤:1.开启一个服务;2.使用TelephonyManager获取系统通话服务
原创
770阅读
0评论
0点赞
发布博客于 4 年前

使用XUtils进行文件的断点下载

使用XUtils进行文件的断点下载这个也很简单,我前面写了两篇文件下载和断点下载的相关文章,主要是就是学习了一下原理,大多数情况下,我们在工作中都是用现成的框架实现这个功能。今天就说一下xutils这个工具,大家可以自己去github上搜索xutils第一个搜索结果就是了(https://github.com/wyouflf/xUtils),里面有详细的介绍,XUtils的功能很强大,公司项目也是用
原创
466阅读
0评论
0点赞
发布博客于 4 年前

多线程断点下载

这篇是接着上一篇多线程下载文件(http://blog.csdn.net/wozuihaole/article/details/54892559)写的。我们下载文件中途如果断网了,文件只下载了一半,肯定是没法使用的,这时候我们就要用到断点下载,也就是下一次有网的时候继续下载完成文件。原理:1.为每个线程创建一个记录当前文件写入长度的临时文件;2.每次线程请求服务器前先判断临时文件是否存
原创
191阅读
0评论
0点赞
发布博客于 4 年前

自己创建一个本地服务器,实现文件下载

这个其实特别简单,我是因为另外一篇文章多线程文件下载里需要用到,因为公司的网络有限制不能登录外网,所以就自己搭了个服务器试试。步骤:1.用的MyEclipse新建一个web project,注意工程名字不要用中文2.创建一个servlet3.把你服务器端需要的文件放到工程的webroot目录下4.将你的工程部署到M
原创
3764阅读
0评论
2点赞
发布博客于 4 年前

多线程下载文件

最近看了下多线程下载文件,下载总结一下。原理:1.首先访问服务器端,获取到需要下载文件的总大小,并在本地创建同样大小的空白文件;这一步很简单,用你熟悉的任何一种网络访问方法,访问服务器都可以,请求成功后获取内容长度,之后利用RandomAccessFile这个类,创建空白文件,把内容长度设置为文件大小。2.等分任务,计算出每个线程的开始下载位置以及结束下载位置;根据步骤1中获取到的文件
原创
399阅读
0评论
0点赞
发布博客于 4 年前

shape中的ring标签的使用方法

之前写ring这个标签的时候一直不管用,直到今天看Android艺术开发与探索才发现这个标签是有用的,它有5个特殊属性,需要配置一下,一般只用配置3个,并且必须配合stroke标签一起使用否则可能无法达到预期效果。举例画个红色圆环:    android:shape="ring"     android:innerRadius="20dp"//圆环的内半径    andro
原创
614阅读
0评论
0点赞
发布博客于 4 年前

ContentObserve的基本使用方法

在Android中有时候会用到对系统自带的数据的数据变化进行监听,例如接收短信,拨打电话等,我记得我以前是通过注册广播来进行短信的监听的,可以通过设置广播action=“android.provider.Telephony.SMS_RECEIVED”,然后把广播的优先级设置成最高的,这样可以在接收到广播后根据意向决定是否需要拦截短信。只是这个过程对于我只想知道短信变化了没有,谁发来的,这点信息来说
原创
657阅读
0评论
0点赞
发布博客于 4 年前

AsyncTask--源码心得

虽然很早之前就一直在使用异步任务,他的基本用法我想大家都是知道的,首先自己写一个类去继承AsyncTask,我们一般需要重写的方法按执行顺序是onPreExecute()这是在UI线程中执行的一个方法,是一个钩子方法,可以重写,但也可以不重写;之后就是doInBackground(Params... params)根据方法名称,就可以知道这是一个在后台执行的方法,也就是我们的工作线程运行的方法,耗
原创
343阅读
0评论
0点赞
发布博客于 5 年前

listview 加载的时候报java.lang.IllegalArgumentException: column ‘_id’ does not exist 错误

今天做项目的时候遇到了这个问题,查询资料后发现android 建议使用_id作为主键的名字,因为某些组件会直接去使用_id这个名字, 不过你也可以自定义名字的。目前所知是在使用listview 的adapter时会遇到问题,解决方法是在查询数据时,加入规则 select 自定义主键名AS  _id, 再传递该cursor给adapter 就好了,或者就是直接把你的主键名字设置为_id也可以
原创
224阅读
0评论
0点赞
发布博客于 5 年前

自定义标题栏

最近学了自定义ActionBar,ActionBar就是我们打开Android软件时,显示在最上面的标题栏所在,当然了,它还包括了一些menu和图片等。Android官方为我们提供了多种ActionBar的模式,即便如此,但还是不能完全的满足开发需求,因为官方提供的样式基本都是标题靠左显示,但是我们一般需要居中显示,颜色字体等也根据不同的软件,有不同的需求,所以考虑用自定义。       如果
原创
336阅读
0评论
0点赞
发布博客于 5 年前

四大内部类

内部类总结
原创
291阅读
0评论
0点赞
发布博客于 5 年前

8086汇编语言程序设计_马丽妮_课后习题答案

这个是我们考前老师给的答案,有点小错,但是很全
doc
发布资源于 9 年前