나는 이것에 대해 꽤 많은 논의가 있음을 알고 있지만, 내가 발견 한 것들 중 어느 것도 나의 혼란을 해소 할 수는 없다.
Android SDK를 처음 사용하고 Java 기술이 평균적입니다.안드로이드 새로 고침 스레드로부터의 TextView
다음과 같은 문제가 있습니다.
내 MainActivity - OnCreate() fct에서. 스레드 (Receiver)를 시작하여 SocketStream에서 데이터를 수신합니다. 이 쓰레드는 새로운 데이터가 스트림에서 읽혀질 때 GUI의 TextView-Element를 새로 고쳐야한다.
간단하지만 적절한 방법은 무엇입니까? ASyncTask에 대해 읽었지만 구현 방법을 이해하지 못했습니다.
public class MainActivity extends Activity
{
ExecutorService myExecutor;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("this is a test"); System.out.flush();
try
{
myExecutor = Executors.newCachedThreadPool();
myExecutor.execute(Receiver.getInstance());
}
catch (IOException e)
{
e.printStackTrace();
}
}
...
public class Receiver implements Runnable
{
[...]
public void run()
{
while (true)
{
//blocking system-io-call to read data from socket..
//extract information
// *** update textView *** ??
}
}
}
합니다. 원격 처리기가 있는지 어떻게 알 수 있습니까? – user2950911
@ user2950911 당신은 수신기에 대한 자신의 생성자를 작성할 수 있습니다. 공용 수신자 (MainActivity 활동) {this.activity = activity;}를 작성하고 수신자 인스턴스를 작성할 때 활동을 설정하십시오. – Suvitruf