ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

¾Û ¹öÀü üũ ½ºÅä¾î·Î À̵¿ [Android]
7³â Àü
º¸Åë ¾ÛÀÌ ¾÷±×·¹ÀÌµå µÆ¾îµµ, ´ëºÎºÐÀÇ »ç¶÷µéÀÌ ÀÚµ¿À¸·Î ¾ÈµÇ¸é ¾÷µ¥ÀÌÆ®¸¦ ÇÏÁö ¾Ê´Â´Ù.

ÀÚü¼­¹ö¸¦ »ç¿ëÇϸé apk ÆÄÀϷΠüũ¸¦ ÇÏ¸é µÇÁö¸¸, °³Àΰ³¹ßÀÚ³ª ¼­¹ö¸¦ °¡Áö°í ÀÖÁö ¾Ê´Â ȸ»ç¿¡¼­´Â ±î´Ù·ÓÁÒ.(°©ÀÚ±â Á¸´ñ¸»..)

À̹ø¿¡ ÀÌ°É ±¸ÇöÇÒ ÀÏÀÌ »ý°Ü¼­ ±¸ÇöÇÏ´Ù°¡ ºí·Î±×¿¡ óÀ½À¸·Î ¿Ã¸°´Ù.

http://androi.tistory.com/9

ÀÌ »çÀÌÆ®¸¦ ÂüÁ¶ ÇÏ¿´´Ù.


1. À¥ ÆäÀÌÁö¿¡ ÃֽŠ¹öÀüÀ» Ç¥½Ã

°£´ÜÇÏ°Ô ¹«·á·Î »ç¿ëÇÏ°í ½ÍÀ¸¸é ±¸±Û¾Û¿£ÁøÀ» ÃßõÇÑ´Ù.
ex)  http://checkappver.appspot.com/CheckBBVersion.html

<html>
<body>
version:
1.11
</body>
</html>

Àü Àú±â ÀÖ´Â ¿¹Á¦»çÀÌÆ®¸¦ »ç¿ëÇß½À´Ï´Ù. ±¸±Û¾Û¿£ÁøÀ» °Ë»öÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù. ^^

À¥ÆäÀÌÁö¸¦ ±¸ÇöÇϽǷÁ¸é http://www.labnol.org/internet/host-website-on-google-app-engine/18801/ ¿©±â º¸¼Åµµ ÁÁÀ»µí ÇÕ´Ï´Ù~
¾îÂî µÆ°Ç ±¸Çö ÇØ¾ß ÇÒµí ¤¾

2. À¥ÆäÀÌÁöÀÇ html ÆÄÀÏÀ» °¡Á®¿Í¼­ ¹öÀü ±¸Çϱâ

//Àü¿ª º¯¼ö
DownThread mThread;
String sVersion;  // À¥ÆäÀÌÁö¿¡¼­ °¡Á®¿Â ¹öÁ¯ÀÌ ÀúÀåµÊ

//onCreate()
mThread = new DownThread("http://checkappver.appspot.com/CheckBBVersion.html");
mThread.start();

//class
class DownThread extends Thread {
  String mAddr;
  String mResult;

  DownThread(String addr) {
   mAddr = addr;
   mResult = "";
  }

  public void run() {
   StringBuilder html = new StringBuilder();
  
   try {
    URL url = new URL(mAddr);
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    if (conn != null) {
     conn.setConnectTimeout(10000);
     conn.setUseCaches(false);
     if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
      BufferedReader br = new BufferedReader(
        new InputStreamReader(conn.getInputStream()));
      Boolean bVersion = false;
      for (;;) {
       String line = br.readLine();
       if(bVersion){
        mResult = line;
        break;
       }
       if(line.equals("version:")){
        bVersion = true;
       }
      
       if (line == null)
        break;
      }
      br.close();
     }
     conn.disconnect();
    }
   }
   catch (Exception ex) {;}
   mAfterDown.sendEmptyMessage(0);
  }
}

