016-Android獲取onenet平台上的數據


package com.example.webview;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private String msg;//聲明一個輸出值
    private Button getmsg;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getmsg = (Button) findViewById(R.id.getmsg);
        getmsg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new newThread().start();

//                方法1:直接創建子線程並啟動
//                new Thread(){
//                    @Override
//                    public void run() {
//                        //第一步:實例化URL對象
//                        String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢最新數據流詳情
////                        String address="https://api.heclouds.com/devices/584758432/datapoints?limit=10"; //查詢歷史數據
////                        String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢數據流詳情
//
//                        try {
//                            URL url =new URL(address);   //實例化URL對象
//                            //實例化 HttpURLConnection對象
//                            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//                            //設置鏈接屬性
//                            conn.setRequestMethod("GET");//設置請求方法
//                            conn.setRequestProperty("api-key","TeO0juJlw1uDTmDJRKD7cvzj=cM=");
//                            conn.setRequestProperty("Host","api.heclouds.com");
//                            conn.setReadTimeout(5000);//設置超時時間
//                            if(conn.getResponseCode()==200){ //獲取狀態碼 200表示連接成功
//                                //獲取輸入流
//                                InputStream in= conn.getInputStream();
//                                //讀取輸入流
//                                byte[] b=new byte[1024*512]; //定義一個byte數組讀取輸入流
//                                ByteArrayOutputStream baos = new ByteArrayOutputStream(); //定義緩存流來保存輸入流的數據
//                                int len=0;
//                                while((len=in.read(b))>-1){  //每次讀的len>-1 說明是是有數據的
//                                    baos.write(b,0,len);  //三個參數  輸入流byte數組   讀取起始位置  讀取終止位置
//                                }
//                                String msg=baos.toString();
//                                Log.e("TAG",msg);
//
//                            }
//                        } catch (java.io.IOException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                }.start();


//                //方法2:先創建子線程,然后啟動
////                private Thread newThread; //聲明一個子線程
//            newThread = new Thread(new Runnable() {
//                @Override
//                public void run() {
//                    //第一步:實例化URL對象
//                    String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢最新數據流詳情
////                        String address="https://api.heclouds.com/devices/584758432/datapoints?limit=10"; //查詢歷史數據
////                        String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢數據流詳情
//
//                    try {
//                        URL url =new URL(address);   //實例化URL對象
//                        //實例化 HttpURLConnection對象
//                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//                        //設置鏈接屬性
//                        conn.setRequestMethod("GET");//設置請求方法
//                        conn.setRequestProperty("api-key","TeO0juJlw1uDTmDJRKD7cvzj=cM=");
//                        conn.setRequestProperty("Host","api.heclouds.com");
//                        conn.setReadTimeout(5000);//設置超時時間
//                        if(conn.getResponseCode()==200){ //獲取狀態碼 200表示連接成功
//                            //獲取輸入流
//                            InputStream in= conn.getInputStream();
//                            //讀取輸入流
//                            byte[] b=new byte[1024*512]; //定義一個byte數組讀取輸入流
//                            ByteArrayOutputStream baos = new ByteArrayOutputStream(); //定義緩存流來保存輸入流的數據
//                            int len=0;
//                            while((len=in.read(b))>-1){  //每次讀的len>-1 說明是是有數據的
//                                baos.write(b,0,len);  //三個參數  輸入流byte數組   讀取起始位置  讀取終止位置
//                            }
//                            String msg=baos.toString();
//                            Log.e("TAG",msg);
//
//                        }
//                    } catch (java.io.IOException e) {
//                        e.printStackTrace();
//                    }
//                }
//            });
//                newThread.start();

            }
        });
    }


//      方法3:創建外部線程類
//    public class  newThread extends Thread  {
//        public void run(){
//            //第一步:實例化URL對象
//            String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢最新數據流詳情
////                        String address="https://api.heclouds.com/devices/584758432/datapoints?limit=10"; //查詢歷史數據
////                        String address="https://api.heclouds.com/devices/584758432/datastreams/dust_concentration"; //查詢數據流詳情
//
//            try {
//                URL url =new URL(address);   //實例化URL對象
//                //實例化 HttpURLConnection對象
//                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//                //設置鏈接屬性
//                conn.setRequestMethod("GET");//設置請求方法
//                conn.setRequestProperty("api-key","TeO0juJlw1uDTmDJRKD7cvzj=cM=");
//                conn.setRequestProperty("Host","api.heclouds.com");
//                conn.setReadTimeout(5000);//設置超時時間
//                if(conn.getResponseCode()==200){ //獲取狀態碼 200表示連接成功
//                    //獲取輸入流
//                    InputStream in= conn.getInputStream();
//                    //讀取輸入流
//                    byte[] b=new byte[1024*512]; //定義一個byte數組讀取輸入流
//                    ByteArrayOutputStream baos = new ByteArrayOutputStream(); //定義緩存流來保存輸入流的數據
//                    int len=0;
//                    while((len=in.read(b))>-1){  //每次讀的len>-1 說明是是有數據的
//                        baos.write(b,0,len);  //三個參數  輸入流byte數組   讀取起始位置  讀取終止位置
//                    }
//                    String msg=baos.toString();
//                    Log.e("TAG",msg);
//                }
//            } catch (java.io.IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM