[置顶] 安卓用ffmeg解码

本文章是用ffmeg解码封装格式(如mp4)转换为yuv420p保存到本地,本文是结合雷霄骅博客ppt和某地方学习的一个笔记(说出来等下被认为做广告就尴尬了) 封装格式视频编码数据将封装格式解压后可以得到压缩过的音视频等. 将压缩过的视频解压后可以得到 视频像素数据(RGB,YUV等).常见的视频压缩格式有H.264, MPEG4等… YUV420P格式介绍YUV是视频像素格式,在压缩视频格式解...
阅读(900) 评论(0)

[置顶] 最全的增量更新入门 包含linux端和Android

简介增量更新大量用于 Android各大应用市场.本文想做网络上从服务器到app客户端完整讲解.app用eclipse和android studio 最新版cmark开发ndk 如下图: 以前一直好奇怎么做的直到知道了bsdiff库. 地址附上: bsdiff源码地址和简介 大家可以从简介看到bsdiff是基于bzip2源码(bsdiff和bspatch一个用于生成差异文件补丁,另一个用于差...
阅读(1468) 评论(2)

[置顶] Android 程序保活,锁机代码

前言 保活:如何让我们的app在Android系统不被杀死 保证存活,简单做法就是提升程序的优先级,看完本文一些流氓锁机你也会了哦.但锁机源码我不打算提供 为了防止某些恶心的人直接复制然后在市面上搞破坏 android 进程优先级如下: 1. 前台进程;Foreground process1. 用户正在交互的Activity(onResume()) 2. 当某个Service绑定正在交互的Ac...
阅读(1512) 评论(0)

[置顶] C语言文件操作

读取文本读取文本#define _CRT_SECURE_NO_WARNINGS #include #include void main() { char * path = "D:\\a.txt"; FILE *fp = fopen(path,"r"); if (fp == NULL){ printf("文件打开失败");...
阅读(1047) 评论(0)

[置顶] C语言基本变量语法输出和输入方法

其他基本数据类型java有这里就不介绍了 ide:visual studio2013 操作系统:win10 64 bit 从这篇开始 我会记录下我每天学习jni的过程。 ide下载地址:visual studio2013百度云连接 我只是一个初学c(大学学过忘了差不多)Android开发者 想学习jni中。。。文章仓促而成加上自己不成熟错漏在所难免。还请您多多海涵和指明union...
阅读(1658) 评论(0)

[置顶] 安卓onTextChanged参数解释及实现EditText字数监听 Editable使用

原作者部分修改部分 补充部分 补充部分2 补充部分3 补充部分4 Editable 尊重原作者:此篇文章是借鉴原作者地址 的博文 并进行修改和增加补充说明,我只是补充和修改: 我感觉这篇文章经过我的补充 市面多少文本操作变化 你都知道怎么做了.并且感觉是非常详细关于 android 文本编辑框的文本变化 并且通俗易懂(内含动态图),为了大家方便查看 我这里复制作者博文内容 并且修正部分内容 后面在...
阅读(2542) 评论(2)

[置顶] android注解入门 并来自己写一个框架

介绍这里我带大家来学习一下注解 并且用来写下一个模仿xUtils3 中View框架 此框架 可以省略activity或者fragment的 findViewById 或者设置点击事件的烦恼 我正参加2016CSDN博客之星的比赛 希望您能投下宝贵的一票,点击进入投票 我的github上的源码,包含doc和使用说明如下代码:fragmentpackage a.fmy.com.myapplicat...
阅读(2843) 评论(4)

[置顶] 安卓热修复之AndFIX

我致力于最新的前沿安卓技术分析和使用教学,不打算将很多很深的东西,因为有多少人愿意沉下你的心境去学习难点?我一般只会简单提及.文字错漏在所难免还希望同学们喜欢 热修复介绍热修复是什么? 如果你一个项目已经上线,出现了严重缺陷,那么你第一反应是推送新版本.那么问题来.老子刚下你的APP 你就叫我重新下载?啥东西!卸了.从而导致用户流量的减退.而热修复就是推送一个补丁文件到客户端(很小),用户打开应用时...
阅读(3563) 评论(5)

[置顶] 安卓高级 WebView的使用到 js交互

我们先来学习 怎么使用再到用js和安卓源生方法交互WebView简单使用 此部分转载并做了补充 原博客 原因:比较简单不是很想在写,我只要写js交互部分WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。 webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要处理解析,渲染网页等浏览器做的事情 s...
阅读(3642) 评论(1)

[置顶] 自定义view实现阻尼效果的加载动画

效果: > 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又称减幅振动、衰减振动。[1] 不论是弹簧振子还是单摆由于外界的摩擦和介质阻力总是存在,在振动过程中要不断克服外界阻力做功,消耗能量,振幅就会逐渐减小,经过一段时间,振动...
阅读(3455) 评论(4)

[置顶] 自定义view实现水波纹效果

今天看到一篇自定view 实现水波纹效果 觉得真心不错 学习之后再次写下笔记和心得.但是感觉原作者写得有些晦涩难懂,也许是本人愚笨 所以重写此作者教程.原作者博文大家可以去看下,感觉他在自定义view方面非常厉害,本文是基于此作者原文重新改写,拥有大量像相似部分 先看下效果吧: 1. 效果1: 2. 效果2 我先们来学习效果1:效果1实现本质:用一张波形图和一个圆形图的图片,然后圆形图在波...
阅读(2717) 评论(0)

[置顶] 安卓7.1 新特性Shortcut

介绍Shortcut 是谷歌在API25提出来的 类似苹果3D touch 但是没有压力感应.在安卓中完全就是长按. 来看下效果吧: 是不是很赞? 那么请随本文一起学习吧更新 新建项目 在你项目下的build.gradle下 以下目的很简单更新你编译工具 和指定项目版本 compileSdkVersion 25 buildToolsVersion “25.0.0” mi...
阅读(2007) 评论(2)

Android使用ANativeWindow_fromSurface返回空

原因surfaceview没有创建完成的时候就获取导致的 解决办法: surfaceview.getHolder().addCallback(new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) {...
阅读(30) 评论(0)

Java注解处理器(编译时注解)

Java中的注解(Annotation)是一个很神奇的东西,特别现在有很多Android库都是使用注解的方式来实现的。一直想详细了解一下其中的原理。很有幸阅读到一篇详细解释编写注解处理器的文章。本文的原文是ANNOTATION PROCESSING 101,作者是Hannes Dorfmann。这是一篇好文,忍不住翻译学习一下。以下是翻译。(注:本文的翻译已经获得了作者 Hannes 的授权。)在...
阅读(37) 评论(0)

Kotlin遇到DataBind的坑

今天尝试用kotlin写android项目一上来就时一个坑 Error:(12, 29) Unresolved reference: databinding Error:(15, 53) Unresolved reference: ActivitySplashBinding Error:Execution failed for task ‘:app:compileDebugKotli...
阅读(47) 评论(0)

FFmpeg解码音频

基于第一篇文章: 第一篇解码视频 我们知道mp4是视频格式,其实内部封装了音频的压缩数据,和视频的压缩数据,这篇文章将从视频中读取音频压缩数据,并且解压缩音频 以下图片转载自 雷霄骅博士ppt音频的压缩格式有aac,和MP3等等.他们都是通过采样格式(pcm)转化而来如图: 几个术语 采样率:采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(...
阅读(144) 评论(0)

RXJAVA学习资料整理

全新的网络加载框架Retrofit2,上位的小三 Retrofit 2.X使用详解之基本使用Retrofit各个注解的含义及作用 Android基于Retrofit2.0 +RxJava 封装的超好用的RetrofitClient工具类(六)给 Android 开发者的 RxJava 详解...
阅读(170) 评论(0)

用surfaceview播放FFmpeg解码视屏

关于FFmpeg解码请看第一篇教程:FFmpeg解码下载转码库libyuv一般我们用surfaceview播放视频都是才用RGBA格式等播放的,但我们解码之后的视频可能是h.264等等 所以我们这里不管解码的是什么格式直接转化为RGBA即可. 所以我们这里用ffmeg解码再用libyuv转码(谷歌推出的一个转码库) 转码库:libyuv是谷歌推出一个转码库 libyuv官网地址(请科学上网)我...
阅读(277) 评论(0)

Android.mk的用法和基础 && m、mm、mmm编译命令

一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块。每个模块属下列类型之一:  1)APK程序,一般的Android程序,编译打包生成apk文件  2)Java库,java类库,编译打包生成jar文件  3)  C\C++应用程序,可执行的...
阅读(262) 评论(0)

