1. 程式人生 > >網路請求httpurlconnection ,非同步載入 放入viewpage中

網路請求httpurlconnection ,非同步載入 放入viewpage中

package com.bwei.viewpagedemo;

import android.os.AsyncTask;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        viewPager = (ViewPager) findViewById(R.id.viewpage);

        qqwl();

    }

    public void qqwl() {

        new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... params) {

                String json = initData();

                return json;
            }

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

                Gson gson = new Gson();

                Bean bean = gson.fromJson(s, Bean.class);

                List<Bean.ResultBean.VideoRecBean> video_rec = bean.getResult().getVideo_rec();

                viewPager.setAdapter(new MyPageAdapter(video_rec, MainActivity.this));

            }
        }.execute();


    }

    public String initData() {

        String conn = null;
        try {
         //   String str="http://op.juhe.cn/onebox/movie/video?key=8deaf6b2abcafd75da71fb10e08954e8&q=好先生";

            URL url = new URL("http://op.juhe.cn/onebox/movie/video?key=8deaf6b2abcafd75da71fb10e08954e8&q="+ URLEncoder.encode("好先生","utf-8"));

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            connection.setRequestMethod("GET");

            connection.connect();//連線

            if (connection.getResponseCode() == 200) {

                BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));

                while ((conn = bf.readLine()) != null) {
                    System.out.println(conn);
                    return conn;
                }


            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;

    }


}

package com.bwei.viewpagedemo;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.lidroid.xutils.BitmapUtils;

import java.util.List;

/**
 * Created by Administrator on 2016/6/21.
 */
public class MyPageAdapter extends PagerAdapter {

    private List<Bean.ResultBean.VideoRecBean> video_rec;

    private Context context;

    public MyPageAdapter(List<Bean.ResultBean.VideoRecBean> video_rec, Context context) {
        this.video_rec = video_rec;
        this.context = context;
    }

    @Override
    public int getCount() {
        return video_rec.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View)object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {

        View view=View.inflate(context,R.layout.item,null);

        ImageView imageview= (ImageView) view.findViewById(R.id.image);

        BitmapUtils  bitmapUtils=new BitmapUtils(context);

        bitmapUtils.display(imageview,video_rec.get(position).getCover());

        container.addView(view);

        return view;
    }
}



相關推薦

網路請求httpurlconnection ,非同步載入 viewpage

package com.bwei.viewpagedemo; import android.os.AsyncTask; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCo

封裝網路請求 HttpUrlConnection+AsyncTask

public class HttpConUtils { //建立一個靜態方法 public void getpath(String path) { MyAsyncTask myAsyncTask = new MyAsyncTask(); myAsyncTask.execu

曲速未來 警惕:新的網路釣魚活動將Ursnif對話執行緒

    區塊鏈安全諮詢公司 曲速未來 訊息:於今年9月發現的一項新的網路釣魚活動顯示,運營商越來越複雜,他們接管電子郵件帳戶並在對話執行緒中插入銀行木馬。   惡意軟體是對現有討論的回覆,這是一種強大的社會工程方法,可以保證很高的成功率,因為​​它

HTTP請求工具類---請求引數paramter

這裡我們將http請求引數放到paramter中(對方在獲取我們引數的時候 ,可以通過request.getparamter(key))來獲取;我們用到的是apache 的工具HttpClient。我們需要引入的包分別為: 這三個包可以從apache官網上下載,也可以從這

hibernate使用setResultTransformer()將SQL查詢結果集合

-h cal 們的 gpo ict dds eas find ans 在平時開發中Hibernate提供的hql基本能夠滿足我們的日常需求。但是在有些特殊的情況下,還是需要使用原生的sql,並且希望sql查詢出來的結果能夠綁定到pojo上。hibernate API中的cr

【算法與數據結構實戰】線性表操作-實現A並B,結果A

!= 實現 push 集合 div 中間 for iter 和數 //數據結構與算法基礎題1:線性表操作,實現A並B,結果放入A中 #include "stdafx.h" #include <iostream> #include <string>

Springboot打包tomcat執行

pom.xml調整 1.1 打包方式修改 <packaging>jar</packaging> 變更為 <packaging>war</packaging> 1.2. 新增依賴 重點:scope是provided <d

java通過檔案路徑讀取該路徑下的所有檔案並將其list

需求:所有xml檔案都放在某個目錄下,寫個方法讀取所有xml檔案,然後傳給下面的某個方法呼叫 實現:先把所有的xml檔案通過遞迴讀取出來 ,存放到List中,然後以檔名為Key,檔案(檔案路徑+檔名)為Value,存放到Map中,供後面程式呼叫 程式碼如下: import java.io.File

javascript把建立的節點陣列,再從陣列刪除節點

javascript把建立的節點放入陣列中,再從陣列中刪除節點 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>把建立的節點放入陣列中,再從陣列中刪除節點<

element ui遞迴查詢某一級id,篩選出所有子集,並把所有子集陣列

上程式碼 function serverArray(arr,lastLaboratory_id){ var newArr = [] for(var item = 0;item < arr.length;item++){ if(arr[item]['value']

從控制檯輸入若干個單詞(輸入回車結束)集合,將這些單詞排序後(忽略大小寫)打印出來。 [選做題]

import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Scanner; public cl

隨機10個100到200之間的整數,將這些數陣列,列印陣列,再使用 3種排序。

package com.paixu; public class Test_maopao { /** * @param args */ public static void main(String[] args) { // TODO Auto-generat

從0到100隨機抽10個不同的數,然後陣列。再按順序打印出來

import java.util.Random; public class Qushu_dayin { public static void main(String[] args) {

linux環境下,spring boot專案war包tomcat,訪問報404(絕對能夠解決你的問題,相信我~)

阿里雲伺服器上,之前自己也部署過一個測試用的專案,直接訪問也是可以訪問的,但是,,不知道為啥我新建立的一個spring boot專案選擇war包部署到tomcat上面,訪問結果都是404,找了很多中解決方法,特此記錄一下先說明一下。因為我建立maven專案的時候,選擇的就是w

Java基礎-將Bean屬性值Map

       利用發射將Java物件的屬性值以屬性名稱為鍵,儲存到Map中的簡單實現。包括自身屬性及從父類繼承得到的屬性。Java型別的getField[s]方法只能獲取public 型別的屬性,getDeclaredFields則能獲取所有宣告的屬性,同時,如果類的可見性

tomcat啟動時將快取Redis

package com.tmhc.sms.cache; import java.util.List; import java.util.Map; import java.util.Set; imp

將多行資料陣列

DataTable dt = new DataTable(); OleDbDataReader reader=null; stri

將球的方法數總結(球盒模型問題)

本篇部落格主要講解球盒模型問題中所有情況,因為該問題是組合數學中的最常見的一類問題,所以有必要在這裡詳細地說一說。 該類問題涉及到三個因素,分別是球、盒子、盒子是否可以為空。所以大概可以將該問題分為以下八種情況: 1.將r個無區別的球放入n個有標誌的

Android 把修改後的classes.dex 重新 apk

1.解壓apk 把.apk字尾名修改成zip,解壓提取出classes.dex 2.修改classes.dex 通過 IDA PRO 或 C32ASM 等工具修改檔案中的值 3.利用工具等對修改後的classes.dex重新效驗 dexf

遍歷list集合按照其中一個屬性分類Map

for (AppServerInfo appServerInfo : serverInfoList) { String envIp = appServerInfo.getEnvIp(); if (serverMap.keySet().contains(envIp)) {