package com.xiaotustudio.test2016082401;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity
{
String urlString = "http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924;114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥";
String json;
String jsonParse;
TextView textView;
Handler handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
if (msg.what == 0)
{
textView.setText(jsonParse);
}
super.handleMessage(msg);
}
};
Thread thread = new Thread()
{
@Override
public void run()
{
try
{
json = urlToJSON(urlString);
jsonParse = parseJSON(json);
Message message = new Message();
message.what = 0;
handler.sendMessage(message);
} catch (Exception e)
{
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
thread.start();
}
public String streamToString(InputStream inputStream)
{
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null)
{
stringBuilder.append(line);
}
return stringBuilder.toString();
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
public String urlToJSON(String urlString)
{
try
{
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream inputStream = connection.getInputStream();
return streamToString(inputStream);
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
public String parseJSON(String json)
{
try
{
JSONObject jsonObject = new JSONObject(json);
JSONArray jsonArray = jsonObject.getJSONArray("result");
JSONObject jsonObject0 = (JSONObject) jsonArray.opt(0);
JSONObject jsonObject1 = (JSONObject) jsonArray.opt(1);
String result = "";
result = jsonObject0.getDouble("x") + "," + jsonObject0.getDouble("y") + "\n"
+ jsonObject1.getDouble("x") + "," + jsonObject1.getDouble("y");
return result;
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
}
[160824][Android]Android中JSON字符串的获取与解析
最新推荐文章于 2022-03-29 18:18:32 发布