十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
近半年来,手机的安卓系统与ios系统是目前主流的手机系统,Android软件开发主要是学习什么的?IT培训发现安卓开发的技术很多的,如果想一次性学好是不实际的,但下面这些基础还是要学好的。
创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10余年时间我们累计服务了上千家以及全国政企客户,如成都软装设计等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞扬。
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 studio
01
从网上下载并安装Android Studio然后打开它。现在,你准备好开始你的第一个Android应用程序!
首先是这个android项目的项目名,在这里进行输入即可
注意,这里我们使用的android studio的版本为2.2
一直下一步,等待一定的时间,这取决于你机器的配置,android studio最为谷歌官方唯一指定的android项目开发ide,具有超高度的功能集合性,同时后面我们会看到android studio采用和eclipse不同的编译方式,即Gradle编译,以及采用云资源模式(服务器全在海外,部分功能需要翻墙才能使用,醉了),所以,不要对其卡慢抱有不满情绪.
02
选择对应的android sdk版本,android像ios一样,也有很多分类版本了,从低到高,还有像android wear(手表), android TV(电视),android auto(车载)等各种版本,选择你要将这个项目跑到什么设备上边去,以及系统的版本,这里我们选择android手机项目,版本可以选择4.0,目前4.0基本就是最低版本,当然微信,qq,支付宝之类的都是一直支持到2.3版本的
03
这里是android项目的布局文件,目前因为我们这个项目只有一个主窗口,这个布局文件就是属于主窗口的,这里记录的这个窗口中有哪些控件,以及这些控件的位置和排列模式,像TextView就是一个文本控件,而RelativeLayout则是布局控件,用于控制控件的布局。
04
这就是穿着中的gradle编译的编译配置文件了,里面包含了编译中的各种配置选项,对于从eclipse中转过来的人来说,要搞懂这里的各种配置可是要费不少脑子的哈!
05
这是android项目的清单文件,这里包含了这个应用程序的图标设置,以及activity等,activity是android四大组件之一,可以直观理解为我们看到的一个个的窗体,凡是需要显示出来的activity,都需要在这里注册写明
06
这里是窗口的java主类,android的主要编程语言是java语言,当然也有支持c++编程的ndk,以及现在很火的前端脚本编写android项目的方法,这个类表示主窗口,OnCreat()方法会在这个界面被启动的时候执行。
07
点击这里即可运行这个由系统为我们编写好android项目了,没错,这已经是一个完成的android项目,只是比较简单而已,但主要部件都不少。
08
我们启动的应用就是跑在这里的模拟器当中的,我们可以创建自己的模拟器,自由的对模拟器的配置进行自定义,包括模拟器的系统版本
09
完美,我们的第一个应用程序已经跑起来了,虽然只是显示了一个Hello World文本,不过怎们样都算完成了一个android应用程序,后续只要对其进行打包签名,混淆加密后即可发布到应用市场供别人下载使用.
转自:
本文针对android studio工具下的ndk开发。
build目录就是项目模块构建过程和结果使用到的位置。
项目根目录下有一个build目录。
项目根目录下各模块子目录下各自有一个build目录。
build目录下一般由4个子目录组成:
generated由aapt工具根据资源数据自动生成的java类
intermediates中间过程
outputs输出结果
tmp编译日志
根目录下的build目录,这个build服务于整个项目,在本文中称其做项目build,以区分模块build。
项目build一般只有generated和intermediates两个子目录,用于生成这个项目的buildTools。
generated目录会生成一个mockable-android-${buildToolsVersion}.jar。
intermediates目录根据需要生成dex-cache,这个目录下的xml文件配置jar包在编译过程中如何缓冲使用。
模块build目录在make module ${MOD_NAME}后就会生成4个子目录。
我们来看intermediates目录,中间生成和编译过程使用到的目录。
这个目录下有这么几个比较关心的子目录:
binaries NDK,生成c++连接库
bundles 模块链接到的自定义jar包和各abi版本的c++链接库都捆绑在这里
classes模块中生成的自定义java类
exploded-aar 由aar包解压出来的资源,jar包和so链接文件等。用于本模块的链接和集成。
jniLibs 在build.grade中你指定的jniLibs目录整个拷贝。模块链接到的库文件会被捆到bundles目录。
objectFiles NDK,生成c++中间对象(.o)文件。
transforms 根据你当前选择的productFlavor和其包含的abiFilter,从bundles和binaries取出链接库。
接着就是output目录:
aar如果模块是android library
jar 如果模块是java library
apk 如果是Activity应用程序
最后就是tmp目录:
compile$(NDK_Module)$(ABI)$(BUILD_TYPE)$(PRODUCT_FLAVOR)MainCpp ndk编译日志
link$(NDK_Module)$(ABI)$(BUILD_TYPE)$(PRODUCT_FLAVOR)$(LIB_TYPE) ndk链接日志
编译的子目录由三要素组合而成,分别是
BUILD_TYPE := debug|release
ProductFlavor := 你在gradle文件中创建的flavor
abiFilter :=
逆向深入objc,c++ windows下仿objc动画层UI引擎