iT邦幫忙

0

java onPostExecute 如何返回值?

  • 分享至 

  • xImage

各位大神好,我是android菜鳥,
今日參考其他人的寫法,好不容易連上databese 也能打結果打印,
但遇到onPostExecute 這種要怎樣返回value
我google一下 很多人方法都不一樣,參考來改也得不出個所以,
所以想在這邊請教一下大神有沒有提供一些意見。

    public class InfoAsyncTask extends AsyncTask<Void, Void, Map<String, String>> {
        @Override
        protected Map<String, String> doInBackground(Void... voids) {
            Map<String, String> info = new HashMap<>();
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
                String sql = "SELECT * from confinement WHERE ID = "+id;
                PreparedStatement statement = connection.prepareStatement(sql);
                ResultSet resultSet = statement.executeQuery();
                if (resultSet.next()) {
                    info.put("RTSP", resultSet.getString("RTSP"));
                }
            } catch (Exception e) {
                Log.e("InfoAsyncTask", "Error reading school information", e);
            }
            return info;
        }


        public void onPostExecute(Map<String, String> result) {
            if (!result.isEmpty()) {
                url = result.get("RTSP");
            }
        }
    }
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-03-15 09:12:29

不用 Map,直接用 ResultSet 回傳即可

真正重要的問題是
你真的要用非同步的方式查 SQL 資料(不等回傳結果)嗎...

alanotmt iT邦新手 4 級 ‧ 2022-03-17 14:18:24 檢舉

因為都是靜態的(其實是我不會寫XD

重點不是靜態或動態
而是在你想做的結果

我實在不明白為什麼有這麼多人
會想從 Android 直連 MySql (不透過 REST API)
可否請教是那一本書或是文章看到的嗎
/images/emoticon/emoticon19.gif

直連就算了
明明你的元件就一定得等資料才能往下執行
還用非同步的方式抓資料

總之
一整個不知道從何說起
/images/emoticon/emoticon06.gif

alanotmt iT邦新手 4 級 ‧ 2022-03-17 16:27:48 檢舉

抱歉,太菜了我,我都以第一直覺想說要連SQL 就直接尋找Android studio sql 或 Android studio database 這樣,所以尋到的答案就是那幾個,不過我現在碰壁了,原來所謂的非同步是指都要load到最後才會顯示,果然我要從sql撈rtsp結果每次都說鏈結無效才彈APP才get到我的rtsp,所以請教大神,我是否以rest api 的做法就可以了?

我要發表回答

立即登入回答