AIDL基本使用5 客户端远程回调

案例完全借鉴 android开发艺术探索 使用情况:服务端回调客户端接口API介绍: CopyOnWriteArrayList 一个多线程安全的list集合.假设有两个线程对我们常用arrayList一个进行删除操作一个进行遍历操作,我们知道会丢出一个curseModify异常.而CopyOnWriteArrayList不会.因为CopyOnWriteArrayList会在增加或者删除集合...
阅读(151) 评论(0)

AIDL基本使用4—- 4、linkToDeath和unlinkToDeath

完全参考 任玉刚老师的书籍案例案例 Binder运行在服务端进程,如果服务端进程由于某些原因异常终止,这个时候我们到服务端的Binder连接断裂,会导致我们的远程调用失败。Binder提供了两个配对的方法linkToDeath和unlinkToDeath,通过linkToDeath我们可以给Binder设置一个死亡代理,当Binder死亡时,我们会收到通知,这个时候我们就可以重新发起连接请求从而恢复...
阅读(119) 评论(0)

AIDL基本使用3—-in out inout的用

在AIDL中客户端和服务端传入参数 是可以设置流向.仅限参数不包含返回值 1. in :客户端可以传入参数到服务到(默认方法) 2. out:服务端修改客户端传入参数对象 会影响客户端的传入实例 3. inout:服务端即可接受客户端参数也可以修改对其客户端实例影响 这个标签在哪?这里用AIDL基本使用2的Demo作为案例:AIDL基本使用2在AIDL基本使用2案例中 IMy...
阅读(141) 评论(0)

