안드로이드 개발 질문/답변
(글 수 45,052)
Service Start 부분
public int onStartCommand(Intent intent, int flags, int startId) { socketClient(); if(data !=null) handleCommand(intent); // We want this service to continue running until it is explicitly // stopped, so return sticky. return START_STICKY; }
Service Socket Client 부분
void socketClient(){ Socket client; try { client = new Socket (ipAddress, port); //ObjectOutputStream outstream = new ObjectOutputStream(client.getOutputStream()); ObjectInputStream instream = new ObjectInputStream(client.getInputStream()); data = (String)instream.readObject(); client.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
안드로이드 메인 액티비티 부분
public class ExamServiceActivity extends Activity { static TextView text1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button bt1 = (Button)findViewById(R.id.button1); Button bt2 = (Button)findViewById(R.id.button2); bt1.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(ServiceClass.ACTION_FOREGROUND); intent.setClass(ExamServiceActivity.this, ServiceClass.class); startService(intent); text1 = (TextView)findViewById(R.id.textView1); text1.setText(ServiceClass.data); } }); bt2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub stopService(new Intent(ExamServiceActivity.this, ServiceClass.class)); } }); }
이렇게 구성되어있습니다.
이상황에서 Service에서 가져온 값을 엑티비티 텍스트 뷰로 표시하고 싶은데 어떻게 하면 좋을까요?
위와 같이 하면 Socket연결은 되는데 가져온 값을 제대로 활용하지 못한거 같아요...
공지사항을 다 읽었음
질문게시판을 이용해주세요