Handler mAfterDown = new Handler() {
  public void handleMessage(Message msg) {
   sVersion = mThread.mResult;
   Toast.makeText(getBaseContext(), sVersion, Toast.LENGTH_SHORT).show();
  
};

ÀÌ·¸°Ô sVersion¿¡ À¥ÆäÀÌÁö¿¡ Ç¥½Ã µÇ¾î ÀÖ´Â ¹öÁ¯À» ³Ö½À´Ï´Ù. Handler¿¡¼­ Å佺Ʈ ¸Þ¼¼Áö·Î ¶ç¿öº¸¸é Àß º¸ÀÔ´Ï´Ù.



3. ÇöÀç ÇÚµåÆù¿¡ ¼³Ä¡ µÇ¾î ÀÖ´Â ¾Û ¹öÀü ±¸Çϱâ.



¿©±â¼­ º¸½Ã¸é android:versionName="1.11" ÀÌ ÇöÀç ¾ÛÀÇ ¹öÀüÀÔ´Ï´Ù. ÀÌ°Ç °³¹ßÀÚ°¡ ¼öÁ¤ÇÒ¼ö ÀÖ°í, ½ºÅä¾î¿¡¼­ º¸¿©Áö´Â ¹öÀüÀÔ´Ï´Ù.
À§ÀÇ android:versionCode="1" Àº ¾ÛÀ» ½ºÅä¾î¿¡ ¾÷µ¥ÀÌÆ® ½Ãų¶§¸¶´Ù º¯°æ½ÃÄÑÁà¾ß ÇÕ´Ï´Ù.
1¾¿ ¿Ã¸°´Ù°í ÇÒ¶§ ¾÷µ¥ÀÌÆ®¸¦ 10¹ø ÇßÀ¸¸é android:versionCode="10" ÀÌ µÇ°ÚÁÒ? ¤¾¤¾

¾Æ, ±×¸®°í ÀÎÅÍ³Ý ±ÇÇÑ ¼³Á¤À» ÇØÁà¾ß ÇÕ´Ï´Ù.

<uses-permission android:name="android.permission.INTERNET"></uses-permission>


ÀÚ, ÀÌ°É ÀÌÁ¦ ¼Ò½º»ó¿¡¼­ ±¸Çغ¾½Ã´Ù.

public static String getVersionName(Context context) {
        try {
            PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
            return packageInfo.versionName;
        } catch (NameNotFoundException e) {
        
            return null;
        }
    }

onCreate() ¿¡¼­
Toast toast = Toast.makeText(getApplicationContext(), getVersionName(getBaseContext()) , Toast.LENGTH_SHORT);
toast.show();

ÀÌ·¸°Ô ¶ç¿öº¸´Ï ÇöÀç ¾ÛÀÇ ¹öÀüÀÌ Àß º¸ÀÔ´Ï´Ù.


4. ¹öÀü ºñ±³.

Handler mAfterDown = new Handler() {
  public void handleMessage(Message msg) {
   sVersion = mThread.mResult;

   if(sVersion.equals(getVersionName(getBaseContext()))) {
       Toast toast = Toast.makeText(getApplicationContext(), "ÃֽŠ¹öÀüÀÔ´Ï´Ù.", Toast.LENGTH_SHORT);
          toast.show();
      }
      else if(!sVersion.equals(getVersionName(getBaseContext()))) {
       Uri uri = Uri.parse("À̵¿ ÇÏ·Á´Â url");
       Intent intent = new Intent(Intent.ACTION_VIEW, uri);
       startActivity(intent);
      }
  }
};

ÀÌ·¸°Ô ±âÁ¸¿¡ ÀÖ´ø Handler ¾È¿¡¼­ Å佺Ʈ ¸Þ¼¼Áö¸¦ Áö¿ì°í, if¹®À¸·Î ºñ±³ÇÏ½Ã¸é µË´Ï´Ù.

Àú´Â À¥ÆäÀÌÁöÀÇ Ç¥½ÃÇÑ ¹öÀü°ú ÇöÀç ¾ÛÀÇ ¹öÀüÀÌ °°´Ù¸é, "ÃֽŠ¹öÀüÀÔ´Ï´Ù." ¶ó´Â Å佺Ʈ ¸Þ¼¼Áö¸¦ ¶ç¿ì°í,
¸ÂÁö ¾Ê´Ù¸é, url·Î À̵¿µÇ°Ô ±¸Çö Çß½À´Ï´Ù. ÀÌ ºÎºÐÀº °³¹ßÀÚµé ÀÔ¸À¿¡ ¸Â°Ô ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.(´ÙÀ̾ó·Î±× µîµî)
ÃßõÃßõ : 277 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
1,166
Android WebView Facebook Login (popup/redirection issues)
1,165
Loading GIF [Android]listView ¿ø°ÝÀ̹ÌÁö [Android]
¾Û ¹öÀü üũ ½ºÅä¾î·Î À̵¿ [Android]
1,163
WebViewClient [Android]
1,162
http post get Àü¼Û
1,161
À¥ºä ¸Þ¼Òµå È£ÃâÀÌ ¾ÈµÉ ¶§ (android.permission.INTERACT_ACROSS_USERS_FULL)
1,160
°³¹ß Áß ¿¡·¯ ¹ß»ý½Ã ¿¡·¯ ³»¿ë È®ÀÎ, ÇØ°á¹æ¹ý [Android]
1,159
ij½Ã Áö¿ì±â [Android]
1,158
¹Ù·ÎÇ®¾î(¼öÇÐ ¹®Á¦ ÁúÀÇÀÀ´ä SNS) ¿¡ »ç¿ëµÈ ¿ÀǼҽº ¶óÀ̺귯¸® [Android]
1,157
¿ÀǼҽº ¶óÀ̺귯¸® ¸ðÀ½ [Android]
1,156
´Ü¸»±â ¹öÀü Á¤º¸ [Android]
1,155
Android webview °³¹ß½Ã ¾Ë¾ÆµÖ¾ß ÇÒ °Íµé [Android]
1,154
[¾Èµå·ÎÀ̵å] ¾Û ³»¿¡¼­ ·±Å¸ÀÓ ±ÇÇÑÀ» ¿äûÇÏ´Â ¹æ¹ý
1,153
webview µ¿¿µ»ó Àç»ý [Android]
1,152
android studio DefaultHttpClient, HttpClient import ¿¡·¯
1,151
[Android] ANR À̶õ?
1,150
¾Èµå·ÎÀÌµå ¿ÀǼҽº
1,149
Android] AlarmManager ÀÏÁ¤½Ã°£ À̺¥Æ® ½ÇÇà
1,148
[Android] Webview url ¼û±â±â
1,147
[Android] webview ssl ¹®Á¦
1,146
[Android] Webview 404 ¿¡·¯ ó¸®
1,145
[Android] Webview ¸Þ¼Òµå
1,144
[¾Èµå·ÎÀ̵å] À¥ºä(WebView ¿¡¼­ ÀÚ¹Ù½ºÅ©¸³Æ® alert ¶ç¿ì±â
1,143
(Android) WebView _blank ó¸®
1,142
webvew ¿¡¼­ ºê¶ó¿ìÀú·Î ¸µÅ©(_blank)
1,141
[Android]¾Èµå·ÎÀ̵å Intent »ç¿ë¹ý
1,140
¾Èµå·ÎÀÌµå ¹Ìµð¾î Ç÷¹À̾î (MediaPlayer) ¿¹Á¦
1,139
[Android] BroadcastReceiver »ç¿ëÇϱâ
1,138
Media Player¸¦ ÀÌ¿ëÇÑ À½¾Ç Àç»ý
1,137
[°³¹ß Tip] Activity³» ¹è°æÀ» Åõ¸íÇÏ°Ô Çϱâ
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.