![](https://img-blog.csdnimg.cn/20210603093901955.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
文章平均质量分 88
Android开发的学习笔记
哈喽喔德
我很懒,还没有简介
展开
-
Android开发学习之Retrofit框架
Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言,在使用时其实就充当了一个适配器的角色,主要是将一个 Java 接口翻译成一个 HTTP 请求对象,然后用内部封装的 OkHttp 去发送这个请求。github地址:https://github.com/square/retrofit引入依赖:implementation 'com.squareup.retrofit2:retrofit:2.9.0'一、使用方法根据网络Http接口创建Java的接口,原创 2021-10-09 19:08:59 · 197 阅读 · 0 评论 -
Android开发学习之OkHttp框架
OkHttp是处理网络请求的开源项目,是目前Android使用最广泛的网络框架。github地址:https://github.com/square/okhttp需引入依赖implementation("com.squareup.okhttp3:okhttp:4.9.1")一、同步GET请求完成同步网络请求需要在子线程中完成声明Request对象:传入url地址,调用build()返回对象声明Call对象:调用OkhttpClient的newCall方法,传入request声明Respo原创 2021-09-24 20:33:36 · 2478 阅读 · 0 评论 -
Android开发学习之Scroll分析
(学习参考书:Android群英传)一、滑动效果的产生滑动一个View本质上就是一移动一个View,改变当前其当前所处的位置。因要实现View的滑动,就必须监听用户的触摸事件,并根据事件传入的坐标,动态且不断的改变View的坐标,从而实现View跟随用户触摸的滑动而滑动。Android中的窗口坐标体系和触控事件MotionEvent二、Android坐标系在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,从该点向左为X轴正方向,向下为Y轴正方向。系统提供了getLocation原创 2021-09-08 19:47:47 · 229 阅读 · 0 评论 -
Android开发学习之控件架构与自定义控件
(学习参考书:Android群英传)一、Android控件架构Android中的控件大致被分为两大类,即ViewGroup控件和View控件。ViewGroup控件作为父控件可以包含多个View控件,并对其进行管理。通过ViewGroup整个界面上的控件形成了一个树形结构即控件树,通常在activity中使用findViewById()就是在控件树中以深度优先遍历来查找对应元素的。每个activity都包含一个Window对象,在Android中Window对象通常用PhoneWindow来实现。P原创 2021-09-04 11:05:42 · 211 阅读 · 0 评论 -
Android开发学习之实用技巧
一、全局获取ContextAndroid提供了一个Application类,每当程序启动的时候,系统会自动将这个类进行初始化。可以定制一个自己的Application类,便于管理程序内的一些全局状态信息,如Context。新建类继承Application,设置私有静态全局变量context重写其onCreate()方法,在其中用getApplicationContext()为context赋值提供一个getContext()方法,将刚才获取的Context进行返回在AndroidManifest原创 2021-08-10 19:13:04 · 180 阅读 · 0 评论 -
Android开发学习之Material Design
(参考书:第一行代码第2版)原创 2021-07-30 10:02:01 · 282 阅读 · 0 评论 -
Android开发学习之位置服务
(学习参考书:第一行代码第2版)在开始之前,需要到提供LBS服务的API开发平台申请注册和申请API key。百度、高德地图均可,本文采用百度的API。一、配置LBS SDK选择所需功能下载jar文件解压后将下载文件夹中libs目录下的jar文件复制到项目的app/libs文件夹下在app/src/main目录下创建jniLibs目录,放入下载文件夹中除了libs的其他文件(即so文件)点击Sync按钮同步,查看app/build.gradle是否存在 implementation files原创 2021-07-24 11:32:51 · 295 阅读 · 0 评论 -
Android第一行代码第二版过时操作解决方法
一、原创 2021-07-24 11:22:13 · 948 阅读 · 7 评论 -
Android开发学习之探究服务
(学习参考书:第一行代码第2版)服务是Android中实现程序后台运行的解决方案,适合去执行那些不需要和用户交互而且还需要长时间运行的任务。服务的运行不依赖任何用户界面,及时程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。服务不是运行在一个独立的线程当中的,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,依赖于该进程的服务也会停止运行。服务也不会自动开启线程,所有的代码默认运行在主线程当中。需要在服务的内部创建子线程,并在这执行具体的任务。一、Andr原创 2021-06-02 21:35:13 · 1140 阅读 · 5 评论 -
Android开发学习之网络技术
(学习参考书:第一行代码第2版)一、WebView的用法借助WebView控件,我们可以在自己的应用程序中嵌入一个浏览器,从而展示各种各样的网页。使用方法如下:在布局文件中添加WebView,在活动中获取WebView的实例调用getSetting()方法设置浏览器的属性。如setJavaScriptEnabled()方法来让WebView支持js脚本调用WebView的setWebViewClient()方法,并传入一个WebViewClient实例。作用为从一个网页跳转到另一个网页时,希望在原创 2021-05-23 21:34:49 · 685 阅读 · 6 评论 -
Android开发学习之通知
(学习参考书:第一行代码第2版)一、通知及其应用通知(Notification)是Android系统中的特色功能。当程序希望向用户发出提示信息,而程序又不在前台运行时,就可以借助通知实现。通知的用法较为灵活,既可以在活动中创建也可以在广播接收器、服务里创建。相比于广播接收器和服务,活动中创建的情况较少。无论在哪里创建,整体步骤相同:首先需要一个NotificationManager来对通知进行管理,可以调用Context的getSystemService()方法获取。该方法可以通过Android系统原创 2021-05-14 19:51:40 · 370 阅读 · 0 评论 -
Android开发学习之内容提供器
(学习参考书:第一行代码第2版)在实际开发中,会遇到将程序中的数据共享给其他程序作为进行二次开发的基础性数据。内容提供其主要用于在不同程序之间实现数据共享的功能,它提供了一套完整的机制,相比于文件和SharedPreferences存储,内容提供器在实现跨程序数据共享时更加安全可靠。使用内容提供器是Android实现跨程序共享数据的标准方式。一、Android权限机制Android将所有权限分为两类:普通权限、危险权限。普通权限是指不会直接威胁到用户的安全和隐私的权限,系统会自动进行授权。危险权限是原创 2021-05-05 21:05:05 · 231 阅读 · 1 评论 -
Android学习笔记之持久化技术
(学习参考书:第一行代码第2版)一、持久化技术简介数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统主要提供了三种方式用于简单地实现数据持久化功能,即文件存储,SharedPreference存储以及数据库存储。二、文件存储文件存储时Android中最基本的一种数据存储方式,它不对存储的内容进行任何格式化的处理,所有数据原封不动的保存到文件之中。因而它适合存储一些较为简单的文本数据或二进制数据。(1)存储原创 2021-04-28 17:46:42 · 193 阅读 · 0 评论 -
Android学习笔记之广播机制
(学习参考书:第一行代码第2版)一、广播机制简介Android中的广播可以分为两种类型:标准广播和有序广播;标准广播:是一种完全异步执行的广播,在广播发出后,所有的广播接收器都会在同一时刻接收到这条广播。这种广播效率高,但是它无法被切断。有序广播:是一种同步执行的广播,在广播发出后,同一时刻只有一个广播接收器能接收消息,当这个接收器的逻辑执行完毕后,广播才会继续传递。此时的广播接收器有先后顺序,优先级高的广播接收器先收到广播消息,且前面的广播接收器还可以截断正在传递的广播。二、接收系统广播(1)原创 2021-04-14 21:01:58 · 241 阅读 · 1 评论 -
Android学习笔记之探究碎片
(学习参考书:第一行代码第2版)一、碎片及其使用方式碎片(fragment)是一种可以嵌入在活动中的UI片段,它能让程序更加合理和充分利用大屏幕的空间。碎片类似于活动,同样能包含布局,有自己的生命周期。(1)碎片的简单用法新建layout布局文件新建绑定对应布局文件的类,该类继承Fragment。在该类中重写onCreateView方法。在要添加该碎片的活动中添加fragment控件,使用属性android:name显式指明要添加的碎片类名,要将包名也加上(2)动态添加碎片碎片的真正强原创 2021-04-07 20:52:08 · 1871 阅读 · 3 评论 -
Android学习笔记之UI开发
(学习参考书:第一行代码第2版)一、所有控件适用的属性android:id 给当前控制定义一个唯一的标识符android:text 控件上显示的内容android:layout_width 所有Android控件的共有属性,指定控件的宽度android:layout_height 所有Android控件的共有属性,指定控件的高度宽度和高度的可选值有两种:match_parent 当前的控件的大小与父布局的大小相同(铺满)warp_content 当前控件大小刚好包括自己所含的内容(自适应)原创 2021-04-01 18:49:55 · 2347 阅读 · 4 评论 -
Android学习笔记之探究活动
(学习参考书:第一行代码第2版)一、活动及其基本用法活动(Activity)是一种包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个活动。项目中的任何活动都应该重写Activity的onCreate()方法。默认的该方法的实现是super.onCreate(savedInstanceState),即调用父类的该方法。AS创建活动:com.example.activitytest包→New→Activity→Empty ActivityAS创建和加载布局:res/layou原创 2021-03-20 10:18:04 · 189 阅读 · 2 评论