首页
学习
活动
专区
圈层
工具
发布

精品连载丨安卓 App 逆向课程之三 frida 注入 Okhttp 抓包上篇

1.1.2 Okhttp3 OkHttp是大名鼎鼎的Square公司的开源网络请求框架,Okhttp有2、3、4这几个大版本,目前主流使用Okhttp3,因此我们讨论Okhttp3。...注:Okhttp目前分为Okhttp3和Okhttp4两个大版本,目前主流的版本是3,3和4的API有不少变动,我们这里只讨论主流的Okhttp3。...除此之外,将HttpUrlConnection和Okhttp3类比,只是因为它们都“比原生库优秀和更广泛使用”,这可以帮助理解,但两者是有区别的,requests是基于urllib3的封装,但Okhttp3...Request对象封装成Call对象后,每次enqueue都会产生一次真实的网络请求。...(网络请求可分为同步和异步方式,Android中主要使用异步方式,因此我们这里直接不讲同步请求,除此之外,GET和POST是两种常用的请求,这里先演示GET方式)。

5.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不可错过的几款GitHub开源项目

    在实际项目中的应用,MVP中RxJava生命周期的管理…; 上述罗列的各种开源框架的使用方法; Java8 Lambda表达式和Stream API的用法; 怎样适配Material Design; ToolBar...技术点: 使用RxJava配合Retrofit2做网络请求 使用RxUtil对线程操作和网络请求结果处理做了封装 使用RxPresenter对订阅的生命周期做管理 使用AndroidEventBus来方便组件间的通信...技术点: 使用RxJava配合Retrofit2做网络请求 使用RxUtil对线程操作和网络请求结果处理做了封装 使用RxPresenter对订阅的生命周期做管理 使用RxBus来方便组件间的通信 使用...对应于model、ui、presenter三个包 使用Dagger2将M层注入P层,将P层注入V层,无需new,直接调用对象 使用Realm做阅读记录和收藏记录的增、删、查、改 使用Glide做图片的处理和加载...+ OkHttp3 做网络请求 OkHttp3 对网络返回内容做缓存, 还有日志、超时重连、头部消息的配置 V层基类的构建, 包括 BaseActivity 和 BaseFragment , 对外提供了相同的接口

    2.1K20

    Jetpack Compose Beta 版现已发布!

    构建该工具包的目的在于与现有 Android 应用和 Jetpack 开发库集成,您可以将 Android 视图与 Compose 相结合,按照您自己的节奏应用 Compose。...我们期待看到您使用 Compose 构建的内容, 并根据您的反馈和功能请求来优化我们的 API,并确定我们工作方向的优先级。...自 Alpha 版推出以来,我们添加并改进了多项新功能: 协程支持 Talkback 无障碍功能支持: 对其他技术的支持将在稳定版中发布 易于使用的 动画,以及 Alpha 版推出后发布的全新 API...在推出 1.0 版之前,我们将致力于保证这些 API 的稳定性,并重点关注应用性能和无障碍功能。...Material 和 AppCompat XML 主题的集成,因此您无需复制主题定义。

    6.2K10

    Retrofit解析2之使用简介

    :用于发送一个get请求 @GET 注解一般必须添加相对路径或者绝对路径或者全路径,如果不想用在@GET 注解后添加请求路径,则可以在方法的第一个参数中用@Url 添加请求路径。...在注释中提供part名称(例如,@Part("foo") RequestBody foo) 3 其它对象类型将通过使用转换器转换为适当的格式。...(四)其他注解: 1、@Path:用于方法的参数 在URL路径中替换指定参数值。使用String.valueOf()和URL编码将值转换为字符串。...(一)、如何使用Retrofit和okHttp封装multipart/form-data 1、在retrofit2中: 使用** @retrofit2.http.Multipart : 标记一个请求是...七、总结 Retrofit将REST API抽象成Java接口,使用注解来描述每一个API地址和请求,支持URL参数替换(包括查询参数和路径参数),以及表单编码和多部分请求功能。

    5.3K30

    Android开发笔记:Retrofit + OkHttp3 + coroutines + LiveData打造一款网络请求框架

    xml、json、text等等 总的来说就是易使用、易扩展、可读性高 一、目的 背景 市场上现在存在的网络请求不在少数,从原生的HttpClient 到 OkHttp、Volley、xUtils 无疑都是将网络请求简单化...后面出现Retrofit ,将OkHttp3 进行了封装,将请求API 接口化,将返回的数据结合GSON等各种转换器转换为直接面向开发的对象,大大的提升了我们的开发效率,为了解决Android UI/子线程...负责的功能场景方便切换,大家开始结合了RxJava, 这一操作直接将Retrofit + OkHttp3 + RxJava 组合的网络框架推上了热门写法, 现状 kotlin 的出现是Google 对于...jetpack是Google 对设计模式的首次官方制造,重点可想而知,那在这个基础上我们还需要使用之前的网络框架吗?有没有更加优秀的框架以及框架的组合使得我们的程序健壮、开发简易呢?...= Resource(Status.LOADING, data, null) } } 2.3 使用Retrofit 创建API 接口、接口帮助类 将接口管理和请求放在不同的类文件中,方便管理 API

    2.5K30

    2022 JetPack Compose开发应用指南新鲜出炉,速速查看

    但以防还有一部分开发人员还没有使用过它,或者有开发新人不了解JetPack Compose,这里还是做一下简单介绍。...JetPack Compose Jetpack Compose 是Google在2019年发布的一个Android原生现代UI工具包,它完全采用Kotlin编写,可以使用Kotlin语言的全部特性,可以帮助你轻松...它的优点: 使用更少的代码实现更多的功能:编写代码只需要采用 Kotlin,而不必拆分成 Kotlin 和 XML 部分。...直观的Kotlin API:Compose 使用声明性 API,这意味着开发人员只需描述界面,Compose 会负责完成其余工作。...如果说在19年JetPack Compose刚问世的时候还存在许多问题,大多数开发人员都持观望态度,但现在马上迎来22年,JetPack Compose经过了很多个版本的更新,变化非常大,对于更多的开发者来说

    2.4K20

    MDC和Compose: 轮播图的两种实现

    3.3 布局和性能 在 MDC 中,我们使用 RecyclerView 配合 LayoutManager 实现复杂布局,这种方法虽然成熟,但可能需要手动优化滚动性能。...但近年来,Jetpack Compose 的出现彻底改变了我们构建界面的方式。这两者在开发方式、状态管理、布局处理和性能优化等方面都有明显的区别。...Jetpack Compose:声明式 UI 开发 不同的是,Jetpack Compose 完全抛弃了 XML 布局,所有 UI 都是用 Kotlin 代码描述的。...4.3 布局管理:XML VS Kotlin 代码 MDC:XML 文件布局 MDC 使用的是传统的 XML 文件布局,像 LinearLayout、RelativeLayout 等都是通过 XML 定义的...4.4 性能和可维护性:复杂度表现 MDC:性能优化需要手动操作 在使用 MDC 时,性能的优化更多地依赖于开发对布局层次的控制,特别是在 RecyclerView 中,需要小心布局的嵌套和重绘问题。

    1.5K81

    Android Compose开发

    好处 Compose 编译后不是转化为原生的 Android 上的 View 去显示,而是依赖于平台的Canvas ,在这点上和 Flutter 有点相似,简单地说可以理解为 Compose 是全新的一套...Developers 原创:写给初学者的Jetpack Compose教程,基础控件和布局 原创:写给初学者的Jetpack Compose教程,Modifier 原创:写给初学者的Jetpack Compose...教程,使用State让界面动起来 原创:写给初学者的Jetpack Compose教程,Lazy Layout Composable 告诉编译器:此函数旨在将数据转换为界面。...如果设置一个较大的正值,则视图将显示在其他视图的上方。如果设置一个较小的负值,则视图将显示在其他视图的下方。当两个视图的 zIndex 相同时,它们将按照它们在布局文件中的顺序进行绘制。...通过 flow 属性,我们可以将 Pager 对象转换为一个流,以便进行流式访问。

    83210

    【建议收藏】Jetpack Compose编程知识全汇总 (含详细实例讲解)

    - 状态提升是一种编程模式,在这种模式下,通过将可组合项中的内部状态替换为参数和事件,将状态移至可组合项的调用方。 - 状态提升的过程可让您将单向数据流扩展到无状态可组合项。...如果想使用Compose的情况下,又不想迁移整个应用,可以在xml里面增加ComposeView,类似于占位符,然后在Actviity/fragment中寻找该控件并调用setContent方法即可...Jetpack Compose的着重点 加速开发 强大的UI工具 直观的Kotlin API [1240] 3. API 设计 [1240] 4....Android Jetpack Compose 最全上手指南 Jetpack Compose 环境准备和Hello World 布局 使用Material design 设计 Compose 布局实时预览...Jetpack Compose应用做一个倒计时器 数据结构 倒计时功能 状态模式 Compose 布局 绘制时钟 [1240] 4.

    7K60

    从 0 到 1:使用 Jetpack Compose 和智能自动化实现高效 Android UI 开发

    现代 Android UI 开发正逐步从命令式 XML 向声明式 Compose 转变。Compose 凭借其简洁、高效、易测试的特点,能够让开发者更专注于界面和业务逻辑,而不必陷入大量模板化的代码。...为什么选用 Jetpack Compose? 声明式:写 UI 就像写函数,传入数据,输出界面,避免了 XML + findViewById 的繁琐。...LaunchedEffect(key):基于键启动协程 SideEffect:在每次成功重组后执行 DisposableEffect:绑定 / 解绑资源 性能优化 remember 缓存计算结果 derivedStateOf...GitHub Copilot / AI 助手 在代码中写注释 // TODO: fetch from repo Copilot 自动补全网络请求、JSON 解析等模板。...性能优化与最佳实践 局部重组:把可变状态限制在最小组件里。 使用 derivedStateOf:复杂计算结果缓存。 避免在组合函数中做 I/O:利用 LaunchedEffect。

    21010

    在 Android 12 中构建更现代的应用 Widget

    您可以将 Widget 理解为一个 "一目了然" 的应用视图,让用户在无需从主屏幕打开应用的前提下,就能对应用数据和核心功能一览无余。...在定义内容时,不再使用 XML 语法,而是使用 Compose 语法,要显示的内容将会被转换为远端视图展示在 AppWidget 中。...Compose Runtime 和 Compose 的语法,但它仍是一个独立的框架,由于受到在远端进行构建的限制,您不可能重用在 Jetpack Compose UI 中定义的组件。...但如果您已对 Jetpack Compose 非常熟悉,那么 Glance 将非常易于理解。 另外,由于 Glance 使用用户事件 API 的方式处理交互,我们处理同用户的交互将变得更加轻松。...但请注意,如果该种操作为网络请求或数据库访问等较为耗时的操作,请使用 WorkManager API。

    2.6K20

    从0上手Jetpack Compose,看这一篇就够了~

    了解到许多小伙伴还没开始学习Compose,所以我写了一篇基础文章,让我们一起轻松上手Compose~ 在这篇文章中我们将初步了解 Jetpack Compose,并学习可组合函数、基本布局和状态以及主题等基础知识...我们是在Activity中编写Java/Kotlin的代码,在XML中编写布局代码,这种方式是我们已经使用了很久的方式,而Jetpack Compose完全抛弃了之前的方式,新创造了一种“使用代码”编写页面的方式...我们看到文字都堆叠在一起了,我们知道在XML布局中有LinearLayout、RelativeLayout等布局组件,那么在Compose中有哪些布局呢?...在上面的图中我们看到,两个Text紧紧的贴在一起了,在XML布局中我们可以使用padding或者margin来解决这个问题,在Compose中如何处理呢?以及我们如何为文字设置颜色、大小等样式呢?...,一般的状态提升是将状态变量替换为两个参数。

    3.7K41

    Google 推荐在 MVVM 架构中使用 Kotlin Flow

    是 Paging3 当中重要成员 ) 使用 Data Mapper 分离数据源 和 UI Kotlin Flow 结合 Retrofit2 + Room 的混合使用 Kotlin Flow 与 LiveData...Kotlin Flow 如何在 MVVM 中使用? Kotlin Flow 如何与 Retrofit2 + Room 混合使用?...Flow 是协程的扩展,如果要在 Room 和 Retrofit 中使用,Room 和 Retrofit 需要支持协程才可以,在 Retrofit >= 2.6.0 和 Room >= 2.1 版本都支持协程...val netWorkPokemonInfo = api.fetchPokemonInfo(name) // 将网路请求的数据,换转成的数据库的 model,之后插入数据库...DataBinding(数据绑定)实际上是 XML 布局中的另一个视图结构层次,视图 (XML) 通过数据绑定层不断地与 ViewModel 交互,如下所示: PokemonGo/app/src/main

    5.4K21

    Jetpack Compose Alpha 版现已发布!

    图片 作者 / Google 产品总监 Karen Ng Jetpack Compose 是一个现代化的 UI 工具包,旨在帮助开发者通过原生平台 API 简单快捷地在全 Android 平台构建精美应用...Compose API 是与一组使用 Material Design 规范的示例应用 一起设计和开发的!我们很高兴发布这些应用!...Jetpack Compose 是一种完全基于声明式组件的方法,这意味着您需要将 UI 描述为将数据转换为 UI 层级结构的函数。...借助 Compose 布局预览,您可以预览 Compose 组件,而无需将应用部署到设备或模拟器。在开发应用时,您的预览会更新,以帮助您更快地检查变更。...要创建布局预览,请编写一个不使用任何参数的 Composable 函数,并添加: @Preview annotation 完成应用构建后,预览功能的 UI 会出现在 Android Studio 的

    4.6K30

    黑科技:使用AI和机器学习将Android项目秒变IOS项目

    最近看Github,发现了一个刚出炉的黑科技:利用人工智能(AI)和机器学习(ML)技术将现有Android源代码转换成iOS代码。...矢量图动画(Vector Animation)xml资源 未来支持的功能: Android的Kotlin语言 Android的JetPack Android的代码编写的布局 转成 SwiftUI Lagacy...针对.9.png图片文件:在catalog中为asset添加了切片(slicing )信息。 Vector图片形式的xml被转换成Storyboard上能够使用的.pdf文件。...---- 以下是使用截图: Android和iOS设备的显示了各种资产的使用情况的屏幕截图: ? image ---- Android Studio布局编辑器: ?...,Flip 支持图片Transformation (变换)API:circleCrop(),centerCrop(),fitCenter(),centerInside() 清除待处理的请求 RequestOptions

    1.8K00

    Android Dev Summit 21 精彩内容盘点

    开发者可以使用新增的 getDistance() 和 onPullDistance() API 来控制 OverScoll 的强度,当然你也可以通过 XML 中设置 android:overScrollMode...12L 针对大屏设备和折叠屏对界面进行了优化,例如当屏幕宽度大于 600dp 时将默认显示两列内容、引入了类似 Chrome OS 的 Dock 栏等,同时支持拖拽分屏等功能,同时在不同窗口中启动多个应用...Jetpack Compose 能更好地以响应式的方式处理 OnConfigurationChanged 时的 UI 变化,非常适合配合在 12L 的设备上使用。...你可以只在 Model 层使用 Flow,在 View 层仍然使用 LiveData,通过 Flow.asLiveData 将 Flow 转换为 LiveData: // import androidx.lifecycle.asLiveData...Compose @review 最近的 Andorid Studio 版本中对 Compose 的预览功能进行了多项强化:像原生视图那样,支持对 Compose UI 进行 3D 布局预览;对于一些字面值变量的修改无需重新编译即可实现预览的实时更新

    1.9K20

    原创|Android Jetpack Compose 最全上手指南

    由于Compose基于Kotlin构建,因此可以与Java编程语言完全互操作,并且可以直接访问所有Android和Jetpack API。...将Jetpack Compose 添加到现有项目 如果你想在现有的项目中使用Jetpack Compose,你需要配置一些必须的设置和依赖: (1)gradle 配置 在app目录下的build.gradle...在Android的xml布局中,如果要显示一个垂直结构的布局,最常用的就是LinearLayout, 设置android:orientation 值为vertical, 子元素就会垂直排列,那么,在Jetpack...添加间距Spacer 我们看到,图片和文本之间没有间距,传统布局中,我们可以添加Margin属性,设置间距,在Jetpack Compose 中,我们可以使用HeightSpacer()和WidthSpacer...Flutter 的发布将声明式 UI 的思想成功带到移动端开发领域,Apple和Google 分别先后发布了自己的声明式UI框架SwiftUI 和 Jetpack Compose , 以后,原生UI布局

    7K20
    领券