最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路–NDK.JNI之初体验. 1.ffmpeg编译   进入正题,既然是ffmpeg的移植编译,那么就先下载ffmpeg,https://ffmpeg.org/download.html#releases.这里下载的是3.0.3版本.   新建ffmpeg文件夹,然后新建脚本用来编译ffmpeg,命名为…
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块->linux内核驱动->hal层->jni->android framework层->android app做个简单的介绍. 1.芯片及硬件模块 就像人脑,电脑的cpu一样,android手机也需要一个中央处理器,那便是主控芯片.一般电脑的cpu是intel或者amd的,但是and…
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests: AndroidManifest.xml:APP的配置信息 java:主要为源代码和测试代码 res:主要是资源目录,存储所有的项目资源 drawable:存储一些xml文件,-*dpi表示存储分辨率的图片,用于适配不同的屏幕. -mdpi:320x480 -hdpi:480x800.480x85…
上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Android Studio是谷歌提供给开发者提升效率的.试想想你脑袋里有一堆想法,但是开发编码效率太低导致想法都丢失了或者兴趣消失了多可怕对不.好了废话不多说,这里介绍几个比较好用的技巧和快捷键,提升我们的编码效率. 1.完成一句代码 如果我们调用了一个方法,并给方法传递了参数,这个时候如果我们要结束这个语…
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). 观察者模式:Observable(被观察者)被Observer(观察者)订阅(Subscribe)之后,Observable在发出消息的时候会通知对应的Observer,并且,一个Observable可以有被多个Observer订阅. 链式调用:和Builder模式类似,调用对应的方法对原对象进行处…
我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式.多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信. 这里我们通过官方提供的一个Demo来了解一下,作为开发者,怎么给我们的App也适配多窗口模式. 这里给出代码github地址,需要的话可以clone下来边看边了解: https://github.com/googlecodelabs/getting-ready-for-android-n 根据指导文档这里分…
效果图: 上面的这个图有两个效果是,一个是顶部的图片,在上滑之后会隐藏起来并且显示出一个ToolBar(ToolBar类似于ActionBar,但是只有ToolBar是兼容Material Desig的库).另一个是底部的这个按钮,这个按钮点击之后会出现一个SnackBar(比Toast要强大,因为可以设定点击的监听事件),在按钮点击之后SnackBar出现之后按钮会自动的向上移动避免被遮挡,这是CoordinatorLayout的一个功能. Android Design Support Lib…
放假之后电脑配置升级就开始用Android Studio(下面简称AS)了,那个酸爽真的不是一般的啊,这里开一篇博客来记录下AS里面各种酷炫的功能,有更好玩的,大家不要吝啬,评论告诉我吧! 最近Android Studio正式版的2.0也出来了,有兴趣的快去更新啦,我是用了很久的Preview版本了,Instant Run已经用了很久啦哈哈! ---正题--- ① 智能补全 AS的补全跟Eclipse的区别还是挺大的,但是,当你用过之后,给你1000块你也不要再回去了.AS的补全是自动的,不需要…
环境也搭建好了,android系统也基本了解了,那么接下来就可以开始学习android开发了,相信这么学下去肯定可以把android开发学习好的,再加上时而再温故下linux下的知识,看看android源码,终有一天可以让自己提高到另外一个高度. 好了,言归正传,真正地开始android开发学习之路了. 相信很多人都知道android四大组件,它们分别是活动(Activity),服务(Service),广播接收器(Broadcast Receiver)和内容提供器(Content Provide…
自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门了,但是很多的知识点都是零零散散的,也缺少了总结. 相信凭借着对于linux内核层,android framework层的熟悉,加上也写过简单的应用,对于之后的android开发学习之路会事倍功半. 要学android,先要学java,但是光光从学java开始,会让很多人还没动手之前就失去了兴趣,所…