RWebRTC

Results 19 issues of RWebRTC

修复当最外层布局不够大时,波纹不是从中间开始扩散的 bug

1. The "Trending" tab in explore is not the same as [GitHub Trending](https://github.com/trending) and not change for a few days. 2. In The list, I will see the different if...

### 转载自 [枫寒 - 简书](http://www.jianshu.com/users/ac4e3d0f6a81/latest_articles),略作修改。本文包含三个部分:**综述 Android 系统启动**,**Android 的 init 进程启动过程**,**Zygote 的启动过程**。 ### 正文 # Android 系统启动 对于Android系统整个启动过程来说,基本可以划分成三个阶段:Bootloader 引导、Linux kernel 启动、Android 启动。如下的流程图可以看出三个阶段的执行顺序和联系(一张图看不懂就看三张图)。 ![112356615](https://cloud.githubusercontent.com/assets/21374839/20380308/35924eaa-acdc-11e6-9006-30d561fcf22f.jpg) ![112356709](https://cloud.githubusercontent.com/assets/21374839/20380307/3591c4d0-acdc-11e6-9177-34a563337b36.png) ![2848265-3](https://cloud.githubusercontent.com/assets/21374839/20346255/0c78c6b2-ac36-11e6-9472-2c350b89f817.png) [原图](https://cloud.githubusercontent.com/assets/21374839/20430762/3797d706-add1-11e6-97e9-1d61add0dbc2.png) ![naotu baidu com_file_215b19ae3f2187344a484be8a67a4e82 token e5be85bce42717c0](https://cloud.githubusercontent.com/assets/21374839/20430762/3797d706-add1-11e6-97e9-1d61add0dbc2.png)...

Blog
TextBlog

## 原文 ``` https://tech.appear.in/2015/05/25/Introduction-to-WebRTC-on-Android/ ``` ## 翻译 WebRTC被称为开源网络发展的又一大里程碑,被看作为近些年对Web标准的最重要的创新。WebRTC允许开发者在网页应用中添加音视频,并且折不需要复杂的代码和昂贵的其他的基础设备。现在有Chrome、Firfox和Opera都已经支持了WebRTC,并将有更多的浏览器也将会支持,数十亿的设备已经支持了。 然而,WebRTC也被称为城市神话(很多人都相信但实际上并不真实的故事):WebRTC仅仅可以应用在浏览器上。事实上,WebRTC最重要的一个特征是它允许nativ和web app之间的互操作(跨平台)的。很少有人利用这一个特征优势。 这篇Blog将介绍给你如何在你的Android应用中集成WebRTC,使用了WebRTC提供的本地库,提供者:[WebRTC Initiative](http://www.webrtc.org/)。我们不会强调通过signalling建立连接,而是强调Android和浏览器间的相似和差异。正如你将看到的,将包含一些连接到Web的APIs,如果你想看到更多的基本的关于WebRTC的介绍,请看:[Sam Dutton’s Getting started with WebRTC](http://www.html5rocks.com/en/tutorials/webrtc/basics/)。 ## 在你的项目中添加WebRTC的库 ``` 以下内容使用WebRTC库中的9127版本。 ``` 第一件事是添加WebRTC库到你的项目中。你可以自己[编译](http://www.webrtc.org/native-code/android)这个库,但是相信我,如果可以的话,避免自己编译。相反,使用[中央厂库](https://oss.sonatype.org/content/groups/public/io/pristine/)中已经编译好的文件。 为了在你的项目中添加这个文件,需要这样写依赖: ``` compile 'io.pristine:libjingle:9127@aar' ``` 同步你的项目,你已经拥有了可以使用的库文件了! ###...

Blog
TextBlog

## 原文 ``` http://www.html5rocks.com/en/tutorials/webrtc/basics/ ``` ## 翻译 ``` WebRTC技术是激烈的开放的Web战争中一大突破。-Brendan Eich, inventor of JavaScript ``` ### 无插件实时通信 想象一下手机、TV和电脑都通过统一平台进行沟通。试想一下,很容易的在你的网站中添加视频聊天和P2P数据分享。这是WebRTC技术的愿景。 想试一试吗?WebRTC在Chrome、Opera和Firefox中就可以使用。在apprtc.appspot.com中可以试一试这些例子: 1. 在Chrome、Opera或Firefox中打开apprtc.appspot.com。 2. 点击允许按钮让这个应用使用你的摄像头(Web应用程序)。 3. 在一个新的标签页中打开底部的URL,最好在另外的电脑上打开。 在这篇[文章](http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-simple)中有一个这个应用的例子。 ### 快速开始 没有时间阅读这篇文章,或者只想尽快写代码? 1. 看一看关于Google...

Blog
TextBlog

## 前言 本想用这篇文章在[Coding](https://coding.net/)上挣两个码币,可是失败了,好了,那就写在这里,错误之处欢迎指出,在下不胜感激。 ## 正文 [WebRTC](https://webrtc.org/) 的全称为 Web Real-Time Communication,是一个由 Google 主导的通信协议和编程接口。Web 浏览器可以从计算机硬件获取视频或音频信息,也可以通过从其他用户浏览器获取实时数据,即可以实现视频或音频的通信。这项技术是 2010 年 Google 以 6820 万美元收购了 Global IP Solutions 公司,2011 年却将其开源了(也只有 Google 能干出这事),2013 年在 Google IO 大会上推广。由于...

Blog
TextBlog

## 前言 这周要发版本,没问题,由于工作量太大,加上自己效率不足以轻松完成此工作,那就只能加班了,当然,不是我自己,是我们的小 Boss、Team 成员和两个测试。一直弄到了凌晨三点半,有点累。明天是周六,或者说今天是周六,一会就需要去找我的女神去了,这一天见到她肯定可开心,那就回家睡两个小时然后去吧。可是问题是到家里开不开门了,被室友反锁了,这防盗意识还是很不错的,不过我怎么进去呀!门铃也没什么反应。席地而坐,用电脑连 WiFi 写点这周工作的一点关于程序员的一点思考吧。 ## 正文 ### 怎么去考虑将要做的功能? 什么意思?根据用户使用习惯、大量用户数据的使用习惯分析,加上产品经理对产品的定义,会出来用户需求。这个需求指的是用户痛点,该应用就应该去思考怎么去满足用户的这些痛点,交给 UI 进行设计和开发进行程序实现。其实这个时候就会出现一个问题。 > **这个需求是不是真的满足了用户的需求,这个需求会不会变,这个需求以后会怎么进行版本迭代,会怎么改!** 哇,这个问题好难!我其实不是很关心这个需求对用户的帮助,而是更关心以后会怎么变,现在写的代码如何去适应这种变化。老实说,其实现在写代码之前,比较少的去考虑这些,也没有特别多的设计,这也导致了一个问题,日后改起来真的会让人抓狂,根本不清楚自己曾经写过什么,当时的一些做法也完全弄不懂是为什么要这么干,程序能大致按照预期去执行已经很不错了,更多的情况是不能很好的执行。 这是问题呀!我大学学的专业是:软件工程。软件工程和计算机科学与技术最大的不同也体现在软件工程专业把很多的关注点和精力放在了如何让项目正常推进,如何去保证项目稳定安全的发布出去,如何保证不会延期,如何保证代码质量。这不是靠程序猿的自我修养,这是要去思考要去想办法达到的目标的。这里会有好多的问题。之所以说到这个问题,是因为现在的代码已经完全乱掉了,维护起来已经比较吃力了,各种奇奇怪怪的逻辑已经让程序变得复杂,不同的代码规范已经让程序没有人能完全适应,对于程序中的很多耦合关系已经成为互相关联的关系网,动其中任何一个角都有可能打破这个脆弱的平衡。用一句话形容: > **Bug 与事件起飞,状态影响共长天一色** 这样的代码会导致有很多问题被隐藏其中,当某一天从一个点爆发出来,就可能如洪水泛滥一发不可收拾!当然了,比较幸运的一点是我们现在需要做的仅仅是一个应用,不是一个庞大的系统,并且在一个可预见的未来,这个项目规模并不会爆发式增长,并且写代码的人都还在!还可以维持这个状态,还可以让这种状态继续下去,维护这个项目的程序猿需要有更多的耐心和细心,当处理一些问题时,注意尽量找出各方面的关联吧! 如果有一天能重构代码,真的有那么简单吗?未必,保持现在的这样一个状态,维持到这个项目结束可能更是一个好的选择。 话说回来,为什么这个项目中用到了那么多的事件(EventBus),我们都知道这个东西很方便,确实呀,的确好用。我们也知道这个东西会随着时间的发展逐渐造成项目的难以维护,没办法,有好必有弊嘛,问题是我们没有很好的在这些好处和弊端中进行一个很好的折中,导致了很多的滥用。甚至有的时候还有一种既然这个地方都已经这么做了,那干脆就这么干吧这样的一种心态。这个问题需要再考虑考虑吧。 最后想写一点的就是在开始写代码的时候,仔细去考虑考虑,也许用五分钟考虑好了之后,这个问题就会变得豁然开朗,不禁大叫:“我靠,代码还可以这么写,太漂亮了!” ## 最后 希望这个项目能好起来,有时间或做到什么地方就逐渐想办法让代码变得更好吧! 20170826 早

Blog
TextBlog

计划到2024年,在GitHub上创建一个个人站点,创建几个项目。其中个人站点包含一个个人博客,文章技术为主,当然也包括非技术类文章,记录总结我觉得应该记录的,算给自己一个交代。 ### 网站地图 技术博客:http://renyuzhuo.cn/blog GitHub客户端:http://renyuzhuo.cn/rgithub ### 感谢 感谢我的父母!感谢我的家人! 感谢曾帮助过我的所有朋友们! 感谢曾帮助过我的所有老师们! ### Email [RWebRTC](mailto:[email protected]) ### LICENSE [MIT](http://renyuzhuo.cn/MIT)

Others

# 创建型模式 ## 简单工厂模式 客户端不关心对象创建,传入有限参数就可以创建某些对象,在不更新客户端代码情况下调整对象的创建策略。但是如果工厂出错,所有客户端都受影响。 ``` public abstract class Child { abstract void say(); } public class Child1 extends Child { private final String name; Child1(String name) { this.name =...

Blog

# RViewer A library to check the data saved by [ObjectBox](https://github.com/greenrobot/ObjectBox). 打开、查看 ObjectBox 存储的 data.mdb 文件。 ## Getting started In your `build.gradle`: ```gradle dependencies { debugCompile 'cn.renyuzhuo.rviewer:rviewer:1.0.2' releaseCompile 'cn.renyuzhuo.rviewer:rviewer-no-op:1.0.2' }...

Blog