将 JSON 数据从服务发送到 Android 中的 UI

2024-05-03

要求是:我有一个后台服务,在该服务中我正在执行 REST 调用来获取 JSON 数据。我想将 JSON 数据发送到 UI 并更新内容。

我可以使用的一种方法是将整个 JSON 字符串存储在 SharedPreferences 中并在 UI 中检索,但我认为这效率不高。

大家有什么想法吗?我在 UI 中添加了一个处理程序来更新元素,但我不太熟悉它的使用。

示例 REST 调用代码:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(DATA_URL);

httpPost.setHeader("Content-Type", "application/json");

//passes the results to a string builder/entity
StringEntity se = null;
try {
    se = new StringEntity(RequestJSON.toString());
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

//sets the post request as the resulting string
httpPost.setEntity(se);

//Handles what is returned from the page
ResponseHandler responseHandler = new BasicResponseHandler();

try {
    HttpResponse response = (HttpResponse) httpClient.execute(httpPost, responseHandler);

    // response will have JSON data that I need to update in UI

    //Show notification
    showNotification("Update Complete");



} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} finally {
    // httpClient = null;
}

关于 UI 活动

Handler myHandler = new Handler() {



            @Override
            public void handleMessage(Message msg) {

                Bundle Recevied = msg.getData();
                String resp = Recevied.getString("Mkey");

            }
    };

    messenger = new Messenger(myHandler);


}

将信使传递给服务,一旦结果准备好:

Message msg = Message.obtain();

Bundle data = new Bundle();
data.putString("Mkey",
        Smsg);
msg.setData(data);


