1.首先我们需要一个已经编译好的libffmpeg.so文件.(怎么编译是个大坑,可以参考windows环境下编译android中使用的FFmpeg,也可以用网上下载的现成的,本文相关的github项目里也有.),当然也要下载好ffmpeg的源码,一会要用到. 2.打开你的Android工程,在 src/main/ 目录下新建 jni 目录.并将libffmpeg.so文件丢进去. 3.创建FFmpegKit.java.写入如下代码 package codepig.ffmpegcldemo; i…
转载 https://blog.csdn.net/qiutiandepaomo/article/details/84028558 windowSoftInputMode属性主要是用来设置窗口软键盘的交互模式的,这个属性会有两个影响: 1)当有焦点产生时,软键盘是隐藏还是显示. 2)是否减少活动主窗口大小以便腾出空间放软键盘. 这个属性一共有9个值,分别是:stateUnspecified.stateUnchanged.stateHidden.stateAlwaysHidden.stateVisi…
最近经常有朋友反馈说我的安卓项目中,在一些类中会出现Created by panchengjia on 2016/12/30的字样,是如何自动实现的(默认一般为Administrator),如下图: 实现上图这种效果,仅仅修改控制面板中的用户账户名是没有用的. 下面我简单介绍下windows环境下的实现方式: (1)进入本地组策略编辑器 可以通过快捷键windows键+R打开运行窗口或者直接点开始菜单选运行,输入gpedit.msc   (2)修改管理员账户名 进入本地组策略编辑器后,后续操作如…
Android中矢量动画 Android中用<path> 标签来创建SVG,就好比控制着一支画笔,从一点到一点,动一条线. <path> 标签 支持一下属性 M = (Mx, y) 移动到x,y,并不会划线 L (Lx, y) 直线连到x,y,还有简化命令H(x) 水平连接.V(y)垂直连接 Z,没有参数,连接起点和终点 C=(Cx1, y1, x2, y2, x, y),控制点x1,y1 x2,y2,终点x,y Q=(Qx1, y1, x, y),控制点x1,y1,终点x,y A…
前言:近期在慕课网学习了慕课网课程Android中的HTTP通信,就自己总结了一下,其中参考了不少博文,感谢大家的分享. 文章内容包括:1.HTTP简介2.HTTP/1.0和HTTP/1.1之间的区别3.HTTP的请求头.响应头和状态码4.Android中的HttpUrlConnection 1.Http简介Http(Hypertext transfer protocol)定义了浏览器怎么向万维网服务器发送万维网文档,以及服务器怎么将文档发送给服务器.从层次上看,http是面向应用层协议的,它是…
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下.http://www.jinhusns.com/Products/Download/?type=xcj 在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.通常我们的代码会这样实现. public class SampleActivity extends Activity {   …
android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式.   其中SQLite:是才用动态存储数据类型,会根据存入值自动的判断,SQLite具有以下五种数据类型:   1:NULL,空值类型   2:INTEGER:带符号整数,具体取值取决存入数值范围大小.   3:REAL:浮点数字   4:TEXT:文本类型   5:BLOB:二进制对象 此外,其它类…
Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声音是从耳机发出的:而此时拔出耳机,Audio输出通道会发生切换.如果音乐播放器不做处理,Audio输出是被切换到扬声器的,声音直接从Speaker发出.我们在编写程序时,要捕获并按照需求来处理这样的事,本文就是讲解如何处理的. Android中可以通过android.media.AudioManag…
原文:[置顶] Android菜鸟的成长笔记(11)——Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调的事件处理 @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub return super.onTouchEvent(event); } 基于监听的事件处理 butto…
原文:Xamarin.Android中使用android:onClick="xxx"属性 在原生Android开发中,为一个View增加点击事件,有三种方式: 1.使用匿名对象 ((ImageButton) findViewById(R.id.music_cover)) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 我们知道,View.OnCl…
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.通常我们的代码会这样实现. 1 2 3 4 5 6 7 8 9 public class SampleActivity extends Activity {   private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... } } } 但是,其实上面的代…
原文地址:http://johnnyshieh.github.io/android/2015/09/03/android-handler-memory-leak/ 在Android中我们经常用Handler来处理异步消息,把非主线程的操作结果放在主线程中更新UI.请思考一下下面的代码有没有问题: public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() {…
本文是参考ProAndroid的第10章Working with Dialogs的内容,在合适的地方添加了作者自己的一些见解最终成文. Android 中的对话框是一个展示在当前窗口上的小一号的窗口,用于展示或接受一些信息,通常在用户关闭一个对话框时会回到原来的窗口上.例如:展示一个紧急信息,接受用户输入等:Android SDK中为对话框(Dialog)提供了丰富的实现接口.同时,Android还提供了一个嵌入到Activity中的DialogFragment 来实现对话框布局. Androi…
在android中读写文件 android中只有一个盘,正斜杠/代表根目录. 我们常见的SDK的位置为:/mnt/sdcard 两种最常见的数据存储方式: 一.内存 二.本地 1.手机内部存储 2.外部存储设备(SD卡) 在SD卡中读数据是不需要权限的,但是在SD卡中写数据是要权限的: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 读写文件的方式就是用的Java的文件…
本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下,是Android提供的一个3*3 矩阵工具类: 它本身不能对图像或View进行变换,但它可与其他API结合来控制图形.View的变换,如Canvas.Matrix提供了一些方法来控制图片变换: setTrans…
第二部分 代码验证 在第一部分中讲到的各种图像变换的验证代码如下,一共列出了10种情况.如果要验证其中的某一种情况,只需将相应的代码反注释即可.试验中用到的图片: 其尺寸为162 x 251. 每种变换的结果,请见代码之后的说明. import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…
第三部分 应用 在这一部分,我们会将前面两部分所了解到的内容和Android手势结合起来,利用各种不同的手势对图像进行平移.缩放和旋转,前面两项都是在实践中经常需要用到的功能,后一项据说苹果也是最近才加上的,而实际上在Android中,咱们通过自己的双手,也可以很轻松地实现之. 首先创建一个Android项目PatImageView,同时创建一个Activity:PatImageViewActivity.完成这一步后, 记得在AndroidManifest.xml中增加如下许可: <uses-p…
Matrix类包含了一个3x3的矩阵用来改变坐标,它没有一个构造器来初始化它里边的内容,所以创建实例后需要调用reset()方法生成一个标准matrix,或者调用set..一类的函数,比如setTranslate, setRotate,,该函数将会决定matrix如何来改变坐标.SDK里边没有讲述Matrix的3x3矩阵是如何改变点的坐标值的,但是我在代码里边通过打印那9个点的值时,大致可以得到如下结论,9个值[a,b,c,d,e,f,g,h,i],坐标[x,y],当g=0,h=0,i=1,的时…
简介: Matrix翻译字面意思时矩阵,在Android的API中提供了两种Matrix,分别是android.graphics.Matrix 和 android.opengl.Matrix . 后者是OpenGL中的 , 是 一个四行四列的 矩阵. 主要是3D 效果 前者是我们比较常用的, 是一个三行三列的矩阵 , 主要是2D方面的.主要主要用于图像的处理,主要功能有 缩放[Scale] ,平移[Translate] ,旋转[Rotate],倾斜[Skew]等操作. 导包的时候,注意 详见 h…
本文行文目录: 一.Camera与Matrix初步认识 二.Camera与Matrix旋转效果拆分介绍 三.Camera与Matrix实现立体3D切换效果 [csdn地址:http://blog.csdn.net/zhangke3016/article/details/52093776] 一.Camera与Matrix初步认识 android中一共有两个Camera,分别为: android.graphics.Camera android.hardware.Camera 今天我们要说的是第一个C…
第一部分 Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类.Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换: Translate           平移变换 Rotate                旋转变换 Scale                  缩放变换 Skew                  错切变换 从字面上理解,矩阵中的MSCALE用于处理缩放变…
以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,现在在Android中有一个Matrix类,它的中文意思就是矩阵.Matrix主要是用于图像的缩放.平移.旋转.扭曲等操作.图像处理,主要用到的是乘法. 下面是一个乘法的公式: 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵.如下图 其含义如下: sinX和cosX,表示旋转角度的cos值和sin值(旋转角度是按顺时针方向计算的).translateX和translateY表示x和y的平移量.scale是缩放的…
写在前面 看这篇笔记之前先看一下参考文章,这篇笔记没有系统的讲述矩阵和代码的东西,参考文章写的也有错误的地方,要辨证的看. 如何计算矩阵乘法 android matrix 最全方法详解与进阶(完整篇) Android Matrix 最全方法详解与进阶 1-4 Canvas 对绘制的辅助 clipXXX() 和 Matrix 矩阵的乘法 比如有矩阵A和矩阵B,他们分别为: 可以看到A为2行3列的矩阵,B为3行2列的矩阵,矩阵乘法符合下面的规则: 只有A的列数和B的行数相等,A和B才可以做乘法 A*…
Matrix 是 Android SDK 提供的一个矩阵类,它代表一个 3 X 3 的矩阵 Matrix主要可以对图像做4种基本变换 Translate 平移变换 Rotate 旋转变换 Scale 缩放变换 Skew 错切变换 Matrix类中的方法,主要也是和这四个变换相关,只是对计算过程做了封装,作用对象是Bitmap而不是Canvas 利用 Matrix 来进行 Translate(平移).Scale(缩放).Rotate(旋转)的操作,就是在操作着这个矩阵中元素的数值来达到我们想要的效…
今天实现了一个模拟碟片加载过程的小demo,在此展示一下.由于在公司,不好截取动态图片,因此就在这截取两张静态图片看看效果先. 下面简单的将代码列出来. setp1.准备两张用于旋转的图片,如下:loading_disc.png是第一张图片,loading_light.png是第二张图片.       (1)                  (2) step2.自定义一个View,用来控制这两个图片的旋转.com.oyp.loadingdisk.LoadingDiscView.java pac…
Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵.最好记住.如下图: 解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的. translateX和translateY表示x和y的平移量.scale是缩放的比例,1是不变,2是表示缩放1/2,这样子. 例如:从最简单的旋转90度 在android.graphics.…
本文转载于:http://www.cnblogs.com/leon19870907/articles/1978065.html 在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的效果,有时候还要对图片进行变换,以拉伸,扭曲等等. 这些效果在android中有很好的支持,通过颜色矩阵(ColorMatrix)和坐标变换矩阵(Matrix)可以完美的做出上面的所说的效果. 下面将分别介绍这两个矩阵的用法和相关的函数. 颜色矩阵 android中可以通过颜色矩阵(ColorMat…
Given an integer matrix, find the length of the longest increasing path. From each cell, you can either move to four directions: left, right, up or down. You may NOT move diagonally or move outside of the boundary (i.e. wrap-around is not allowed). E…
比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的ID方式指定是不行的,因为这个ID无法动态变化,即你是无法通过字符串拼接的方法来实现的. 但可以通过下面方式获取: String imgname = "img_" + idx; int imgid = getResources().getIdentifier(imgname, "…
Android中有两个比较重要的矩阵,ColorMatrix和Matrix.ColorMatrix用来改变bitmap的颜色和透明度,Matrix用来对bitmap平移.缩放.错切.对矩阵的概念不理解可参考:https://zh.wikipedia.org/wiki/%E7%9F%A9%E9%98%B5#%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95 [ColorMatrix(色彩矩阵)] Android中Bitmap色彩用了一个[R, G, B, A],4*1的矩阵来…