2017-05-10 Lauzy
在项目开发中,大部分 Android 开发者都使用过 ButterKnife 这个通过注解简化代码的框架。部分 Android 开发者也使用过 xUtils 这种快速开发的框架。 两者均使用到了注解。在上一篇 Java注解、反射,安卓IOC(一) 中我们知道了注解及反射的用法。本篇会分别介绍下其实现机制。 运行时注解 首先我们自己简单实现类似 xUtils 这种运行时注解框架。 绑定 View 控件 创建注解: ```java @Retention(RetentionPolicy.RUNTIME)//运行时注解 @Target(ElementType.FIELD)//Target为属性 public @interface 继续阅读 »
2017-07-24 Piasy
前面分享了一套开箱即用的 WebRTC 开发环境,希望能给对 WebRTC 感兴趣的朋友带来帮助。不过有了开发环境只是迈出了万里长征第一步,后面的事情还得仔细研读源码才行,所以这里给大家先带来 WebRTC 的安卓 demo 工程—— AppRTC-Native 的源码导读系列。(十个月前说好的拆 Dagger2 看来又要等等了,海涵海涵...) 继续阅读 »
2016-12-03 YongHao Hu
go
准备工作: 1.学习java以及安卓开发,我读了JAVA核心技术和第一行代码 2. 利用PackageManager管理器,检索所有的应用程序与数据目.再用ActivityManager与PackagesInfo获取从上得到的所有app名称以及pid,并且使用listview布局展示出来。 3. 我们可以在proc/(pid)/tcp或者udp这些文件夹中得到socket的信息,得到的信息如下: ``` 继续阅读 »
2017-07-26 Piasy
在本系列第一篇中,我们分析了 WebRTC-Android 相机采集的实现,本文中我们将分析预览的实现。 有过一定相机开发经验的朋友可能会疑惑,预览还有什么好分析的,不是直接 camera.setPreviewDisplay 或者 camera.setPreviewTexture 就能在 SurfaceView/TextureView 上预览了吗?实际上预览还有更高级的玩法,尤其是需要加上图像处理功能(美颜、特效)时。WebRTC 使用了 OpenGL 进行渲染(预览),涉及下面三个问题: 继续阅读 »
2016-02-24 Piasy
安卓开发过程中一旦开始和硬件打交道,以及涉及到一定的native代码之后,各种闪退就开始浮出水面了,声音录制和播放当然不例外,其中最摸不着头脑的就是A/libc: Fatal signal 11 (SIGSEGV) at了。本文总结了YOLO安卓客户端大半年来的安卓音频实践,整理出一套系统API的封装,命名为RxAndroidAudio。 继续阅读 »
2017-08-26 Piasy
NDK
本文的前身是一篇笔记,比较零碎,发布出来是为了让后续的文章可以有一个基本的参考,本文会持续更新。 NDK 的高性能最常见的场景:多媒体,游戏。此外,利用 NDK 还能练习 C/C++,一举两得。 基本概念 shared library, .so static library, .a JNI: Java Native Interface Application Binary Interface, ABI:我们将符号修饰标准、变量内存布局、函数调用方式等跟可执行代码二进制兼容性相关的内容称为程序的 ABI(摘自《程序员的自我修养》); Application Programming Interface, API:API 是源码层面 继续阅读 »
2015-09-05 ZhangTitanjum
相信很多开发者都有自己的话要说。Android 的发展确实太快了,每年的都有很多新东西出现,想要覆盖所有新东西感觉也不太可能,我这里主要说一下主要的 Android 的主要新技术发展,其实了解 Android 的发展趋势,可能对开发者更有帮助。 more 开发工具 Android Studio: Google 官方放弃 Eclipse 和 Android Studio 普及。AS 虽然不算新,但是对 Android Studio 这个软件的更新速度快的惊人,有大量的新功能发布。例如支持很多注解代码提示注解、Live code template、支持自动生成 Parcelable 实现等等,作为开发者,持续关注这个更新列表 Rec 继续阅读 »
2017-05-09 Lauzy
Java 注解 (Annotation) Java 注解,指的是代码里边的特殊标记,可以在编译、运行时被读取,并执行相应的处理。Annotation 可用于修饰包、类、构造器、方法、变量等。 more Annotation 类型 此处来一张网上的图 (可在新标签页中放大查看) 转自深入理解Java:注解(Annotation) 基本 Annotation Java中5个基本的注解分别为: - @Override ———— 用来限定子类重写父类的方法。 - @Deprecated ———— 标记已经过时的方法。 - @SuppressWarnings ———— 抑制编译器的警告。 - @SafeVararg 继续阅读 »
2015-10-05 Piasy
12行配置从Android Studio + Gradle构建体系迁移到facebook的BUCK构建体系,且保持两者同时兼容使用,编码使用AS,享受安卓最强大IDE的功能,打包、安装、测试用BUCK,享受安卓最快构建系统的畅快淋漓,两者互不干扰。从此妈妈再也不用担心我在编译安卓工程时睡着了,而且真的只要12行! 继续阅读 »
2017-08-08 Piasy
前两篇我们分析了 WebRTC 的相机采集和预览,接下来的环节就是编码和传输了。目前我对传输还不熟悉,本篇只关注编码相关的内容,同样也是聚焦于三个问题: 继续阅读 »