【问题标题】:How/Where to store HTTP-Request URLs in Android?如何/在哪里存储 Android 中的 HTTP 请求 URL?
【发布时间】:2023-03-12 16:20:01
【问题描述】:

我不确定应该如何/在哪里存储我的 Http-Request URL 以及如何组织它们。

我正在为 Android 开发服务器和客户端。在客户端上,我使用 Volley 进行网络通信,到目前为止这似乎是一个非常有用的工具。我唯一不知道的是所有这些 Http-Request URL 的东西。

是否有任何最佳实践?我是将它们全部保存在一个中心类中,该类将所有字符串作为static 字段提供,还是将它们存储为private 字段,我需要它们,还是有其他工具可以用于此类事情?

【问题讨论】:

    标签: android httprequest android-volley


    【解决方案1】:

    我看到人们通常会做以下事情

    1. 将 URL 保存在具有静态字段的持有者类中

    2. 将 URL 保存在资源 XML 文件中。这工作方式完全相同 作为您的 strings.xml,但它位于单独的文件中。这进来了 在不同的应用风格中使用不同的服务器 URL 时很方便

    3. 仅保留基本服务器 URL,然后将查询参数附加到 它在单独的文件中...请求方法。

    我将第二个与第三个结合使用(将基本 URL 保留在 XML 文件中,然后将内容附加到方法中)

    【讨论】:

    • 我想我会选择 2) 和 3) 但不知何故我无法访问另一个 .xml 文件中的值。我创建了一个新的资源文件http_request_urls.xml 并定义了一个类似<string name="test">http://test</string> 的值,但我无法访问它。猜猜为什么?
    • 我的猜测是您错误地访问了它。访问它的方式与访问字符串 R.string.url_name 的方式相同...您还应该有这样的 SQL 语句,它使它们更具可读性...意味着犯错的机会更少
    • Hmm.. 我是这样做的,但只是找不到 name :/ 如果我要在客户端上实现 SQL 语句,我也可以这样做 - 现在服务器完成所有工作那:)
    • 尝试重建您的项目,以便编译 XML 文件。然后使用 context.getString(R.string....)
    • 没问题。也谢谢你:)
    【解决方案2】:

    如果您正在寻找一种简洁的方式来组织您的请求 URL,请考虑使用 Retrofit,这个库在这个意义上非常有用。以下是它的外观示例:

    public interface WebService {  
    
        @POST("/mvc-api/membership/v1/accounts/login") LoginResponse login(@Body LoginRequestBody login);
    
        @POST("/mvc-api/membership/v1/accounts/registration") SignUpResponse(@Body SignUpRequestBody signUpBody);
    }
    

    【讨论】:

    • 这看起来确实很不错,但我想我想坚持使用 Volley。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2020-04-03
    • 2012-02-09
    • 2016-04-21
    相关资源
    最近更新 更多