-
將JSON格式數(shù)據(jù)轉(zhuǎn)變?yōu)?NewsBean對(duì)象,添加到List。 1. 獲得 Json 的Object對(duì)象:jsonObject = new JSONObject(jsonString); 2. 獲得 Json 數(shù)組(數(shù)組名叫data):JSONArray jsonArray = jsonObject.getJSONArray("data"); 3. 使用for循環(huán),遍歷這個(gè)數(shù)組,將數(shù)組的每一個(gè)元素都轉(zhuǎn)變?yōu)?NewsBean對(duì)象,然后將NewsBean對(duì)象添加到 List。查看全部
-
// 通過(guò)inputStream讀取網(wǎng)頁(yè)信息,我們定義一個(gè)方法用于讀取輸入流: private String readStream(InputStream is) { InputStreamReader isr; String result = ""; try { String line = ""; isr = new InputStreamReader(is, "utf-8");// inputstream傳入的為字節(jié)流,通過(guò)inputstreamreader將字節(jié)流轉(zhuǎn)換為字符流 BufferedReader br = new BufferedReader(isr);// 通過(guò)bufferedreader將輸入流讀取出來(lái) while ((line = br.readLine()) != null) { result += line;// 拼接到字符串result里面 } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; }查看全部
-
通過(guò)inputstream讀取網(wǎng)絡(luò)內(nèi)容 inputstream傳入的為字節(jié)流,通過(guò)inputstreamreader將字節(jié)流轉(zhuǎn)換為字符流 通過(guò)bufferedreader將輸入流讀取出來(lái) readstream()讀取數(shù)據(jù)流,獲取到字符串 readstream(new URL(url).openStream());這段代碼的功能與url.openConnection().getInputStream()相同,可根據(jù)URL直接聯(lián)網(wǎng)獲取網(wǎng)絡(luò)數(shù)據(jù),簡(jiǎn)單,返回值類型為inputstream // 將 JSON 字符串轉(zhuǎn)換為我們想要的數(shù)據(jù) private List<NewsBean> getJsonData(String url) { List<NewsBean> newsBeansList = new ArrayList<NewsBean>(); try { //new URL(url).openStream()等同于url.openConnection().getInputStream(),返回值類型為InputStream String jsonString = readStream(new URL(url).openStream());// readstream()讀取數(shù)據(jù)流,獲取到字符串 Log.d("xyz", jsonString); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); return newsBeansList; }查看全部
-
轉(zhuǎn)載自筆記 http://idcbgp.cn/api/teacher?type=4&num=30上面的JSON數(shù)據(jù)便是我們所要異步加載的數(shù)據(jù)。 要點(diǎn): 1. 獲取JSON格式數(shù)據(jù),再把JSON格式的數(shù)據(jù)轉(zhuǎn)化成我們所需要的數(shù)據(jù),加載到 ListView 里面。 2. 創(chuàng)建新的類NewsBean,用于封裝JSON格式的數(shù)據(jù)。每一個(gè)NewsBean都代表一行數(shù)據(jù)。在doInBackground()中的第三個(gè)參數(shù)便設(shè)置為L(zhǎng)ist<NewsBean>,接下來(lái)List<NewsBean>會(huì)傳到adapter(適配器)中,最后加載給ListView,就可以在界面上顯示出JSON數(shù)據(jù)所代表的內(nèi)容信息。 3. 在AsyncTask的 doInBackground() 中獲取到傳遞進(jìn)來(lái)的URL,也就是JSON數(shù)據(jù)所在的網(wǎng)址。通過(guò)API返回JSON格式的數(shù)據(jù),并由此構(gòu)造出由NewsBean組成的List。查看全部
-
TextView控件xml屬性maxLines可以設(shè)定文字的行數(shù)查看全部
-
使用異步加載的原因: 1.android單線程模型 2.耗時(shí)操作阻塞UI線程 異步加載最常用的兩種方式: 1.多線程\線程池 2.AsyncTask查看全部
-
json 數(shù)據(jù)查看全部
-
新聞列表布局查看全部
-
f'f'f查看全部
-
1、獲取起始項(xiàng)和結(jié)束項(xiàng) 2、創(chuàng)建數(shù)組創(chuàng)建保存url 3、獲取圖片獲取指定的數(shù)組部分的圖片查看全部
-
1、加載完成和加載滑動(dòng)時(shí)造成卡頓 2、當(dāng)listview滾動(dòng)時(shí)不加載數(shù)據(jù)已達(dá)到效果 3、實(shí)現(xiàn)AbsListView.OnScrollListener 接口 4、changge狀態(tài)切換調(diào)用 onScroll滾動(dòng)整個(gè)過(guò)程 5、查看全部
-
1、將其視為map 2、添加 判斷是否存在 .put(key , value); 3、AsyncTask 判斷為空再進(jìn)行下載 不為則直接設(shè)置 4、執(zhí)行下載將下載好的bitmap加入緩存 5、創(chuàng)建一個(gè)imageloader 對(duì)象從而只有一個(gè)緩存區(qū)域已達(dá)到數(shù)據(jù)緩存的效果。查看全部
-
1、LruCache鍵值對(duì)保存數(shù)據(jù) 2、獲取部分內(nèi)容為緩存空間 3、Runtime.getRunTime().maxMemory() 獲取最大的緩存空間 4、LruCache初始化 創(chuàng)建匿名內(nèi)部類 重寫 sizeof(String key , Bitmap value)方法返回value.getByteCount() (返回?cái)?shù)據(jù)的大小)每次存入緩存的時(shí)候調(diào)用 5、添加獲取addLruCache(String key , Bitmap value)的方法 和getLruCache(String key)的方法。查看全部
-
1、給imageView設(shè)置一個(gè)setTag和對(duì)應(yīng)的url綁定查看全部
-
1、創(chuàng)建異步線程耗時(shí)操作使用方法獲取數(shù)據(jù) 2、創(chuàng)建一個(gè)方法使得字節(jié)流轉(zhuǎn)換為字符流 InputStream-----> InputStreamReader--->BufferedReader查看全部
舉報(bào)
0/150
提交
取消