1、手机应用程序的开发方法:
NDK(Native Development Kit) 直接调用底层工具进行开发
SDK 调用封装好的工具类进行开发
web view hybride 混合开发 ReactNative Fluter
2、运行时发生的过程
(1)IDE自动补充代码 (2)javac编译生成java字节码(class文件) (3)dex工具将所有class文件文件变为dex文件 (4)打包为apk
3、Manifest文件
将工程看作是一个虚拟的世界,而将各种组件看作是这个世界上的不同公民,每个公民的存在都要在这个叫做Manifest的文件上记录。
Manifest文件存储一个application即上下文,也就是一个容器(虚拟世界)。在这个application中可以存储Activity(活动),Service(后台运行),ContentProvider(为进程间数据进行共享传递提供接口),broadcast receiver(广播接收器,接收广播信息即系统提示或其他信息)
4、Intent
直观翻译为意图,顾名思义就是存储一些目的,经常用于activity的调用和信息的传递。
对于Intent对activity的调用分为显示和隐式,推荐使用隐式方式(即在Manifest文件中注册Activity时,用<Intend filter>描述其响应的Intend的信息,包括<action 和<category 属性)
同时可以通过使用intend.putXXX()来向activity传递数据信息。
因此,Activity一般都是由Intend来启动的。
5、Activity
代表具有用户界面的单一屏幕
Activity的生命周期如下图所示(图中很多回调函数,我们可以在其中编写代码执行我们需要的功能)
每个App都有自己的任务栈(即一个进程,且拥有独立的JVM)来存储其Activity
6、R类
通过Android提供的R类来引用资源,R代表自己项目下的资源,而Android.R为安卓系统所提供的资源(在Java文件中通过R.XX来访问资源)
对于静态资源(文本,图片,布局)我们通过为其赋予id来使其资源化,@+id/name 定义引用 @id/name 使用引用
7、页面布局分类: (可嵌套)
LinearLayout(线性)、RelativeLayout(相对)、constraintLayout(限制)、FrameLayout(堆叠)
8、测试:Junit 测Java AndroidTest在android虚拟机上测试
9、调试:断点,日志
10、常用组件:
imageView textView LIstView EditText
List VIew 用adapter来解决复杂model和view之间的绑定 (arrayAdapter simpleAdapter baseAdapter)
11、android 中使用外部依赖包,需要在gradle文件中的dependence下的Implementation里声明,而声明语句在MavenRepositor网站中寻找。