&&全局置顶
27+59/17564
[钟灵毓秀.
查水至: 1013 页
476+10443/3238235
6+25/179290
[钟灵毓秀.
查水至: 72 页
67+715/596105
&&分类置顶
查水至: 7 页
1+64/128323
&&本版置顶
查水至: 3 页
5+29/22990
查水至: 17 页
18+162/25872
&&版块主题
查水至: 2 页
正在浏览此版块的会员Android开发(50)
&&&&&&& 进行Android应用开发,其中不得不使用到网络编程,最基本的就是向服务器发送Http请求,并接收从服务器返回的数据,该类数据一般为JSON或XML格式。&&&&&&& 向服务器进行请求数据一般有GET、POST两种方式,两者基本类似,以GET居多。本文先讨论使用GET方式向聚合数据API发送请求,以获得手机号码归属地的信息。归属地查询的接口的请求示例为:/mobile/get?phone=&key=您申请的KEY。默认返回的格式为JSON。最后把返回结果显示在TextView上。直接上代码:public class MainActivity extends Activity {
private TextV
private String url = &/mobile/get?phone=&key=accd067b5cb8e&;//向服务器请求的url.
private Handler handler = new Handler();//使用Handler更新UI,因为网络操作是在子线程中进行的,子线程不能更新UI,所以只能使用Handler机制;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(id_text);
//新建线程Thread,开始网络操作。
new Thread() {
public void run() {
URL httpUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();//与服务器建立连接;
conn.setReadTimeout(5000);
conn.setRequestMethod(&GET&);//设置请求方式为GET
final StringBuffer sb = new StringBuffer();//把获取的数据不断存放到StringBuffer中;
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), &UTF-8&));//使用reader向输入流中读取数据,并不断存放到StringBuffer中;
while ((line = reader.readLine()) != null) {//只要还没有读取完,就不断读取;
sb.append(line);//在StringBuffer中添加;
handler.post(new Runnable() {//使用Handler更新UI;当然这里也可以使用sendMessage();handMessage()来进行操作;
public void run() {
text.setText(sb.toString());//StringBuffer转化为String输出;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}.start();
}最后返回的结果如截图所示:。成功接收到从服务器返回的JSON数据。&&&&& 如果需要返回的数据为XML,只要重新拼装URL即可。如:&/mobile/get?phone=&key=accd067b5cb8e&dtype=xml&;最后返回的结果为XML,截图如下:。&&&&&&最后开发者根据需要,可以对XML和JSON进行解析,完成业务需求。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:783062次
积分:14449
积分:14449
排名:第539名
原创:568篇
转载:36篇
评论:400条
文章:59篇
阅读:57982
文章:68篇
阅读:73836
文章:217篇
阅读:378062
文章:51篇
阅读:88542
Android应用:
Github主页:
(1)(15)(4)(8)(10)(4)(24)(29)(10)(22)(33)(106)(130)(79)(132)飘渺仙剑设置自动战斗后如何自动战斗_百度知道