LZ-Says:重拾路,奠基路,加油~!
14年9月,到现在,三个多年头了,从帝都到廊坊,再从廊坊回到帝都,经历了很多,也看淡了很多。
相比技术而言,承担的越来越多,责任也随着年纪逐渐上升,压力的背后,还是需要太多的付出。
曾经刚毕业的自己,感觉自己无所不会,仿佛掌握了全世界~!那傲娇的样子,让我都不知道自己哪儿来的自信~
而今的自己,加入了安卓巴士,跟随着鸡排大大,认识了好多大佬,明白了自己的不足,也更加坚定了自己的内心~!
何况,我是鸡排大大头号弟子,有什么理由能不努力追逐鸡排大大?
看标题,就知道这是一篇很长的系列,似乎自己都在担心自己能不能坚持下去。
有人会问,工作这么久,怎么想起重新看安卓了呢?
其实,还是源于我大哥,鸡排大大。之前只不过简单想着有时间一定要好好系统了解下安卓,但是并没有向如今这么迫切。
在某一个深夜,看着鸡排大大行云流水间bug烟消云散,瞬间感觉到自己的Low,是真的Low!!!不知道从哪儿来的自信瞬间消散在风中,留下的只是苦笑,只是越来越跪服我鸡排大大!!!
况且,家中地上堆积了很多的书籍,正好这段时间静下心好好看看书,从基础看起~
So,而今,正式开启重拾Android路,希望有朝一日可以和我鸡排大大来场技术对决~!!!
enmmm,扯了半天,应该放出我鸡排大大的地址,好让我师弟师妹的队伍愈发壮大!!!(哈哈,希望鸡排大大不要执行家法哦~)
下面正式放出我大哥鸡排大大个人网站地址:
http://www.dajipai.cc/
下面,首先放上一波学习地址:
首当其冲,必须是谷歌Baba的官方文档,虽然读起来难免有些生涩,但是,还是母乳喂养营养好哦~!
PS:排名不分先后~!LZ目前圈子比较窄,还有很多大佬还未了解,见谅~
Android官方地址: https://www.android.com/;
谷歌Baba官方地址: https://developer.android.google.cn/;
郭神: https://blog.csdn.net/guolin_blog/;
鸿洋_: https://blog.csdn.net/lmj623565791;
任主席: https://blog.csdn.net/singwhatiwanna/;
凯哥: http://hukai.me/;
安卓巴士: http://www.apkbus.com/;
技术小黑屋: https://droidyue.com/?utm_source=androidweekly&utm_medium=website;
泡在网上的日子: http://www.jcodecraeer.com/;
掘金: https://juejin.im/welcome/android;
Android 开发技术周报: https://androidweekly.cn/;
玩Android: http://www.wanandroid.com/;
Trinea: http://www.trinea.cn/;
。。。 当然,优秀的牛掰的不仅仅这些,这里简单列举一些~
接下来,我们一起简单的回顾下Android的前世今生,一起跟随历史的脚步,见证Android的辉煌~!!!
至今,最新Android版本为:Android 8.0。官方称之为:奥利奥。
官方标语:
Smarter,faster,and more powerful than ever. 比以往更智能,更快速,更强大~
再来看看我们焕然一新的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系统的开源性,确实导致国内各大厂商拼了命研发自身的系统,例如华为、小米、魅族等,让人无可奈何的MMP的兼容。
嗯,那么下面简述一下关于可以开发Android的语言:
不得不说老牌子,Java,从Web到移动端,让人玩的也是不亦乐乎。可惜那,作,作的谷歌直接推出开发Android的官方语言,也就是下面我们要说的。
嗯,这里还要提一点,Java的语法老旧似乎成为了老程序嫌弃的一个重要因素,MMP呦~
随着甲骨文状告谷歌成功后,谷歌Baba便将Kotlin作为官方开发语言。那么针对于Java,它的优势又在何处?
更安全的,避免NullPointerExceptions;
可读和简洁;
支持Lambda表达式;
通过使用默认参数来减少重载函数的数量。使用命名参数调用函数以使代码更具可读性;
告别 findViewById;
无需继承即可使用扩展功能
100%可与Java互操作;
强大的编译器以及Kotlin的开源性。
那么下面简单列举使用Java和使用Kotlin的代码最直观的区别:
public class MyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
}
}
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity)
}
}
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
...
}
});
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
...
}
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;
}
};
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
}
俩者相比不言而喻~
Flutter是Google用于帮助开发者在 iOS 和 Android 两个平台开发高质量的原生应用的全新移动 UI 框架,说白了啥都能搞,哈哈。
最近Google I/O大会推出,暂时没了解,有兴趣得可以点击下方链接Study。
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始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。
貌似这个家伙,有些限制,貌似针对用户使用的炫彩有些力不从心,而且它没有RN的热更能力。
那么热更又是什么鬼?
这里简单拓展下:
在你使用的Android应用中,你有没有发现,今天打开和明天打开的效果不一样,包括图例,包括版本,今天假如V 1.0.0,明天就变成了V 1.0.1。这样的情况很常见,也就是在用户无感知的情况下完成Bug修补,也类似与补丁包修复。
试想下,我App更新了一个小版本,一个10kb的补丁包和一个10MB的Apk包,你愿意下载哪儿个?
不定时发布博文,欢迎各位老铁关注,希望大家见证我们彼此的成长~!!!
如果觉得不错,可以来一波赞赏~ 谢谢~