android - 在 android 中进行 Json 调用

标签 android json

我是Android新手,对android的了解不是很丰富。

我正在尝试在 android 中实现 Json 调用,我正在使用愚蠢的代码来获取数据库中所有联系人的列表。

package com.example.library;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class SecondActivity extends Activity {



    Button show_data;
    JSONObject my_json_obj;
    String path,firstname,lastname;
    {
    path = "http://192.168.71.129:3000/contacts";
        HttpClient client = new DefaultHttpClient();
        HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
        HttpEntity  entity;
        HttpResponse response = null;
        HttpURLConnection urlconn;
        my_json_obj = new JSONObject();

    }
}

我不知道这是否是正确的方法,但这段代码已经存在于另一个项目中,我只是做了一些更改。

请指导我完成这个,因为我已经浏览了许多 stackoverflow 和谷歌答案,但它非常令人困惑,因为我只是一个初学者并且不了解 android 中的 json 调用。

最佳答案

我可以给你一大段代码然后说“嘿试试这个”,但就像你说的你对 Android 很陌生所以我根本不会。 我认为你可以通过尝试然后简单地复制粘贴代码(大多数时候)来学习更好的东西,这更有值(value)

在进行网络请求和解析数据时,您需要考虑几件事情。

网络请求你必须始终在一个单独的线程中然后在 UI 线程中执行此操作,因为如果你不这样做你会得到一个 NetworkOnMainUiThreadException 如果我的头脑是正确的。

这同样适用于解析您从请求中检索到的数据。 我在您当前的代码中没有看到任何数据解析,但我只是想提醒您一下,因为您可能会在应用程序的某个时刻执行此操作。

Here您可以找到如何使用 AsyncTask 进行线程处理的教程。这是在 Android 中应该如何完成的“方式”,它们确实让您轻松完成。

阅读该教程时,您将获得完成本类(class)内容的基本知识。

当您了解线程的概念以及如何使用这项新添加的技能时,我建议您阅读并跟进此json 教程here .

希望对你有帮助

关于android - 在 android 中进行 Json 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236772/

相关文章:

android - 在服务器端或客户端处理 Null 值?

python - 如何在 python 中将 csv 转换为 json?

android - Cocos2d 空指针异常

android - Edittext 导致 stackoverflow

android - 解析 JSON 数组时出错

javascript - 在 mouseenter 上使用动态 div id 显示/隐藏表格列

javascript - angularjs http get请求加载url失败

Android Listview和图片解码

java - 异步任务未加载数据

android - 是否可以以编程方式添加提醒而不在 Android 日历中创建事件?