小白带你学安卓——初识android

作为一名大三的学生,之前简单地接触过android,但不是特别深入,随着时间的推移,发现自己也对android很感兴趣。之前也看过很多大牛们在这里写博客,昨天自己突发奇想,将自己的知识点以博客的形式进行整理和分享,欢迎大家进行批评。同时,也希望在CSDN中看博客的小白可以跟着我一起学习,共同进步。
谷歌已经使用了Kotlin来替代Java作为安卓开发的第一语言。但是由于我之前就是学java出来的,在这里还是使用java进行对安卓的学习。(kotlin对java百分百兼容,所以我认为两者并没有太大的区别)那么,接下来,就要进入今天的第一次的android内容了。
在前期的学习当中呢,我使用的ec对安卓进行编译(由于电脑比较卡,可能使用as会崩掉),所以还请谅解(不过渡过前期的学习后,我应该也会去体验一下as的强大之处)。

第一个问题,什么是安卓?

我这里给出的答案相当简单啦: 基于Linux的开源手机操作系统。
是不是感觉短小精悍!如果非要再加一句的话,应该是:谷歌造的, 基于Linux的开源手机操作系统。ok,不要去纠结于概念问题,让我们往下走。

第二个问题,安卓的体系架构。

(这个我在网上也看到过很多,但是还没有记住,很多人说这里可能是一道面试题,对于还没有找工作的我来说,我就暂且相信了吧)下面看一张图片,学安卓的人肯定都会在前期看到过这张图片啦!
android体系架构

是不是感觉很眼熟呢,那么接下来我就用大家最讨厌的概念性的文本对其进行一定字数的描述(从下往上):
I.Linux内核层(提供作为电子设备最最基本的功能,比如电源的管理,蓝牙驱动,wifi驱动...)
II.程序库   程序库里面的东西很多都是c或者c++写的,集成了很多第三方的优秀的库
   运行时    ---核心库(包含对java的支撑)
            ---虚拟机(Dalvik)   不能直接运行class文件,必须通过dx的工具,将class文件打包成以.dex为后缀的文件再执行
             ---Android4.4开始     ART模式  是Android Runtime的简称。

             Dalvik和ART区别?
             Dalvik:在执行的时候编译再运行     安装比较快,开启应用时就比较慢,应用占用的空间小
             ART:在安装的时候就编译好 ,执行的时候就直接运行     安装时候比较慢,开启应用时快,占用的空间大
III.应用框架层   提供给应用程序编程接口
IV.应用程    包含系统自带的应用以及我们自己开发的应用

第三个问题, Android的第一个程序——HelloWorld

(对于安卓环境的搭建什么的,大家直接可以百度一下啦,我也是百度配出来的,在这里怕自己的理解误导了大家,但是一定要动起手来哦,自己去配置了才行,否则Android程序是跑不起来的)

首先打开EC,新建一个安卓工程。名字起的话,就叫HelloWorld吧,大家对名字命名法应该都很了解了吧,一般来说,都是使用驼峰命名法。(具体什么名字我忘了,周围的人都这样叫,我也这样叫了)
在res—>layout文件夹下,可以看到一个main.xml文件,里面有一个TextView。将它的属性android:text的值改为:android:text="Hello World!"。之后,启动模拟器,运行程序,你将在模拟器的界面上看到Hello world!
在这里呢,强调一下Android中的不经常用的知识:
1.ADB命令
  ADB:Android Debug Bridge 安卓调试桥
  adb devices:查询当前连接到电脑的设备
  adb push:上传文件到设备
  adb pull:从设备上取文件下来
  adb install xxx.apk:安装一个应用程序
  adb uninstall 包名(应用程序的唯一标识)   :卸载一个应用程序
  adb kill-server:关闭设备与电脑之间socket连接
  adb start-server:打开socket连接
  adb logcat:查看设备上的日志
2.Android碎片化问题?
  a.版本碎片化
    兼容主流设备(Android4.0   API15以上的设备)
  b.屏幕碎片化
    适配兼容主流设备

那我第一次的博客内容也就写完了,可能忽略了很多东西,我只是把需要掌握的知识点写了一下,第一次整理知识点,有很多不足的地方,望大家予以批评,谢谢啦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网传资源,如有侵权请联系/留言,资源过大,上传乃是下载链接,失效请留言,下面上大纲: 01.Android环境配置与常用工具介绍 02.Android smali 与 java 代码介绍1 : d% y( z) X- o& ~, e0 _; c1 I 03.Android smali 与 java 代码介绍2 c+ K& I/ q( b 04.Android smali 与 java 代码介绍3 % ]7 Z+ f! I! [5 S. O. N 05.Android smali 与 java 代码介绍4 7 A9 G6 c k; B 06.Android smali 与 java 代码介绍5 ; [. D3 O0 ~9 _0 ]3 W 07.常用Android快速定位关键点方法介绍 " v+ h0 Z5 x& }1 o4 c/ L 08.从0开始打造自己的破解代码库 09.Android 结构基础讲解 10.快速Hook代码搭建之 Cydia Substrate 11.快速Hook代码搭建之 Xposed 12.安装部署Android源码编译环境 13.Android源码目录结构与修改引导 / |3 T: f, f8 [2 @+ p 14.Android源码修改与刷机介绍 & D- q# v- o) o) ?/ u( A 15.Android Jni 编程 & Y6 ^/ J* G3 ] 16.arm 汇编代码讲解1 . J) E# f# h! Q4 x2 P+ K 17.arm 汇编代码讲解2 18.arm 汇编代码讲解3 19.arm 汇编代码讲解4 20.arm 汇编代码讲解5 ' B! y1 m7 _% U8 r2 G! R% h& L! a4 J0 B 21.class.dex文件格式讲解 22.Android 动态代码自修改原理 23.Android 动态代码自修改实现1 . F; Z5 @* D* r 24.Android 动态代码自修改实现2 25.Android dvm 脱壳1 26.elf结构详解1, d9 H, S" s2 }8 j' B6 v 27.elf结构详解2 8 A9 q+ O" `- v 28.elf文件变形与保护 1 g, b1 q, P( P& W, k3 F7 U 29.elf文件修复分析 9 K p" k/ `- s, w/ r: R( X 30.so加壳文件修复 31.常用调试检测方法与过检测方法 * G( L. J' P1 \+ }: N; r 32.Android源码定制添加反反调试机制 ' v/ q6 K1 {6 ] 33.Android dvm 脱壳2 34.Android dvm 脱壳3 H2 X- A# M4 s+ A6 K- b 35.Dalvik dex处理分析 ) x+ l1 l1 J R2 N) T" R) ^2 o 36.IDA脱壳脚本编写1) O7 `% E" Q. @1 X! o ~ 37.Odex修复方法 38.IDAOdex修复脚本编写 " X' w1 h: w3 N" u8 P5 z 39.Android 加壳原理 40.Android 加壳保护工具编写1 1 x4 k0 P/ V' C9 a( O 41.Android 加壳保护工具编写2 42.Android 加壳保护工具编写3

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值