1. 程式人生 > >HttpUrlConnection 和 AsyncTask

HttpUrlConnection 和 AsyncTask

public class MyF1 extends Fragment{


    private ListView lv_httpUrlConnection;
    private String urlStr = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10";
    private MyAdapter adapter;
    List<MyNews.NewslistBean> list = new ArrayList<>();

    @Nullable
    @Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.myf1, container, false); lv_httpUrlConnection = view.findViewById(R.id.lv_HttpUrlConnection); return view; } @Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); new MyAsyncTask().execute(urlStr); adapter = new MyAdapter(); lv_httpUrlConnection.setAdapter(adapter); adapter.notifyDataSetChanged();; } class
MyAsyncTask extends AsyncTask<String, Void, String > { private String netJson; private String result; @Override protected String doInBackground(String... strings) { String s = strings[0]; netJson = NetUtils.getJsonByHttpUrlConnection(s); return netJson; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); MyNews news= gson.fromJson(s, MyNews.class); List<MyNews.NewslistBean> nal = news.getNewslist(); list.addAll(nal); Log.e("aa",list.toString()); adapter.notifyDataSetChanged(); } } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if(view == null){ view = View.inflate(getActivity(),R.layout.myf1_item,null); } TextView f1_tv = view.findViewById(R.id.f1_tv); f1_tv.setText(list.get(i).getTitle().toString()); ImageView f1_img = view.findViewById(R.id.f1_img); // f1_img.setImageBitmap(); return view; } } }

相關推薦

HttpUrlConnection AsyncTask

public class MyF1 extends Fragment{ private ListView lv_httpUrlConnection; private String urlStr = "https://api.tianapi.com/wxn

Android開發學習之路--異步消息Handler,Message,LooperAsyncTask之初體驗

被調用 project 輸入 gettext npos article app sso 音樂播放 在簡易音樂播放器中。用了Handler。也沒有過多地去研究學習,這裏再學習下android下的異步消息處理機制。這裏用了Handler主要是在線程中不能更新UI

HandlerAsyncTask

創建 ets handle class 循環 hand 自動 tails ati 原文地址:https://blog.csdn.net/LogicTeamLeader/article/details/51165375      https://blog.csdn.net/l

Android Handler機制理解AsyncTask使用小記

Android Handler機制理解和AsyncTask使用小記 這是一篇淺入淺出的文章,對handler的使用和問題進行了一個總結,推薦看文章的你自己動手去練習,記憶和理解會更深刻一點。 Handler的概念 我們先看一下Handler的百科介紹: Handler主要用於非同步

HttpURLConnectionH

MainActivity package com.example.day01; import android.graphics.Bitmap; import android.os.Handler; import android.os.Message; import android.s

HandlerAsyncTask非同步方式的實現

1.Handler非同步方式的實現 在Handler 非同步實現時,涉及到 Handler, Looper, Message,Thread四個物件,實現非同步的流程是主執行緒啟動Thread(子執行緒)執行並生成 Looper獲取Message並傳遞給Handler逐個獲取Looper中

設計模式---模板方法模式AsyncTask的原始碼分析

定義:定義一個操作中的方法的框架,將這些方法的具體的實現延遲到子類中實現, 使得子類能夠不改變演算法的結構就能重新定義演算法的內容。也就是流程封裝。 使用場景:程式碼執行的流程是固定的,也就是我們常用的將各個方法抽取的到父類中,然後通過鉤子函式進行約束子類中的行

HanderHttpURLConnectionGson解析網路資料設定listView

try { URL url=new URL("http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=10"); HttpURLCo

Android網路請求操作httpurlconnectionhttpclient基本使用

1.        網路請求操作中Get請求和Post請求有什麼區別? 1)        Get是向伺服器發索取資料的一種請求,而Post是向伺服器提交資料的一種請求 2)        Get是獲取資訊,而不是修改資訊,類似資料庫查詢功能一樣,資料不會被修改 3)   

通用網路請求實現之HttpURLConnectionOkHttp

  網路請求是一個耗時操作,所以我們需要開啟一個子執行緒來發起網路請求,同時,由於耗時邏輯都是在子執行緒裡進行的,那麼伺服器響應的資料就無法返回,這時我們應該考慮使用Java的回撥機制。 public interface HttpCallbackListene

HttpURLConnectionHttpClient使用

package com.bwie.skn.zuoye1; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import a

Android通用網路操作的封裝:HttpUrlConnection OkHttp [學習筆記]

package com.lfork.a98620.networkbestpractice; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import

安卓開發之訊息機制AsyncTask實現的基本原理

一、基本概述 在Android中,只可以在UiThread(UI主執行緒)才可以直接更新介面,不然會丟擲異常。 WHY: 防止多個執行緒來修改介面,導致混亂 通過同步鎖來防止介面混亂會導致效能降低 。

使用 HTTP 協議訪問網路的兩種方式:HttpURLConnection HttpClient

安卓中進行基於HTTP協議的網路訪問 說明: HttpClient (apache開發) HttpURLConnection(google在釋出安卓時在Java基礎上修改得到的) 使用HC(HttpClient)/UC(HttpURLConnect

HttpUrlConnection okhttp 請求資料

C/S  客戶端+伺服器 一,HttpUrlConnection在客戶端用於訪問伺服器去提交請求, 在從伺服器獲取響應的類GET方式 步驟:1, 得到URL物件  URL url = new URL("path......");2, 根據URL物件開啟HttpUrlCon

HttpURLConnectionokHttp兩種獲取網路資料實現

廢話少說,直接上程式碼。簡單易懂。 xml如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/r

Android開發學習之路--非同步訊息Handler,Message,LooperAsyncTask之初體驗

    在簡易音樂播放器中,用了Handler,也沒有過多地去研究學習,這裡再學習下android下的非同步訊息處理機制。這裡用了Handler主要是線上程中不能更新UI,而需要通過Handler才可以。關於非同步訊息處理有幾個概念。     1、Message:訊息,執行

Android學習筆記----HttpURLConnection HttpClient(已經被廢棄)

/***************************************************************/ 使用 HTTP 協議訪問網路 在 Android 上傳

Android網路程式設計 HttpUrlConnection HttpClient AsyncTask

前面幾篇文章介紹了Android中常用的http框架:volley,所謂框架者無非就是對我們所需的一系列操作進行了封裝,簡化了我們的工作。 但萬變不離其宗,我們還是需要掌握Android原生的網路操作類,所以這篇文章主要介紹這兩個類, HTTP

關於HandlerAsyncTask記憶體洩漏的解決辦法

一、Handler的記憶體洩漏 This Handler class should be static or leaks might occur (anonymous android.os.Handler) less... (Ctrl+F1) Since t