前言
14年9月,到现在,三个多年头了,从帝都到廊坊,再从廊坊回到帝都,经历了很多,也看淡了很多。
相比技术而言,承担的越来越多,责任也随着年纪逐渐上升,压力的背后,还是需要太多的付出。
曾经刚毕业的自己,感觉自己无所不会,仿佛掌握了全世界~!那傲娇的样子,让我都不知道自己哪儿来的自信~
而今的自己,加入了安卓巴士,跟随着鸡排大大,认识了好多大佬,明白了自己的不足,也更加坚定了自己的内心~!
何况,我是鸡排大大头号弟子,有什么理由能不努力追逐鸡排大大?
本系列初衷
看标题,就知道这是一篇很长的系列,似乎自己都在担心自己能不能坚持下去。
有人会问,工作这么久,怎么想起重新看安卓了呢?
其实,还是源于我大哥,鸡排大大。之前只不过简单想着有时间一定要好好系统了解下安卓,但是并没有向如今这么迫切。
在某一个深夜,看着鸡排大大行云流水间bug烟消云散,瞬间感觉到自己的Low,是真的Low!!!不知道从哪儿来的自信瞬间消散在风中,留下的只是苦笑,只是越来越跪服我鸡排大大!!!
So,而今,正式开启重拾Android路,希望有朝一日可以和我鸡排大大来场技术对决~!!!
enmmm,扯了半天,应该放出我鸡排大大的地址,好让我师弟师妹的队伍愈发壮大!!!(哈哈,希望鸡排大大不要执行家法哦~)
下面正式放出我大哥鸡排大大个人网站地址:
下面,首先放上一波学习地址:
Android Study资料
首当其冲,必须是谷歌Baba的官方文档,虽然读起来难免有些生涩,但是,还是母乳喂养营养好哦~!
PS:排名不分先后~!LZ目前圈子比较窄,还有很多大佬还未了解,见谅~
Android官方地址: https://www.android.com/;
谷歌Baba官方地址: https://developer.android.google.cn/;
凯哥: http://hukai.me/;
安卓巴士: http://www.apkbus.com/;
技术小黑屋: https://droidyue.com/?utm_source=androidweekly&utm_medium=website;
泡在网上的日子: http://www.jcodecraeer.com/;
Android 开发技术周报: https://androidweekly.cn/;
玩Android: http://www.wanandroid.com/;
Trinea: http://www.trinea.cn/;
。。。 当然,优秀的牛掰的不仅仅这些,这里简单列举一些~
本系列脑图
接下来,我们一起简单的回顾下Android的前世今生,一起跟随历史的脚步,见证Android的辉煌~!!!
Android的前世今生
至今,最新Android版本为:Android 8.0。官方称之为:奥利奥。
官方标语:
Smarter,faster,and more powerful than ever. 比以往更智能,更快速,更强大~
再来看看我们焕然一新的Android“吉祥物”:
同样,今年也是谷歌的第一个十年!!!
来吧,调整好状态,一起回顾谷歌Android十年历史~ 缅怀!感谢~!!!
Android 历史回顾
2008年,在GoogleI/O大会上,谷歌提出了Android HAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,同年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。(初出茅庐)
2009年4月,谷歌正式推出了Android 1.5这款手机,从Android 1.5版本开始,谷歌开始将Android的版本以甜品的名字命名,Android 1.5命名为Cupcake(纸杯蛋糕)。该系统与Android 1.0相比有了很大的改进。(技能提升)
2009年9月份,谷歌发布了Android 1.6的正式版,并且推出了搭载Android 1.6正式版的手机HTC Hero(G3),凭借着出色的外观设计以及全新的Android 1.6操作系统,HTC Hero(G3)成为当时全球最受欢迎的手机。Android 1.6也有一个有趣的甜品名称,它被称为Donut(甜甜圈)。(初露锋芒)
2010年2月份,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去,从此,Android与Linux开发主流将分道扬镳。在同年5月份,谷歌正式发布了Android 2.2操作系统。谷歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶。(有人眼红咯)
2010年10月份,谷歌宣布Android系统达到了第一个里程碑,即电子市场上获得官方数字认证的Android应用数量已经达到了10万个,Android系统的应用增长非常迅速。在2010年12月,谷歌正式发布了Android 2.3操作系统Gingerbread (姜饼)。(迅速增长)
2011年8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一。(终结老霸主)
2011年9月份,Android系统的应用数目已经达到了48万,而在智能手机市场,Android系统的占有率已经达到了43%。继续在排在移动操作系统首位。谷歌将会发布全新的Android 4.0操作系统,这款系统被谷歌命名为Ice Cream Sandwich(冰激凌三明治)。(潜心修炼)
2013年11月1日,Android4.4正式发布。
从具体功能上讲,Android4.4提供了各种实用小功能,新的Android系统更智能,添加更多的Emoji表情图案,UI的改进也更现代,如全新的HelloiOS7半透明效果。(重大版本)2014年10月15日,正式发布Android 5.0 Lollipop(棒棒糖)。
而此时的Android 5.0 系统使用一种新的Material Design设计风格。2015年5月28日,发布Android 6.0 Marshmallow(棉花糖)。
新系统的整体设计风格依然保持扁平化的MeterialDesign风格。Android6.0在对软件体验与运行性能上进行了大幅度的优化。据测试,Android6.0可使设备续航时间提升30%。同样,也为我们带来了运行时(动态)权限申请,真是让人好一阵揪心。2016年8月22日,发布Android 7.0 Nougat(牛轧糖)。
为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问(0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。2017 年 8 月 21 日,发布Android 8.0 Oreo (奥利奥)。
限制未在前台运行的应用的某些行为,并且还对系统和 API 行为做出了各种变更。
直到今天,LZ经历了当年酷炫黑时间,运行卡顿,直到今天Android越来越强大,真是内心由衷的爽的一批~!!!
上面说了这么说,那么可以开发安卓的语言有哪儿些呢?
开发Android的语言
既然上面说到有哪儿些?那肯定也不止一种,那么由于Android系统的开源性,确实导致国内各大厂商拼了命研发自身的系统,例如华为、小米、魅族等,让人无可奈何的MMP的兼容。
嗯,那么下面简述一下关于可以开发Android的语言:
Java
不得不说老牌子,Java,从Web到移动端,让人玩的也是不亦乐乎。可惜那,作,作的谷歌直接推出开发Android的官方语言,也就是下面我们要说的。
嗯,这里还要提一点,Java的语法老旧似乎成为了老程序嫌弃的一个重要因素,MMP呦~
Kotlin
随着甲骨文状告谷歌成功后,谷歌Baba便将Kotlin作为官方开发语言。那么针对于Java,它的优势又在何处?
更安全的,避免NullPointerExceptions;
可读和简洁;
支持Lambda表达式;
通过使用默认参数来减少重载函数的数量。使用命名参数调用函数以使代码更具可读性;
告别 findViewById;
无需继承即可使用扩展功能
100%可与Java互操作;
强大的编译器以及Kotlin的开源性。
那么下面简单列举使用Java和使用Kotlin的代码最直观的区别:
Java定义Activity
public class MyActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); } }
Kotlin定义Activity
class MyActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity) } }
Java关于事件处理
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ... } });
Kotlin关于事件处理
val fab = findViewById(R.id.fab) as FloatingActionButton fab.setOnClickListener { ... }
Java对于Item点击事件
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.navigation_home: mTextMessage.setText(R.string.title_home); return true; case R.id.navigation_dashboard: mTextMessage.setText(R.string.title_dashboard); return true; } return false; } };
Kotlin对于item点击事件
private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item -> when (item.itemId) { R.id.navigation_home -> { mTextMessage.setText(R.string.title_home) return@OnNavigationItemSelectedListener true } R.id.navigation_dashboard -> { mTextMessage.setText(R.string.title_dashboard) return@OnNavigationItemSelectedListener true } } false}
俩者相比不言而喻~
React Native
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是使用JavaScript和React构建原生移动应用程序。
React Native优势:
React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere)
Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native,未来还是比较期待的。貌似目前支持Android端和IOS端,就问你牛逼不牛逼?
不过,学的有一定的难点系数~!!!
Xamarin
Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。
貌似这个家伙,有些限制,貌似针对用户使用的炫彩有些力不从心,而且它没有RN的热更能力。
那么热更又是什么鬼?
这里简单拓展下:
在你使用的Android应用中,你有没有发现,今天打开和明天打开的效果不一样,包括图例,包括版本,今天假如V 1.0.0,明天就变成了V 1.0.1。这样的情况很常见,也就是在用户无感知的情况下完成Bug修补,也类似与补丁包修复。
试想下,我App更新了一个小版本,一个10kb的补丁包和一个10MB的Apk包,你愿意下载哪儿个?
参考资料
薇薇 的 不错的博客和工具网站:https://www.jianshu.com/p/b35694e7b0d1;
百度百科对于Android介绍:https://baike.baidu.com/item/Android/60243?fr=aladdin;
Kotlin官方介绍:https://developer.android.google.cn/kotlin/;
React官方地址:https://reactjs.org/;
React Native中文网:https://reactnative.cn/;
Xamarin官方中文文档:https://docs.microsoft.com/zh-cn/xamarin/;
共同学习,写下你的评论
评论加载中...
作者其他优质文章