小编emb*_*bry的帖子

在实现Runnable的类中获取上下文

我有一个Android的应用程序,在与UI不同的线程中(实现Runnable)

我收到一些数据(纬度和经度形式的GPS数据)和这个数据我

想通过传递给Geocoder找到正确的地址......之后Geocoder返回的地址将它存储在数据库中:

我是这样做的:

public class Client implemets Runnable{


public void run()
{

Geocoder myLocation=new Geocoder(getApllicationContext,Locale.getDefault());



}

}
Run Code Online (Sandbox Code Playgroud)

但我在这里得到错误:

Geocoder myLocation=new Geocoder(getApplicationContext,Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)

Runnable不知道谁getApplicationContext是.....我尝试用"this"而不是同样的故事......

现在哪个是传递给Geocoder构造函数的正确上下文????

以下是Geocoder构造函数的外观:

Geocoder myLocation =new Geocoder(context,locale);
Run Code Online (Sandbox Code Playgroud)

在我的活动中,我这样做:

public class Server2 extends Activity {


public void onCreate(Bundle icicle) {


ClientThread_special client = new ClientThread_special(db);//here is where I start thread


        new Thread(client).start();
}


}
Run Code Online (Sandbox Code Playgroud)
public class ClientThread_special implements Runnable {



 public ClientThread_special(DBAdapter db){

     this.db=db;
    }


 public void run() 

{

Geocoder myLocation=new Geocoder(getApllicationContext,Locale.getDefault());


}


}
Run Code Online (Sandbox Code Playgroud)

我该如何修改构造函数

public ClientThread_special(DBAdapter …
Run Code Online (Sandbox Code Playgroud)

android android-context google-geocoder

5
推荐指数
1
解决办法
7884
查看次数

在线程之间共享数据

我有一个带有两个不同线程的Java应用程序,它执行以下操作:

1.第一个线程(它是一个ThreadPool) - 监听一个端口,查找来自五个不同用户的传入连接.

我们打电话给他们:

user1 user2 user3 user4 user5

他们每个人都发送GPS数据.

2.第二个线程同时我的java应用程序监听第二个端口,等待另一个客户端(不同于发送GPS数据的客户端)连接到它.

现在......我有第二个应用程序连接到我刚才描述的java应用程序.

在第二个应用程序中,我有一个列表user1 ... user5,具体取决于我将选择哪个项目(user1 ... 5)我必须从我选择的用户那里收到正确的数据.此外,所有这些数据都将存储在DB中的第二个用户处.

现在任何人都可以给我一个暗示如何在线程之间共享所有这些数据????

我尝试使用Singleton类和BlockingQ,但似乎没有一个适合因为数据丢失!

java gps multithreading

4
推荐指数
1
解决办法
7150
查看次数