try {
    // Send the Message back to the client Activity.
    messenger.send(msg);
} catch (RemoteException e) {
    e.printStackTrace();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JSON 数据从服务发送到 Android 中的 UI 的相关文章

随机推荐

  • 如何在android中使用jquery和phonegap打开pdf文件?

    最近我正在为 Android 构建一个应用程序 我正在使用phonegap 来做同样的事情 一切都运行良好 除了一个问题 即我无法在 android 中使用 jquery 打开 pdf 文件 我已经尝试了很多做同样的事情 但我无法做到这一点
  • 从主目录隐藏八度工作区文件

    我想更改文件octave workspace从我的主目录中 只需将其重命名为 octave workspace 如何设法使 Octave 识别具有此新名称的工作区文件 或创建一个新文件 Thanks 这就是该组织的目的octave core
  • 哪种 ZeroMQ 模式最适合异步套接字对?

    我有一个服务器 在亚马逊上运行 和一个连接到它的客户端 建立连接后 客户端和服务器仅相互通信并发送消息 e g 1 Client gt Server 2 Client gt Server 3 Client lt Server 4 Clien
  • Android:向系统添加自定义字体

    我知道如何在应用程序中使用自定义字体 但我想做的是在系统范围内添加自定义字体 就像在 Windows 上添加新字体一样 如果没有官方的方法 我应该阅读android源代码的哪个模块 我必须更改 android 源代码并构建它以支持自定义字体
  • 运行添加迁移时无法加载程序集 Microsoft.EntityFrameworkCore.Design

    我使用以下 csproj 创建了一个类库项目
  • 如何将 JSON 响应映射到 Angular 4 中的模型

    我已经尝试了很多 但无法将端点响应映射到我的模型 我正在使用 HttpClient 和 Angular4 我从服务中获取了数据 但它没有正确映射到我的模型类 我有以下 JSON 服务正在返回 result id 1 type User co
  • Android 中 Activity 之间的对象共享

    您好 我有一个关于在整个应用程序中传递对象的问题 假设我想在整个应用程序中拥有一个大的自定义对象 该对象将被多个活动和服务使用 我一开始做的就是这样的 首先 我创建了一个 Application 类并定义了一个单例对象 public cla
  • 代码签名身份 <名称> 与任何有效的、未过期的代码签名证书不匹配

    我希望有人能帮我解决这个令人抓狂的问题 我和我的朋友正在开发一个 mac 商店应用程序 托管在 github 上 一个月前 我们使用他的开发中心帐户从他的机器上发布了该应用程序 我最近将源代码从 github 拉到我的机器上 以进行更新 但
  • 使用 php5-geoip 和 Maxmind 数据库获取 IPv6 支持

    我按照这些相同的步骤进行了 geoip 设置 http php net manual en geoip setup php http php net manual en geoip setup php wget http geolite m
  • Spring 3.1 MVC - 表单处理工作流程最佳实践

    目前我正在尝试了解 Spring MVC 3 1 中表单提交 验证 错误处理的正确工作流程 不 我有一些问题 保留表单错误 通过重定向绑定模型的正确方法是什么 是否有内置方法 我还没有找到 我知道我可以使用 Spring 表单标签和 JSR
  • 选择给定日期范围内的所有月份,包括值为 0 的月份

    我正在尝试编写一个 MySQL 查询来获取给定日期之间所有月份的每月平均值 我的想法是这样的 查询 类似 SELECT AVG value1 as avg value 1 AVG value2 as avg value 2 MONTH sa
  • JavaScript“可写”属性描述符如何工作?

    为什么 JavaScript 可写 属性描述符不禁止任何属性更改 例如 var TheDarkKnight Object create Superhero name value Batman writable false TheDarkKn
  • ngOnChange 不存储 previousValue 属性

    Angular2 RC4 angularfire2 2 0 0 beta 2 在我的子组件中我无法获取changes posX previousValue存储任何东西 父级 html 的片段 inside ngfor loop posX c
  • 将图像从 JQuery 上传到 Node JS

    我需要从我的网站上传图像文件HTML页 但是 我不会使用form标签 因为还有其他form稍后将用于将数据传递到服务器的字段 文本字段 复选框等 我的后端在Node JS 我想要的只是从Node Js结尾 我怎样才能做到这一点 HTML d
  • 使用 OpenCV 查找重叠/复杂的圆

    我想计算红圈半径 图2 我在使用 OpenCV 的 HoughCircles 找到这些圆圈时遇到了麻烦 如图所示 2 我只能使用 HoughCircles 找到中心以黑色显示的小圆圈 original fig 2 由于我知道红色圆圈的中心
  • 如何使用单元格内的十六进制颜色值突出显示单元格?

    我有一个符号和匹配的十六进制颜色的电子表格 我想用单元格内的十六进制颜色填充单元格本身 或其旁边的单元格 我读过一些有关 条件格式 的内容 我认为这就是实现的方法 我怎样才能达到我想要的结果 条件格式无法实现所有颜色 假设 Row1 包含数
  • 未找到 EOF 标记 - 如何在 PyPDF 和 PyPDF2 中修复?

    我正在尝试使用 Python 将几个 PDF 文件合并为一个 PDF 文件 我已经尝试过 PyPDF 和 PyPDF2 在某些文件上 它们都抛出相同的错误 PdfReadError 未找到 EOF 标记 这是我的代码 page files
  • 如何通过谓词将序列分成两部分?

    如何通过谓词将序列拆分为两个列表 替代方案 我可以使用filter and filterNot 或者编写我自己的方法 但是没有更好的更通用 内置 方法吗 通过使用partition方法 scala gt List 1 2 3 4 parti
  • 为什么 ruby​​ 方法没有词法作用域?

    例如 def test a a is for apple def inner method a something this will refer to a different a end inner method puts a end 这
  • 将 JSON 数据从服务发送到 Android 中的 UI

    要求是 我有一个后台服务 在该服务中我正在执行 REST 调用来获取 JSON 数据 我想将 JSON 数据发送到 UI 并更新内容 我可以使用的一种方法是将整个 JSON 字符串存储在 SharedPreferences 中并在 UI 中