4000-9696-28

Android软件开发主要是学习什么的?从零开始学android编程难?

2019年04月12日 11:36供稿中心:北大青鸟总部

摘要: Android软件开发主要是学习什么的?

近半年来手机的安卓系统与ios系统是目前主流的手机系统,Android软件开发主要是学习什么的?安卓开发的技术很多的,如果想一次性学好是不实际的,但下面这些基础还是要学好的。

5c6330cdce1549b9ac6e8984fbc8db4d.jpg

  1、Activity生命周期

  虽然Android中有四大组件,但是不可否认Activity是最常用的。所以熟练掌握Android的生命周期是必须的。其实生命周期就是记住 Activity的那些方法在什么时候被系统调用,这样才可以把对应的逻辑代码写到合适的方法内部去。

  至于服务和广播组件可以稍微缓一下,到实际使用的时候再学习都可以。
  2、界面开发技术

  界面开发是一种基本的技术,几乎所有的程序里面都需要用到。在Android开发中界面开发分为3种:

  1)使用xml文件布局

  使用xml首先对于界面进行布局,然后在Activity里面进行引用是最常见的应用软件开发技术,这种方式使用的最大,需要学习的内容也最多。学习时需要熟悉:

  a)五种Layout布局

  深刻理解五种布局组织控件的方式是一个基本的基础,这样你才可以在实际的界面中灵活的使用每种布局结构,构造出需要的界面。

  b)常用控件

  控件有很多,至少要知道每种控件是做什么的,至于里面的特定参数和方法可以学要的时候再去查

  c)界面美化

  系统的控件很多时候无法满足要求,需要通过添加背景更换图片等进行美化,要熟悉每种控件如何去美化。

  掌握了上面的内容,通过布局的嵌套就可以制作出各种界面,如果在熟悉include的使用就可以减少xml的重复,方便后期的修改和维护了。

  2)使用代码动态创建

  有些时候需要动态的创建一些布局和控件,这个就需要使用LayoutInflater去创建一些动态的界面了。

  3)自己绘制界面

  游戏中常用,继承SurfaceView自己绘制。

  3、数据存储技术

  Android中的数据存储方式有3种:

  1)SharedPrefereneces存储

  对于简单的数据可以使用该方式存储,以键值对的方式存储一些基本的数据。

  2)文件存储

  将数据以文件的形式存储,可以是手机自身的存储也可以是SD卡,文件的数据格式自己定义。

  3)SQLite数据库存储

  使用标准SQL语句进行操作,复杂数据的首选。
  4、网络编程

  现在的Android程序不需要联网的已经不多了。所以网络编程也是必须的,一般的公司都会封装有自己的联网结构,但是基本的联网还是要熟悉。

  1)HTTP联网

  使用Http联网+Json数据格式是现在很多客户端的首选。

  2)Socket联网

  至于蓝牙等连接方式则可以在项目需要的时候学习。

  对于手机的系统功能,如拨打电话、发送短信、读取系统参数等则可以根据需要在学习,不麻烦的。

  其次,手机软件相关

  Android开发不同于普通的电脑软件开发,需要了解手机的操作习惯,知道手机的屏幕不大、内存有限,电池有限等,在实际开发和设计时尽量考虑。

Android软件开发自学建议

  1、Java基础

  很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:

  a) Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;

  b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。

  2、Linux基础知识

  大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
  3、数据库基础知识

  这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》

  4、网络协议

  至少需要学习两种基础的协议,HTTP协议与Socket协议;

  5、Android基础知识

  有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;

  6、服务器端开发知识

  由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:

  a)Java EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;

  b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;

  c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;

  d)ruby on rails:这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;

  android软件开发学习时,选择哪一种技术,就看大家自己的判断了。

备注:部分内容来源于网络,如有侵权,请联系我删除!

 


关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。