草庐IT

architectural-patterns

全部标签

android - 征求意见 - 我应该如何将 Facebook SDK 集成到 Android 的 Clean Architecture 中?

我正在使用CleanArchitecture在我目前的项目中。现在我想集成一个请求FacebookSDK执行登录的功能。我认为,FacebookSDK充当数据提供者(提供身份验证服务,类似于其他Restful登录API),应该在data模块而不是app下设置和使用模块。例如,如果我想执行Facebook登录,我将调用适当的用例,然后这样的用例将调用data模块来完成实际工作。但是,挑战在于Facebook方法(参见Facebook的LoginManager,Here),需要运行Activity/Fragment实例。那么,我应该将FacebookSDK移回app模块还是将Activit

architecture - 如何正确地确定 ViewModel 的范围?

我正在努力思考新的Android架构组件,特别是ViewModel。我的印象是Fragment不应该知道它属于哪个Activity或Fragment,以便它可以在应用程序的不同上下文中使用。这些示例似乎通过直接在Fragment中而不是Fragment所有者中声明ViewModel范围来与此相矛盾:viewModel=ViewModelProviders.of(getActivity()).get(SomeViewModel.class);我希望能够在Master/Detail配置中使用此Fragment,其中两者共享相同的状态(即ViewModel实例),以及在ViewPager内部

android - 在 Intent Filter/PatternMatcher.PATTERN_SIMPLE_GLOB 中匹配 2 个段但不匹配 3 个段路径

我遇到了一个问题,我需要过滤掉“更长”的路径,以免被intentfilter捕获。如下面的代码打印出来的,PatternMatcherpm=newPatternMatcher("/..*/..*",PatternMatcher.PATTERN_SIMPLE_GLOB);Booleanb=pm.match("/segment/segment");Booleanc=pm.match("/segment/segment/segment");AlertDialogalertDialog=newAlertDialog.Builder(MainActivity.this).create();ale

android - 将 REST API 调用置于 Uncle Bob 的 Clean Architecture 中的何处?

我正在尝试在我的Android应用程序中使用UncleBob的简洁架构。所以,我关注了这个人的greatimplementation基于RxAndroid,用于DI的Dagger2。我知道要从数据存储(云或本地数据库或磁盘)获取数据,交互器(域层中的用例类)将调用数据层中的存储库。在我的例子中,我必须执行两个并行的RESTAPI调用(FoursquareAPI和GoogleplacesAPI),然后比较每个调用接收到的数据。我是否必须将这些Retrofit调用的实现放在数据层或域层的交互器中?如果任何外部API调用都属于数据层,那么在Bob大叔的方法中,交互器的作用到底是什么?我是这种

android - Realm 数据库 : Clean architecture in Android

我正在评估RealmDb,我觉得RealmDb与模型层紧密耦合。这让我觉得,如果明天我需要用其他本地数据库替换,那将是一项巨大的重构工作。我的问题是如何使用RealmDB实现干净的架构?有什么我可以效仿的例子吗? 最佳答案 如果您愿意,Realm只是让您更容易将数据库模型重新用作View模型。但是没有什么能阻止您拥有数据层实体和View层实体,然后在边界上进行映射。例如//DatalayerpublicclassFooEntityextendsRealmObject{//Realmfieldsandmethods...publics

android - 在 Clean Architecture 中管理 Realm 实例的最佳实践是什么?

我的项目使用干净的架构。在这种情况下,UI层与Realm层是分开的。所以我认为UI层最好不要拥有Realm实例。由于realm的文档建议在Activity的生命周期中管理realm实例,那么我应该如何处理realm实例呢?更清楚地说,我的项目太重了,无法更改所有对象扩展RealmObject。所以我使用单独的对象来持久化数据。当api调用完成时,业务对象转换为Realm对象,从Realm查询时相反。我创建这样的方法:publicvoidinsert(Tobject){finalRealmrealm=RealmProvider.getRealm();realm.executeTransa

Linux音频处理:MP3解码、PCM、播放PCM、ALSA(Advanced Linux Sound Architecture)、MPEG(Moving Picture Experts Group)

MP3解码:将MP3音频文件中的数字音频数据转换为可以播放或处理的音频信号的过程。MP3(MPEG-1AudioLayer3)是一种常见的音频压缩格式,用于将音频文件压缩到较小的文件大小,同时保持相对高的音质。以下是MP3解码的一般步骤:读取MP3文件:首先,需要读取存储在MP3文件中的音频数据。MP3文件以二进制格式存储音频信息。解析MP3文件头:MP3文件的开头通常包含有关音频流的元数据,如采样率、比特率、声道数等信息。解析这些文件头数据是解码的第一步,以确保正确配置解码器。解码压缩的音频数据:MP3文件中的音频数据经过压缩编码,通常使用一种叫做MPEG音频压缩算法来进行压缩。解码器负责将

Introducing the Arm architecture

快速链接:.👉👉👉个人博客笔记导读目录(全部)👈👈👈付费专栏-付费课程【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录]👈👈👈—适合小白入门【目录】ARMv8/ARMv9架构高级进阶-[目录]👈👈👈—高级进阶、小白勿买【加群】ARM/TEE/ATF/SOC/芯片/安全-学习交流群—加群哦

安卓架构模式

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我刚刚开始android开发,我正在尝试开发我的第一个应用程序,我实际上将要发布它。我有Java的编程背景和一些模式的知识,但是我不知道在开发Android应用程序时我应该坚持哪些模式。还有放线程的地方。我正在开发一个应用程序,它不断地通过PHP脚本从远程数据库加载数据并将它们显示在UI上。我将一个应用程序分为几层——表示层、领域层/服务层和数据源层。在它们之间,我创建了外观来访问下面层的服务。我真的不知

Java正则表达式及Pattern与Matcher使用详解

文章目录一、正则表达式详解1、符号定义(1)基本书写符号(2)限定符(3)匹配字符集(4)分组构造(5)字符转义2、常用正则表达式举例3、Java中RegularExpressionValidator用正则表达式校验4、正则表达式匹配简单语法汇总二、Pattern类详解1、获取Pattern实例(1)实例2、组和捕获3、intflags()方法4、Stringpattern()方法5、String[]split(CharSequenceinput)方法6、String[]split(CharSequenceinput,intlimit)方法(1)实例7、Pattern.matches(Stri