Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android服务应该保存其他类请求的数据_Android_Service_Getter Setter - Fatal编程技术网

Android服务应该保存其他类请求的数据

Android服务应该保存其他类请求的数据,android,service,getter-setter,Android,Service,Getter Setter,我有一个在后台运行的服务。它通过IP获取一些字符串。 它应该截断它们并将它们与一些变量进行协调 所以我想: public class Listener extends Service{ public void main(){ //fetch and preprocess data data=fetched_string; } public String data=null; public String getData(){return data;} } 据我理解,这应该行得通。但是我如何从

我有一个在后台运行的服务。它通过IP获取一些字符串。 它应该截断它们并将它们与一些变量进行协调

所以我想:

public class Listener extends Service{
public void main(){
//fetch and preprocess data
data=fetched_string;
}

public String data=null;
public String getData(){return data;}

}
据我理解,这应该行得通。但是我如何从另一个类访问这个字符串数据,或者我的想法有什么问题


或者可能有一个更优雅的android解决方案?

如果您的服务在应用程序运行时运行,即不被其他进程中的BroadcastReceiver调用,请扩展应用程序类,并让您的服务设置它们。然后,应用程序中的其他类可以访问全局变量。否则,让服务将它们写入Sqlite数据库并从那里访问它们。

生活在单例类中的全局变量被体系结构纳粹鄙视,但在android上确实很有用。应用程序的所有类都可以访问它,因为它们在同一个VM中运行,但在应用程序重新启动后将无法生存

要在重启时存储数据,有三个选项 -共享首选项(对于小数据量) -sqlite,如果有很多数据不是很结构化,那么您确实需要排序/查询 -使用您选择的数据绑定解决方案(shameles self advertising on:)将其序列化为JSON,并将其存储在文件中(如果数据是结构化的,并且您希望有对象)