上下文和活动的参考
我的应用程序的设计存在一些问题,特别是从与主活动不同的类中打开资产。
我的项目的这一部分是一个网络服务器,有 2 个类:WebServer 和 WebPage。 WebServer 有以下方法: start()、get()、post()、send(WebPage)
和一些构造函数;
WebPage 有 2 个变量:String head
(HTTP 标头)和 byte[] body
(可以是文本或任何文件的内容)。 WebPage 有一种方法,byte[] getFile(String filename)
,构造函数使用该方法将文件的字节保存在正文中。该文件是一种资产。
当 Activity 启动(onCreate()
)时,它会创建一个 WebServer 实例,调用 start() 并保持监听状态。当服务器收到 GET 请求时,它会解析该请求并使用文件名创建一个 WebPage 对象来打开资源。最后,WebServer 只是使用 send(WebPage) 发送页面。
从 WebPage 类获取 Activity 引用的最佳方法是什么?
I've some problem with the design of my app, especially opening assets from a class, different from the main Activity.
This part of my project is a webserver and there are 2 classes: WebServer and WebPage. WebServer has these methods:start(), get(), post(), send(WebPage)
and some constructors;
WebPage has 2 variables: String head
(the HTTP header) and byte [] body
(the content who can be text or any file).
WebPage has one method, byte[] getFile(String filename)
, used by constructors to save the bytes of the file in body. The file is an asset.
When the Activity starts (onCreate()
), it creates an instance of WebServer, call start() and stay in listening. When the server receives a GET request, it parses it and it creates a WebPage object using the filename to open the asset. Finally WebServer just sends the page with send(WebPage).
Which is the best way to obtain an Activity's reference from the WebPage class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于您的问题应该得到更多解释:您希望使您的 WebServer 尽可能通用,以便它可以在 Android 和 PC 上运行。
执行以下操作。创建你的通用Web服务器:
创建你的android Web服务器
旧答案
使用非常常用的方法,不用担心内存泄漏。
在您的活动中:
Since your question should be more explained: you want to keep your WebServer as generic as possible so that it works on Android and on a PC.
Do the following. Create your generic WebServer:
Create your android WebServer
Old Answer
Use the very usual way and don't worry about memory leak.
In your activity:
将其作为构造函数中的参数传递,或添加一个方法,以便您的活动能够传递自身。
Pass it as a parameter in the constructor, or add a method so your activity will be able to pass itself.