我的應用程序的設計出現了一些問題,尤其是從類中打開資源,與主Activity不同。上下文和活動的參考
我的項目的這一部分是一個網絡服務器,有2個類:WebServer和WebPage。 WebServer有這些方法: start(), get(), post(), send(WebPage)
和一些構造函數;
WebPage有2個變量:String head
(HTTP標題)和byte [] body
(可以是文本或任何文件的內容)。 WebPage有一個方法,byte[] getFile(String filename)
,由構造函數用來保存正文中的文件字節。該文件是一項資產。
當活動啓動時(onCreate()
),它創建一個WebServer的實例,調用start()並保持監聽。當服務器收到一個GET請求時,它解析它,並使用文件名創建一個WebPage對象來打開資產。最後WebServer只是用send(WebPage)發送頁面。
從WebPage類獲取活動引用的最佳方法是什麼?
好!因此,沒有辦法做相反的操作(例如,直接從WebPage類中獲取活動引用的指令)!是'getApplicationContext()'適合這個目的嗎? – supergiox
這不是相反!你能解釋一下爲什麼你不想在構造函數中傳遞它? –
我會有一個更小更通用的WebServer和WebPage的構造函數,類似於:'WebServer(int port)'和'WebPage(String filename)'。此外,我還會(儘可能)爲「通用」Web服務器類,用於Android和PC。但如果這是最好的解決方案,我想我會創建幾個構造函數,帶和不帶Context參數。 – supergiox