마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

실시간 업데이트 코딩 질문좀

0 추천
 MyTimerCallBack = new TimerTask() {

   @Override
   public void run() { // timer task -> 타이머 이벤트 처리
    final Runnable timerAction = new Runnable() {
     @Override
     public void run() {

      UpdateText();

     }
    };

    current1.post(timerAction);
    current2.post(timerAction);
    current3.post(timerAction);
    volt1.post(timerAction);
    volt2.post(timerAction);
    volt3.post(timerAction);

   }
  };
  StartTimer(1);
 }

 private void StartTimer(long seconds) {
  final Timer timer = new Timer();
  timer.scheduleAtFixedRate(MyTimerCallBack, 0, seconds * 3000);
 }

 public void UpdateText() {

  StringBuilder sb = new StringBuilder();

  try {

   URL url = new URL("localhost/test/vc_check.php");

   HttpURLConnection conn = (HttpURLConnection) url.openConnection();

   if (conn != null) {

    conn.setConnectTimeout(10000);

    conn.setUseCaches(false);

    volt1.setText(String.valueOf(conn.getResponseCode()) + "\n"

    + String.valueOf(HttpURLConnection.HTTP_OK));

    if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {

     BufferedReader br = new BufferedReader(

     new InputStreamReader(conn.getInputStream()));

     while (true) {

      String line = br.readLine();

      if (line == null)

       break;

      sb.append(line + "\n");

     }

     br.close();

    } else {

     volt1.setText("http_not");

    }

    conn.disconnect();

   }

  } catch (Exception e) {

   volt1.setText(e.toString());
   volt2.setText(e.toString());
   volt3.setText(e.toString());
   current1.setText(e.toString());
   current2.setText(e.toString());
   current3.setText(e.toString());
  }

  String jsonString = sb.toString();

  try {

   String data1 = "";
   String data2 = "";
   String data3 = "";
   String data4 = "";
   String data5 = "";
   String data6 = "";

   JSONArray ja = new JSONArray(jsonString);

   /*
    * for (int i = 0; i < ja.length(); i++) {
    * 
    * JSONObject jo = ja.getJSONObject(i);
    * 
    * // 결과물
    * 
    * data1 += jo.getString("volt") + "V"; data2 +=
    * jo.getString("current") + "A";
    * 
    * }
    */
   data1 = ja.getJSONObject(0).getString("volt");
   data2 = ja.getJSONObject(0).getString("current");
   data3 = ja.getJSONObject(1).getString("volt");
   data4 = ja.getJSONObject(1).getString("current");
   data5 = ja.getJSONObject(2).getString("volt");
   data6 = ja.getJSONObject(2).getString("current");

   // 결과 출력

   volt1.setText(data1);
   volt2.setText(data3);
   volt3.setText(data5);
   current1.setText(data2);
   current2.setText(data4);
   current3.setText(data6);

  } catch (JSONException e) {

   // TODO Auto-generated catch block

   volt1.setText(e.toString());
   volt2.setText(e.toString());
   volt3.setText(e.toString());
   current1.setText(e.toString());
   current2.setText(e.toString());
   current3.setText(e.toString());

  }

 }

 

 

실시간으로 텍스트뷰를 업데이트 시켜주고 있는데

텍스트뷰 말고 이미지뷰를 업데이트 시켜주려면 어떻게 바꿔줘야되나여??

익명사용자 님이 2015년 6월 18일 질문
책한권 보시면 원하는 내용 다 자세히 나와있어요...


당혹스러운 질문이네요.


저코드 내용은 물론 아무것도 모른다는건데...

1개의 답변

0 추천

안녕하세요.^^ 폰토스입니다.

우선 SmartImageView 아래의 사이트에서 소스를 받으세요.

SmartImageView에서 사용하는 java파일이 7개정도 될거예요.

모두 프로젝트에 임포트시키셔야 사용가능합니다.

http://loopj.com/android-smart-image-view/

 

사용법:

1. layout xml 선언

<com.loopj.android.image.SmartImageView

android:id=@+id/my_image" />

2. findViewById는 되도록이면 onCreat() 함수내에서

SmartImageView myImage = (SmartImageView)findViewById(R.id.my_image);

3. url호출

myImage.setImageUrl("http://www.awesomeimages.com/myawesomeimage.jpg");

또는

myImage.setImageUrl(http://www.test.com/test.jpg", R.id.fallback, R.id.loading);

4. 최종적으로

UpdateText() 함수내에서 3.번을 호출하시면 되겠습니다.

 

SmartImageView는 cache 기능까지 되기 때문에 작업하시게 편리합니다.

아니면 말구요. ㅋ

 

ImageView를 사용하시면 됩니다만 여러가지 많이 구현하셔야 될거예요.

폰토스 (620 포인트) 님이 2015년 6월 18일 답변
...