谢请!
作为一名IT行业的从业者,同时也是一名教育工作者,我来一下这个问题。
首先,Android开发在学习难度上并不算大,如果具备一定的计算机基础知识,完全可以通过自学来掌握基本的Android开发知识。
从整体的Android开发流程上来看,Android开发涉及到三块技术,第一块是Android客户端开发;第二块是Android服务端开发;第三块是前端开发,主要是进行Android端的管理,这三块开发也涉及到不同的知识结构,在开发团队中往往也需要有多个开发角色进行协调开发。对于初学者来说,要想更好的学习Android开发,同时未来想具有更强的岗位竞争力,那么这三块技术都应该有一定的掌握。
目前Android客户端开发可以采用Java或者是kotlin,由于目前Java的应用范围比较广泛,同时后端开发也经常采用Java开发,所以建议选择学习Java语言。在学习规划上,可以按照以下的学习步骤:
第一:Java基础开发部分。Java基础开发部分涉及到三大块内容,其一是Java的面向对象基本编程语法,重点在于对各种“抽象”的理解,这部分也是学习的难点之一。具体内容包括类、接口、对象、封装、继承、多态、集合、多线程等内容。
第二:JavaWeb开发。JavaWeb开发涉及到前端开发(Html、CSS、JavaScript)、数据库开发(Sql、JDBC)和框架开发(SpringBoot、SpringCloud)三大块内容,这部分内容相对比较多,需要完成大量的实验。
第三:Android开发。Android开发涉及到具体的Android开发细节,这部分内容相对还是比较简单的,涉及到Activity、Fragment、Service、ContentProvider等内容。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!
先说句,现在学安卓如果不是兴趣爱好自己学着写APP玩的建议直接放弃吧,出去找不到工作的。
第二句,楼主说已经有C基础了,了解Java,那么我估计C是看谭浩强学的,这个和没学没什么区别,真正的C和谭浩强书上的基本是两码事。
所以,首先我建议题主先学下Java的基础内容,大致内容:
(必需掌握)1、八大数据类型、Java表达式、Java运算符与优先级
(必需掌握)2、流程控制:if、else、switch、for、while、do while
(必需掌握)3、对象、类、方法、属性、实例、实例化
(必需掌握)4、static、final、作用域
(必需掌握)5、继承与派生
(必需掌握)6、抽象类与接口
(必需掌握)7、异常捕获
(先了解下)8、字节流与字符流
(先了解下)9、文件操作
(先了解下)10、多线程与死锁
然后可以开始学习安卓,大致内容:
(必需掌握)1、开发环境搭建与项目构建
(必需掌握)2、SDK管理与SDK中各个文件作用与工具作用
(必需掌握)3、安卓APP项目结构与各个文件作用
(必需掌握)4、Activity、Application、FragmentActivity、Fragment
(必需掌握)5、生命周期
(必需掌握)6、Layout布局(FrameLayout、LinearLayout、RelativeLayout)与基础组件使用
(必需掌握)7、View与ViewGroup
(必需掌握)8、视图绘制流程与触屏事件传递
(必需掌握)9、动画、帧动画、属性动画、视图动画,动画插值器
(扩展提高)10、安卓HTTP请求(HttpClient、OkHttp、Volley、xUtils随意)
(扩展提高)11、线程、线程池
(扩展提高)12、常用设计模式
这些学完基本开发个小APP没啥问题,出去找工作就别想了,全部学完估计1~3个月吧
感请,作为一个Android开发者,我来说几句吧。
学习Android需要的前置技能是Java,这是万物之本,当然,Kotlin(以下简称kt)也支持Android,但是Kt并不主流,虽然目前发展迅速,但是学习Java后,Kt学习起来就轻松很多了,如果不懂Java,那么你也许可以开发出一款APP,但是绝对对你的Android进阶有阻碍的,你到头来还是要去学习Java。
Java我在这里再强调一次,他是Android开发的基础,所以一定要熟练,熟悉,他对你的进阶帮助很大。切记,切记。
好的,那么我们Java学习完之后就切入本文的主题了,如何更好的学习android开发。
首先我们要了解一些学习Android的基本路线吧:
1.知道Android,Google的因果关系,对Android的发展史以及版本信息,框架设计有一定了解。
2.安装JDK,Android Studio 等开发工具。
3.学习基本的控件及高级UI,如TextView,ImageView,Button,ImageButton,EditText,Switch,CheckBox,RadioButton,SeekBar,TabLayout,ViewPager,WebView,VideoView,ProgressBar,ScrollView,Fragment,ListView,RecyclerView等。
4.学习常用类,如Log,Toast,SnackBar,MediaPlayer,SharedPreferences,Handler等。
5.学习Android的帧动画ScaleAnimation,AlphaAnimation ,RotateAnimation ,TranslateAnimation,AnimationSet 和属性动画ObjectAnimator ,ValueAnimator 。
6.学习四大组件的相关知识如Activity的生命周期,启动模式,广播的静态注册和动态注册,Service和IntentService以及内容提供者ContentProvider。
7.学习Android的网络请求如HttpClient,OkHttp,Retrofit等优秀的网络请求框架。
8.学习通信框架EventBus,Otto,RxBus等。
9.学习数据库sqlite,GreenDao,Realm等。
10.学习Android的图片处理知识包括图片的加载Picasso,Glide,图片的压缩Luban,以及图片缩放PhotoView等框架
11.学习自定义View的相关知识,了解View与ViewGroup的区别以及View的绘制过程,策略模式等。
12.学习Android的版本兼容性问题,比如Android6.0的动态权限,Android7.0的FileProvider,Android8.0的用户隐私后台服务限制等。
13.学习RxJava与RxAndroid,AIDL,JIN,WindowManager等进阶知识
14.学习第三方SDK如多渠道打包,百度地图,极光推送,友盟等平台。
15.最后通过几个实战项目巩固自身
可以所Android的知识很丰富的,你想学习的话,肯定是要花时间去学习才是,吃得苦中苦,方为人上人。
我的西瓜视频中就包含了以上的知识视频,有兴趣的可以去看一下
再附送一个比较完整的Android知识脑图,供大家参考
感谢你的阅读。