Android訪問網路:服務端返回XML或JSON格式資料,Android 進行解析並使用ListView顯示
剛剛入門學習了Android的ListView,也是看了傳智播客黎活明老師的視訊學習了,但是一直執行不了,還報錯了。報的錯誤是:at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1......省略後面的了。。。。。後面上網查找了一下資料,原因是Android4.0以後訪問網路要在子執行緒裡執行;不能在主程式裡執行。查找了一下資料對這個例子進行了改進,下面連結的例子程式碼就是視訊裡面的差不多的程式碼:http://blog.csdn.net/lynxzong/article/details/12435451
下面的是我在這個例子上改過的程式碼,只是改動了MainActivity而已,其他的跟上面連結的程式碼一樣的。希望各位多多指導;有寫錯或者寫不好的地方求改正。。。
package com.example.videonews; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import com.example.domain.News; import com.example.service.VideoNewsService; import android.support.v7.app.ActionBarActivity; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private Context context; private ListView listview; private ProgressDialog dialog; private SimpleAdapter adapter; private VideoNewsService videoNewsService; private List<News> videosList = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context = MainActivity.this; /**初始化介面**/ initView(); /**載入基本的控制元件,並設定載入時候的滾動條**/ dialog = new ProgressDialog(context); dialog.setMessage("正在載入資料..."); dialog.setCancelable(false); dialog.show(); Thread thread=new Thread(new loadListRunnable()); thread.start(); } /** * *初始化介面 */ private void initView() { listview=(ListView) findViewById(R.id.listview); } public class loadListRunnable implements Runnable { @Override public void run() { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } videoNewsService=new VideoNewsService(); try { //videosList=videoNewsService.getLastNews();//讀取xml檔案 videosList=videoNewsService.getJSONLastNews(); //讀取json Bundle bundle=new Bundle(); if(null!=videosList && videosList.size()>0) { bundle.putString("result", "success"); Message message=new Message(); message.setData(bundle); handler.sendMessage(message); } else { bundle.putString("result", "fail"); } } catch (Exception e) { e.printStackTrace(); } } } /** * 對返回的資料進行處理 */ private Handler handler=new Handler(){ public void handleMessage(Message msg) { String msStr=msg.getData().getString("result"); if("success".equals(msStr)) { //載入資料賦值 initListView(); //資料載入完成後結束進度條 dialog.dismiss(); } else{ Toast.makeText(getApplicationContext(), "獲取資料失敗", 0).show(); } } }; protected void initListView() { List<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>(); for(News news:videosList) { HashMap<String, Object> item=new HashMap<String, Object>(); item.put("id", news.getId()); item.put("title", news.getTitle()); item.put("timelength", getResources().getString(R.string.timelength)+ news.getTimelength()+getResources().getString(R.string.fenzhong)); data.add(item); } SimpleAdapter adapter=new SimpleAdapter(this, data, R.layout.items, new String[]{"title","timelength"}, new int[]{R.id.title,R.id.timelength}); listview.setAdapter(adapter); } }
相關推薦
Android訪問網路:服務端返回XML或JSON格式資料,Android 進行解析並使用ListView顯示
剛剛入門學習了Android的ListView,也是看了傳智播客黎活明老師的視訊學習了,但是一直執行不了,還報錯了。報的錯誤是:at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.jav
Android訪問網路系列之--服務端返回XML或JSON格式資料,Android 進行解析並顯示
例子說明:使用者通過訪問web資源的最新電影資訊,伺服器端生成XML或JSON格式資料,返回Android客戶端進行顯示。 此案例開發需要兩個方面 WEB開發和android開發. 一.web開發相對比較簡單,只是模擬一下 相關程式碼如下: 1.實體Bean package ygc.yxb.domain
SpringBoot RestController 同時支持返回xml和json格式數據
獲取json 需要 tid stc style pre cati 返回json provide @RestController 默認支持返回json格式數據,即使不做任何配置也能返回json數據 當接口需要支持xml或json兩種格式數據時應該怎麽做呢? 只要引入 Jack
SpringMVC返回XML或者JSON格式的資料
SpringMVC的web.xml配置我就不說了… 首先需要加入json的jar包: jackson-mapper-asl-*.jar jackson-core-asl-*.jar 在applicationContext-servlet.xml檔案配置中
實現xml和json格式資料——單例模式的Db類(第二篇)
上一篇只是實現了xml和json格式資料的類的封裝,不過它是沒有資料的來源的;因此,本篇文章是封裝一個呼叫資料庫資料的方法,視訊裡面用的是mysql_connect()等函式,不過現在用這些函式會出現notice,因為這些函式已經過時了,將來可能不會再用到;其實
安卓開發之解析XML和JSON格式資料
參考書作者:郭霖我會將所學的知識簡單記錄下來以便於大家快速查閱資料,另外郭霖大俠沒有提到的東西我也會作出補充我們通常情況下,每個需要訪問網路的應用程式都會有一個自己的伺服器,我們可以向伺服器提交資料,也可以從伺服器上獲取資料。在網路上傳輸資料時最常用的格式用兩種:XML和JS
python pymysql flask 簡易使用 和返回指定的json格式資料
pymysql.demo import pymysql import json #print(print.__doc__) conn = pymysql.connect(host="192.168.169.132", user="root"
移動Web開發,資料壓縮,後端壓縮傳輸的json格式資料
最近做了個移動web應用,java平臺做後臺,後臺查詢的資料結果用json格式傳輸,其中有個頁面,後臺返回的資料量很大,json字串達到了68K,這對於移動裝置的流量和響應速度來說,絕對是個悲劇。 1,未處理前的資料格式為: {[{"consDept":"A部門","con
springMVC返回複雜的json格式資料
一、springMVC返回json格式資料常用的寫法是使用@ResponseBody註解,在每一個方法前加上這個註解,springMVC的json解析機制會自動把返回值(Object型別的物件)轉換為json格式的資料,如果返回的json物件比較複雜,每一個方法
XML與JSON格式資料解析方法
在網路上傳輸資料時最常用的格式有兩種:XML和JSON,下面就來學習如何解析XML和JSON格式的資料。一、解析XML格式資料XML格式內容如下:<apps> <app> <id>1</id>
Java 通過httpClient Post方式提交xml,並從服務端返回資料
在通過http請求連線服務端程式時,有兩種方式httpClient這個不是標準的java庫,但是是開源專案,能夠快捷的開發,但如果做Android的開發,推薦使用httpUrlConnect這個工具。但是httpClient確實也是一個比較好用的工具。 這裡面
Android音訊實時傳輸與播放(二):服務端
我偷懶就用java寫了個簡單的伺服器,大家明白原理就好。 服務端共開放兩個埠,一個udp上行埠用來接收amr音訊流,另一個tcp下行埠用來發送amr音訊流。 我這裡寫的服務端實現了組播的功能,即一個人在錄音,可以同時讓很多人同時聽到。 簡而言之,服務端做的唯一一件
QT網路程式設計:服務端和客戶端程式設計
QtNetwork中的QTcpSocket和QTcpServer類可用來編寫基於TCP的client和server QTcpSocket提供client端的TCP功能,能夠發出TCP的請求至伺服器,其實它也是具有服務端傳送資料到客戶端的功能 QTcpServer則提供伺服器
windows網路共享訪問centos samba服務端出現許可權問題不能訪問解決
1、ftp //If you want to share files anonymously <如果你想把這個共享給匿名的話,需要開啟以下> chcon -R -t public_content_t /var/ftp //If you want to setup a directory whe
網路程式設計:服務端處理多個客戶端----多執行緒實現、建立執行緒特有資料.
重點集中在用多執行緒實現,建立執行緒特有資料,不會發生資料寫入衝突。實現的功能很簡單,客戶端連線成功後,輸入一個整數,服務端返回它的二進位制形式。客戶端輸入0,則主動退出。三個檔案: duoxianc.c ,主檔案binarykey.c,執行緒執行函式及特有資料建立clien
SQL學習筆記:服務端配置-如何讓外網訪問SQL2000
剛剛寫了個DEMO,在內網來測試SQL2000後完全正常。現在想測試外網是否正常,畢竟路由器IP不固定,所以選擇了路由器+花生殼免費域名(koma.5166.info),所以先安裝花生殼客戶端軟體。下面是我在這過程中遇到的一些問題: 1、理論上將1433埠映射出
【實戰】Unity3d實戰之Unity3d網路遊戲實戰篇(6):服務端框架的搭建
Unity3d實戰之Unity3d網路遊戲實戰篇(6):服務端框架的搭建 學習書籍《Unity3d網路遊戲實戰》 羅培羽著 機械工業出版社 本文是作者在學習過程中遇到的認為值得記錄的點,
Token:服務端身份驗證的流行方案
rst 服務 方案 app 過程 組件圖 wav hit margin 01- 身份認證 服務端提供資源給客戶端,但是某些資源是有條件的。所以服務端要能夠識別請求者的身份,然後再判斷所請求的資源是否可以給請求者。 token是一種身份驗證的機制,初始時用戶提交賬號數據
Linux通過端口轉發來訪問內網服務(端口轉發訪問阿裏雲Redis數據庫等服務)
creat 同方 eat sta -s span 不用 man conf # 安裝rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&am
解決PHP服務端返回json字符串有特殊字符的問題
解析 clas 要求 com 切換 trac bom break 必須 1. 問題描述 在調用PHP後臺接口發現後臺接口返回的json字符串Gson一直解析不通過: List<Region> districts = null; if (!Text