Xamarin HttpClient.GetStringAsync 不适用于 Xamarin.Droid

2024-05-01

我在 Xamarin 开发方面确实是个新手,我刚刚尝试使用 Xamarin.Forms 使用共享代码开发 Android 和 iOS 应用程序,而我在这里尝试做的是使用 Plugin.RestClient NuGet 包从 API 获取数据。

这是我的 MainViewModel。

public MainViewModel(){
    InitializeDataAsync();
}

public async Task InitializeDataAsync(){
    var employeeServices = new EmployeeServices();
    EmployeesList = await employeeServices.getEmployeesAsync();
}

这是我的服务

public async Task<List<Employee>> getEmployeesAsync(){
    RestClient<Employee> restClient = new RestClient<Employee>();
    var employeeList = await restClient.GetAsync("http://localhost:3000/employee");
    return employeeList;
}

这是我的 RestClient

public async Task<List<T>> GetAsync(string WebServiceUrl){
    var httpClient = new HttpClient();
    var json = await httpClient.GetStringAsync(WebServiceUrl);

    Debug.WriteLine(WebServiceUrl);
    Debug.WriteLine(json);

    var taskModels = JsonConvert.DeserializeObject<List<T>>(json);
    return taskModels;
}

该代码在我的 iPhone 模拟器上运行良好。我可以看到 url 和 json 响应的调试。但在我的 Android 模拟器上,列表中没有任何内容。我什至找不到 url 和 json 响应的调试,我已经检查了我的应用程序输出和设备日志(顺便说一句,我使用了 Xamarin Studio for Mac)。

我还已经在我的 Android 清单上添加了互联网权限。 我应该怎么办?


您只能访问localhost在您的本地计算机上。你需要改变localhost托管 api 的计算机的 IP 地址。

所以 api 端点

http://localhost:3000/employee

应该是这样的

http://192.168.0.5:3000/employee
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xamarin HttpClient.GetStringAsync 不适用于 Xamarin.Droid 的相关文章

