Android

libstreaming局域网构建Android相机实时流媒体流程分析

libstreaming局域网构建Android相机实时流媒体流程分析

这是一个涉及东西比较多的第三方库,里面的一些代码细节有点让人云里雾里。如果真的是这样,那说明了解的东西还太少,真正的去了解这些详细的东西,起码得知道相应的概念,如RTSP、RTP、H264、H264打包。我觉得首要的事是将大体的逻辑打通,然后再慢慢深入代码的细节,了解相关的技术与知识。奈何,这部分在

关于Bitmap相关的一些总结

关于Bitmap相关的一些总结

如何从当前View获取到Bitmap v.setDrawingCacheEnabled(true); v.buildDrawingCache(); Bitmap bitmap = v.getDrawingCache(); 如何从TextureView中获取Bitmap mTextureView.getBitmap(); 如何压缩Bitmap 压缩成适配目标宽、高的Bitmap /** * get a scaled bitmap from a file located in path, adjust to destWidth and destHeight * @param path the bitmap's file location * @param destWidth destination width * @param destHeight destination height * @return a scaled

安卓系统应用调试脚本

安卓系统应用调试脚本

这是一个对之前写的脚本的记录档案,自己也看不太懂当时的写法了,羞愧。用一个 repo 放这些脚本代码感觉有些浪费,干脆整个文章记录曾经的那段历史吧! 这代码的主要目的就是想少敲点命令,一步到位,做一个快男! 说明 - AndroidROMTools Android run script tools for debugging system apps or frameworks. This was used by myself when debugging system apps or frameworks. In this project, module names was not given to avoid the project name, but the main structure

Service使用笔记

Service使用笔记

看过好几回了,但是还是好像每次都忘,可能是用得少,但是工作中看的一些源代码中用的太多了,可是每次用的时候都看一遍,有点浪费时间,还是自己做一个简单的总结,这样可能以后会快一些。 这篇在草稿箱里实在是存太久了。。。 Service的分类 启动型 通过调用startService() 启动,一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响。 已启动的服务通常是执行单一操作,而且不会将结果返回给调用方。 绑定型 通过调用bindService() 绑定到服务,服务即处于“绑定”状态。绑定服务提供了一个客户端-服务器接口,允许组件与服务进行交互、发送请求、获取结果,甚至是利用进程间通信 (IPC) 跨进程执行这些操作。 仅当与另一个应用组件绑定时,绑定服务才会运行; 多个组件可以同时绑定到该服务,但全部取消绑定后,该服务即会被销毁。 服务在其托管进程的主线程中运行,它既不创建自己的线程,也不在单独的进程中运行(除非另行指定)。 Service的生命周期 因为其分两类,所以它的生命周期也有两种: 左边为启动型, 右边为绑定型. Service在清单

ButterKnife官方使用指南

ButterKnife官方使用指南

看到了ButterKnife之后,感觉它实在是太棒了,可以省略掉一大堆无趣的findViewById(),整个代码看起来都舒服多了。这篇使用说明来自它的官方网站的简易介绍,用起来非常简单,但是也是有挺多的情况,所以还是觉得自己翻译出来,方便以后查阅吧! 使用@BindView和ID注解相应的变量,ButterKnife就会在你的layout文件中找到所对应的View并赋值给它。 class ExampleActivity extends Activity { @BindView(R.id.title) TextView title; @BindView(R.id.subtitle) TextView subtitle; @BindView(R.id.footer) TextView footer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_

系统应用闹钟之TabLayout的使用

系统应用闹钟之TabLayout的使用

此篇文章记录一些关于安卓原生应用闹钟里面TabLayout的使用,没见过用这个组件的源代码,想从它里面学习学习。就当是见见世面,顺便写个笔记。 先从印象到布局 原生闹钟给我的印象非常好,有种说不出的美感。在改工作上的问题时,顺便看它的样式,大致就是一个TabLayout加上四个fragment。 首先是头部的四个图标,是一个嵌在了Toolbar中的TabLayout。Toolbar也是一个ViewGroup,在它的里面放一个其他的控件也是理所当然,只是以前没试过。第一次看到这个写法,感觉非常好。 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@null" app:elevation="0dp"> <