2019 我的 Android 路要怎么走?——未来的路,送给正在迷茫的你!

 

前言

很多做 android 开发的同学都想多快好省,现实是真的是这样吗,借着前人的经验,我们的目标可以更加清晰,可以计划划分阶段去学习,但是学习的路是不会变的,别人会遇到什么我们也会遇到什么,别人躺过的坑我们一样得趟。

接着这里,我想表达我们对 android 学习之路的理解,也分享我收集到的前人经验,让前路不再晦暗,让脚下的路笔直一些,仅此而已~

继续吐槽,分享下自己关于如何学习的想法

我想看我文章的至少都是有1年开发经验以上的了,至少都是熟练的初级 coder 了吧,在这个阶段甚至之后的几个阶段,android 的 coder 们内心其实都是惶恐焦虑的,一是大环境没有以前热了,找工作的难度提升了,对 coder 们的要求也是节节攀升;二是 coder 们在学习过程中发现了大量的知识点和面,这些东西实在太多了,看了 A 会勾连出 BCDEF,这里面又涉及到大量的 java 等其他知识点,都是比较难搞,耗时的。

种种以上让大家变得不再自信了,加之环境趋紧,所以焦虑由此产生。大家也不必太过因此而焦虑,焦虑了也没有啊,这些东西迟早都是我们的菜,都得学,都得趟过去,当然越早趟过去越好

这里面就涉及到如何学习的问题了,会学习的 coder 效率会很高,学的会比较透,记得会比较牢,并且还会记录相关的技术博客,所以学过了基本就不用再重复了

我们在学习哪些没有吸收的知识点时,基本都是遵循以下原则:

  • 学习「自己知道自己不会」的知识
  • 全方位的学习,构建自己的「知识体系」
  • 学习「自己不知道自己不会」的知识

我推荐的学习思路

学会记录未知

平时注意记录那些没听过,不了解的点,有链接的要记下链接,然后根据自己的理解分类,分出优先级,难易度,这样你时刻都能对自己有个清晰的认识,我们手头不会的有多少,会了对少了,想看的时候可以马上找出相关资料

学会挑选自己能学会的

知识点是无限的,不管我们水平有多高,可以学的总是有的是,那么我们学什么呢?那当然是学那些我们觉得能自己看懂,可以学会,在工作中用的近,用的上的东西啦,切记去学习自己完全看不懂的知识点,学了也是白学。如果这个知识点你是一点都看不懂,那说明相关的基础知识你完全空白,要从头从基础知识看起,这好比技能树,你还没点出来呢!对于那些有一半看不懂的知识点,同样也说明你缺乏相关的基础知识,想要学也得从基础知识走起,但是相对难度就低很多了

学会成体系的去学习知识点

一般大家都知道,大一点的知识点都有很多小的,相互联系的知识点构成,我们知道的,不知道的,总之肯定有一些或很多,那么我们碰到一个陌生的知识点该怎么去学习呢?我建议先去 google,百度,简书,掘金各大平台上搜索这个知识点的关键字,然后粗看下几十篇或一定数量的文章,梳理下该知识点下面牵连有多少小的知识点,然后自己记下来,整理分类写出概述性的文章,然后先从简单的开始,按牵连顺序一个个的学,这样才能有效的做到成体系的学习。要不东看一榔头,西看一斧子,到头来时间也是花的不少,大家多半还是有很多漏下的,心里也是感觉没彻底学通透的样子,现在的开发知识都是成体系的,我们去学习时也必须成体系才能有效率。

这里我放一张我自己整理出来的Android学习知识体系,大家可以参考一下:

 

学会如何有效的保存学习心得

这是承接上面那条的,某个小的

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要创建一个继承自AppWidgetProvider的类,这个类将会是我们的桌面部件的控制器。 ```java public class PersonWidget extends AppWidgetProvider { } ``` 接下来,在这个类中,我们需要重写一些方法,以便在桌面部件生命周期的不同阶段进行相应的操作。其中最重要的是onUpdate()方法,它会在桌面部件被添加到桌面时被调用,以及在每次更新周期时被调用。 ```java public class PersonWidget extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 在这里更新桌面部件的UI } @Override public void onDeleted(Context context, int[] appWidgetIds) { // 当桌面部件被删除时调用 } @Override public void onEnabled(Context context) { // 当第一个桌面部件被添加到桌面时调用 } @Override public void onDisabled(Context context) { // 当所有的桌面部件都被删除时调用 } } ``` 现在我们需要在 onUpdate() 方法中更新我们的桌面部件的UI。我们可以使用RemoteViews类来构建我们的UI。 ```java public class PersonWidget extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 遍历所有的桌面部件实例 for (int appWidgetId : appWidgetIds) { // 创建RemoteViews对象用于更新UI RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_person); // 更新UI views.setTextViewText(R.id.widget_name, "John Doe"); views.setTextViewText(R.id.widget_age, "30"); // 更新桌面部件 appWidgetManager.updateAppWidget(appWidgetId, views); } } @Override public void onDeleted(Context context, int[] appWidgetIds) { // 当桌面部件被删除时调用 } @Override public void onEnabled(Context context) { // 当第一个桌面部件被添加到桌面时调用 } @Override public void onDisabled(Context context) { // 当所有的桌面部件都被删除时调用 } } ``` 最后,我们需要在AndroidManifest.xml文件中声明我们的桌面部件。 ```xml <receiver android:name=".PersonWidget" android:label="@string/app_name"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/person_widget_info" /> </receiver> ``` 其中,@xml/person_widget_info是我们桌面部件的配置文件,它包含了桌面部件的一些基本信息,例如布局文件和更新周期等。 至此,我们的桌面部件就完成了。我们可以在布局文件中定义我们的UI,然后在 onUpdate() 方法中使用 RemoteViews 类来更新 UI。最后,在 AndroidManifest.xml 文件中声明我们的桌面部件即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值