1. 程式人生 > >非同步訪問介面回撥返回資料

非同步訪問介面回撥返回資料

package zhanghaijiao.bawei.com.netutils_demo;


import android.os.AsyncTask;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


/**
 * Created by jane on 2018/1/5.
 */


public class MyTask extends AsyncTask<String,Void,String> {


    //2.申明介面型別變數
    private  ICallBacks iCallBacks;


    //4.傳入實現此介面的類物件
    public MyTask(ICallBacks iCallBacks) {
        this.iCallBacks = iCallBacks;
    }


    @Override
    protected String doInBackground(String... strings) {
        try {
            URL url=new URL(strings[0]);
            HttpURLConnection connection =(HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(5000);
            connection.setConnectTimeout(5000);


            if(connection.getResponseCode()==200){
                InputStream inputStream = connection.getInputStream();
                String s=StreamToStingUtis.streamToString(inputStream);
                return s;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }


    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);


        //3.呼叫介面
        iCallBacks.getJson(s);


        //iCallBacks=new MainActivity();
       // iCallBacks.getJson(s);


    }


    //1.定義一個介面
    public interface ICallBacks{
        void getJson(String json);
    }
}

相關推薦

非同步訪問介面返回資料

package zhanghaijiao.bawei.com.netutils_demo; import android.os.AsyncTask; import java.io.InputStream; import java.net.HttpURLConnection;

介面(傳遞資料)

背景:兩個Fragment組成主介面,左邊的Fragment是個目錄、即列表,右邊的Fragment是詳細資訊面板,需要顯示左邊Fragment傳過來的資料; 實現:1.首先定義一個介面,如下

XListView+工具類+介面+獲取資料

//MainActivity public class MainActivity extends FragmentActivity { private ViewPager viewPager; private List<Fragment&g

Android介面傳遞資料

一 、回撥函式回撥函式就是一個通過函式指標呼叫的函式。如果你把函式的指標(地址)作為引數傳遞給另一個函式,當這個指標被用為呼叫它所指向的函式時,我們就說這是回撥函式。回撥函式不是由該函式的實現方直接呼叫,而是在特定的事件或條件發生時由另外的一方呼叫的,用於對該事件或條件進行

AIDL實現不同應用之間跨程序通訊及傳遞與返回各種資料型別和遠端介面

含義:AIDL(Android Interface Definition Language),是android介面定義語言,這種語言定義了一個客戶端和伺服器通訊介面的一個標準、規範。 為什麼要有AIDL?  我們都知道android中的四大元件Activit

day032程序池(重點)程序池的同步、非同步方法,函式;管道、資料共享

本節內容: 1、管道(瞭解) 2、資料共享(瞭解) 3、程序池(重點) 4、程序的同步方法 5、程序池的非同步方法 6、回撥函式 7、檔案物件的獲取 一、管道(瞭解) 程序間通訊(IPC)

Android通過介面來實現資料更新(Kotlin版)

最近開發一個專案,用的是kotlin,本人kotlin水平有限,還請諒解,需要在fragment修改資料,然後更新到activity中,我使用介面回撥來完成這個需求。 先上一張圖來看一下 修改完暱稱,不僅要在fragment裡更新資料,還要同步更新act

url獲取資料介面呼叫方法+自定義顯示(介面

呼叫方法 new MyTask(new MyTask.Icallbacks(){});//生成返回值myTask.execute("地址");//介面設定 public class MyNetTask

for迴圈非同步呼叫介面,怎樣判斷資料已經返回完成?

在工作中遇到了一個for迴圈呼叫介面的例子:首先要根據一個叢集ID,去呼叫介面查詢此叢集下的所有“名稱空間”,接著再用for迴圈來一個個查詢所有“名稱空間”下的“例項”,eg: <script type="text/javascript">

JAVA + 非同步請求 + 《AsyncTask》 + 介面

package Utils; import android.os.AsyncTask; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConne

Android中的介面詳解,機制:以Activity和Adapter傳遞資料為例。

首先解決啥是回撥: 我覺得這個例子比較好:某天,我打電話向你請教問題,當然是個難題,你一時想不出解決方法,我又不能拿著電話在那裡傻等,於是我們約定:等你想出辦法後打手機通知我,這樣,我就掛掉電話辦其它事情去了。過了XX分鐘,我的手機響了,你興高采烈的說問題已經搞定,應該

對於Android中介面機制的理解

對於介面回撥機制首先要弄明白的問題是為什麼需要它,也就是介面回撥能為我們解決什麼問題: 在開發過程中我們經常會遇到一些有關觸發執行的問題,比如使用者觸發按鈕,然後程式就執行了一系列的操作的比如註冊登入啊;問題的核心在於為什麼是出發了按鈕才執行,不觸發就不執行嗎? 這個時候就能體現出各

RecyclerView---點選條目---介面

activity_main <Button android:id="@+id/add" android:layout_width="0dp" android:layout_height="wrap_content" android:layout

Android 介面實現Fragment的跳轉

---------------------MainActivity------------------- package com.example.earl.fragmentinterfacejump; import android.app.Activity; import androi

RecyclerView +介面

需要的依賴 com.android.support:recyclerview-v7:28.0.0 MainActivity import android.os.Bundle; import android.support.v7.app.AppCompatActivity;

java HttpClient 訪問webservice並解析返回資料

關於webservice的普及就不多說了,直接進入主題吧。 1.導包 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient HttpClient相關包-->

HttpUrlConnection+圖片載入+工具類+介面+單例+AsyncTask封裝工具類

1.MainActivity頁面 package com.example.httpurlconnection; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import andro

HttpClient+圖片載入+工具類+介面+AsyncTask封裝到工具類

1.MainActivity頁面 package com.example.httpclient; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widg

interface 介面簡單模板

文章目錄 1、功能簡介 2、MainActivity 檔案 3、Message 檔案 4、log 列印 1、功能簡介 方便在不同類,不同activ

介面----點選item中的ImageView,在Activity中顯示dialog

在做專案的時候有一個功能是:點選listview的item中的一個圖示,在activity中彈出一個dialog.想到的一個辦法就是用介面回撥來實現.對於介面回撥這一塊我其實也還是不太懂,別人寫的複雜的一點的慢慢看也能看懂,但要自己寫的話,也就只能寫一些簡單的,這個demo就是一個很簡單