AIDL基本使用2— 传递对象

我们平常在内存传递对象 必须让类实现serializable或者parcelabelserializable是java提供的一个序列化 parcelable 是谷歌提供序列化,在内存传输上效率高 这里我们将一下 如何用AIDL传递对象服务端:这里我们创建一个Book类(创建于服务端) 实现parcelable让其和客户端相处传递.创建一个Book.java,千万不要创建在aidl文件下.有坑//Bo...
阅读(115) 评论(0)

AIDL基本使用1----调用服务端方法

进程概念 最基本使用方法进程概念: 如果您想直接学使用AIDL怎么使用请跳过此处 进程:是系统分配资源的和调用的一个独立单位.线程:共享进程所分配资源,依赖于进程,是任务执行的最小执行单元.进程孵化线程.案例:package com.fmy;public class Test { private static Person person; static class Person{...
阅读(235) 评论(0)

安卓学习AIDL这篇就够了

这段时间一直在学习安卓IPC,RPC记录下我学习心得和笔记,最全的使用方式和原理分析 慢慢更新… 基本使用 原理分析 parcel和parcelable AIDL简单分析 binder共享内存 参考文献1. 基本使用AIDL基本使用1—-调用服务端方法 AIDL基本使用2—-传递对象 AIDL基本使用3—-in out inout的用 AIDL基本使用4—-linkToDeath和unli...
阅读(189) 评论(0)

AIDL传递parcelable对象找不到问题

在android studio开发定义了一个类Book.java,然后在创建Book.aidl.最后在另一个IServerInterface.aidl引用编译发现找不到类异常.结构如图: 解决办法:Book.java放入java文件夹下对应的包名(原本放入aidl文件下)...
阅读(141) 评论(0)
311条 共21页1 2 3 4 5 ... 下一页 尾页