重走Android路 之 今日正式启程

LZ-Says:重拾路,奠基路,加油~!

这里写图片描述

前言

14年9月,到现在,三个多年头了,从帝都到廊坊,再从廊坊回到帝都,经历了很多,也看淡了很多。

相比技术而言,承担的越来越多,责任也随着年纪逐渐上升,压力的背后,还是需要太多的付出。

曾经刚毕业的自己,感觉自己无所不会,仿佛掌握了全世界~!那傲娇的样子,让我都不知道自己哪儿来的自信~

而今的自己,加入了安卓巴士,跟随着鸡排大大,认识了好多大佬,明白了自己的不足,也更加坚定了自己的内心~!

何况,我是鸡排大大头号弟子,有什么理由能不努力追逐鸡排大大?

本系列初衷

看标题,就知道这是一篇很长的系列,似乎自己都在担心自己能不能坚持下去。

有人会问,工作这么久,怎么想起重新看安卓了呢?

其实,还是源于我大哥,鸡排大大。之前只不过简单想着有时间一定要好好系统了解下安卓,但是并没有向如今这么迫切。

在某一个深夜,看着鸡排大大行云流水间bug烟消云散,瞬间感觉到自己的Low,是真的Low!!!不知道从哪儿来的自信瞬间消散在风中,留下的只是苦笑,只是越来越跪服我鸡排大大!!!

况且,家中地上堆积了很多的书籍,正好这段时间静下心好好看看书,从基础看起~

So,而今,正式开启重拾Android路,希望有朝一日可以和我鸡排大大来场技术对决~!!!

enmmm,扯了半天,应该放出我鸡排大大的地址,好让我师弟师妹的队伍愈发壮大!!!(哈哈,希望鸡排大大不要执行家法哦~)

这里写图片描述

下面正式放出我大哥鸡排大大个人网站地址:

http://www.dajipai.cc/

下面,首先放上一波学习地址:

Android Study资料

首当其冲,必须是谷歌Baba的官方文档,虽然读起来难免有些生涩,但是,还是母乳喂养营养好哦~!

PS:排名不分先后~!LZ目前圈子比较窄,还有很多大佬还未了解,见谅~

本系列脑图

这里写图片描述

接下来,我们一起简单的回顾下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
}

俩者相比不言而喻~

Futter

Flutter是Google用于帮助开发者在 iOS 和 Android 两个平台开发高质量的原生应用的全新移动 UI 框架,说白了啥都能搞,哈哈。

最近Google I/O大会推出,暂时没了解,有兴趣得可以点击下方链接Study。

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包,你愿意下载哪儿个?

参考资料

  1. 薇薇 的 不错的博客和工具网站:https://www.jianshu.com/p/b35694e7b0d1
  2. 百度百科对于Android介绍:https://baike.baidu.com/item/Android/60243?fr=aladdin
  3. Kotlin官方介绍:https://developer.android.google.cn/kotlin/
  4. React官方地址:https://reactjs.org/
  5. React Native中文网:https://reactnative.cn/
  6. Xamarin官方中文文档:https://docs.microsoft.com/zh-cn/xamarin/
  7. Flutter官方地址:https://flutter.io/

个人公众号

不定时发布博文,欢迎各位老铁关注,希望大家见证我们彼此的成长~!!!

这里写图片描述

赞赏

如果觉得不错,可以来一波赞赏~ 谢谢~

这里写图片描述

HLQ_Struggle CSDN认证博客专家 Android Flutter 伪前端
一枚96年Android鼠,热衷分享个人笔记,希望帮助一些小伙伴。目前除了Android老本行,涉猎Flutter、伪前端等,欢迎一起交流学习~
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:设计师小姐姐 返回首页