随机推荐

  • 指定的 deps.json '$$$' 不存在

    我对 NET Core 相当陌生 我有一个 NET Core WebAPI 项目 MyWebApp 另外 我有使用 EntityFrameworkCore 的 Net Core 类库项目 MyLib 当我尝试使用添加迁移时 出现错误指定的
  • Android IAB:设备上无法使用计费服务

    我正在尝试在我的应用程序中实现 IAB 每次应用程序启动时 启动都会失败并显示 Problem setting up In app Billing IabResult Billing service unavailable on devic
  • Heroku - 将单个表转储并加载到共享 postgres 数据库

    我想知道是否有一种简单的方法可以将一个表的内容转储或加载到heroku共享数据库 postgres Heroku 推荐了 pgbackups 插件 但根据文档它支持转储和加载整个数据库 我需要的只是转储 加载单个表 您可以使用水龙头 htt
  • Mysqldb 属性错误:游标

    我开始在 python 中使用 mysqldb 模块 并且我似乎对调用查询的 标准 方式有一些问题 我知道标准方法是创建游标 然后用它来执行查询 然而 当我尝试实例化一个时 它给了我以下错误 属性错误 光标 我的数据库类如下所示 class
  • Java:通过 UserObject 字段递归搜索 TreeModel?

    我有一个使用 DefaultTreeModel 的 Jtree 每个单独的节点都包含一个包含各种字符串字段的 UserObject 我想通过递归遍历来查找并选择一个节点 直到找到 UserObject 与其字段之一匹配的 DefaultMu
  • 如何在bootstrap中使用垂直对齐

    简单的问题 如何使用 bootstrap 在一个列内垂直对齐一个列 这里的例子 我想垂直对齐child1a和child1b http bootply com 73666 http bootply com 73666 HTML div cla
  • GDB/bin/bash 无法在 Eclipse CDT 中执行应用程序?

    在 Mac OS X Mojave 上使用 Eclipse CDT 运行 GDB 时遇到困难 当我尝试调试项目时 GDB 表现得很混乱 我能够调试几次 但随后它在下一个调试会话开始时开始停止 并显示消息 配置 GDB 可执行文件是 User
  • 将数据持久保存在 Oracle 数据库的 docker 卷中

    我创建了用于存储我的应用程序数据库数据的卷 docker volume create dbvolume 然后我启动了带有 Oracle XE 11g 数据库映像和数据卷的 docker 容器 docker run name OracleXE
  • 如何在 Perl 中序列化数组引用数组?

    Perl 有很多用于序列化数据的模块 我不知道该选择哪一个 我需要将以下数据序列化为字符串 以便将其放入数据库中 my categories Education Higher Education Colleges Schooling Col
  • ng build 无法在“History”上执行“replaceState”:无法在原始“null”和 URL 的文档中创建带有 URL 的历史状态对象

    我使用的是 Google Chrome 版本 52 我希望能够通过访问 index html 在本地运行我的应用程序 而无需服务器 我能够访问我的应用程序的登陆页面 但是 当我尝试导航到另一个页面或单击任何按钮时 它无法工作 我尝试了很多方
  • Solr 4.0 中的 BaseTokenFilterFactory 去哪儿了?

    用于创建您自己的标记和字符过滤器的 Solr 文档说明如下 http wiki apache org solr AnalyzersTokenizersTokenFilters Specifying an Analyzer in the sc
  • 按 IN 值列表排序

    我在 PostgreSQL 8 3 中有一个简单的 SQL 查询 它捕获了一堆评论 我提供一个sorted的值列表IN构造在WHERE clause SELECT FROM comments WHERE comments id IN 1 3
  • Android 中的 Ping 应用程序

    我正在制作一个应用程序 它将实现 ping 命令的一些功能 问题是 我不知道在 ANDROID 中使用哪个 哪些库 有人对此有什么想法吗 我访问过这些 stackoverflow 链接 但它们并不是很有帮助 有没有办法让 Android 设
  • Python UDP广播不发送

    我正在尝试从 Python 程序到两个 LabView 程序进行 UDP 广播 我似乎无法发送广播 我不确定我的套接字初始化错误在哪里 广播似乎足够简单 据我所知 其他电脑没有收到任何数据 另外 我将来还需要这个程序来接收来自其他电脑的数据
  • 为什么 django 强制所有模型类都在 models.py 中?

    我刚刚了解到 将模型类拆分为不同的文件会破坏 django 的许多内置功能 我有java背景 在那里 编写很长的类文件并不被认为是一种好的做法 但是 django 对所有模型类强制执行单个文件可能会导致程序员编写很长的 models py
  • 以编程方式在 Material-UI 中打开工具提示

    我需要能够向元素添加工具提示 以便它像正常一样运行 当元素悬停时打开 同时我需要能够以编程方式打开它 我知道它有openprop 允许这样做 但在这种情况下 我会将组件从不受控制切换到受控制 这是不可能的 我也无法总结 hover工具提示内
  • 在 WPF FlowDocument 中的指定位置插入超链接

    我想以编程方式将 WPF 超链接元素插入 FlowDocument 中 目标是创建一个工具栏按钮 该按钮将获取 RichTextBox 中的一系列文本并将其替换为超链接 它与您在网络上看到的用于在 wiki 或博客 或 StackOverf
  • SwiftUI 模态视图

    从任何类或结构中模态显示 SwiftUI 视图的最佳方式是什么 我使用 UIKit 中的 UIHostingController 有没有更好的方法只使用 SwiftUI 来做到这一点 带有用于呈现 SwiftUI 视图的按钮的 Conten
  • g++ 变量名有长度限制吗?

    看标题 简短回答 No 长答案 是的 它必须足够小才能适合内存 但否则就不行 不是真的 如果有一个内置的限制 我不相信有 那么它太大了 你真的很难达到它 事实上 你让我很好奇 所以我创建了以下 Python 程序来生成代码 usr bin
  • Xamarin HttpClient.GetStringAsync 不适用于 Xamarin.Droid

    我在 Xamarin 开发方面确实是个新手 我刚刚尝试使用 Xamarin Forms 使用共享代码开发 Android 和 iOS 应用程序 而我在这里尝试做的是使用 Plugin RestClient NuGet 包从 API 获取数据