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


¾Û ¹öÀü üũ ½ºÅä¾î·Î À̵¿ [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·Î À̵¿µÇ°Ô ±¸Çö Çß½À´Ï´Ù. ÀÌ ºÎºÐÀº °³¹ßÀÚµé ÀÔ¸À¿¡ ¸Â°Ô ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.(´ÙÀ̾ó·Î±× µîµî)
ÃßõÃßõ : 278 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
1,346
À©µµ¿ì ¼­¹ö 2019 Ãë¾àÁ¡ Á¡°Ë º¸¾È
1,345
À©µµ¿ì ¼­¹ö 2019 Ãë¾àÁ¡ Á¡°Ë º¸¾È (windows server 2019)
1,344
Windows Ãë¾àÁ¡Áø´Ü º¸¾È°¡À̵å¶óÀÎ
1,343
Windows Admin Center¸¦ ÅëÇÑ ¼­¹ö °ü¸®
1,342
À©µµ¿ì ¼­¹ö¿¡¼­ ½ÇÇàµÇ´Â ¼­ºñ½º È®ÀÎ
1,341
Chrome NET::ERR CERT REVOKED ÇØ°á¹æ¹ý
1,340
cmd ¸í·É¾î (¸í·É ÇÁ·ÒÇÁÆ® ¸í·É¾î) ¸ðÀ½
1,339
Windows10 ƯÁ¤ ÇÁ·Î±×·¥(OCS 2007 R2)¿¡¼­ ÷ºÎÆÄÀÏ µå·¡±×¾Øµå·ÓÀÌ ¾È µÇ´Â Çö»ó
1,338
À©µµ¿ì ·Î±×, °ü¸® À̺¥Æ® »èÁ¦
1,337
Ŭ¸° ºÎÆÃ
1,336
Windows ±¸¼º ¿ä¼Ò ÀúÀå¼Ò¿¡¼­ ÆÄÀÏ ¼Õ»ó °Ë»ç
1,335
Windows Defender °Ë»ç ±â·Ï »èÁ¦Çϱâ
1,334
°£´ÜÇÑ À©µµ¿ì 10 Á¤Ç° ÀÎÁõ (Å©·¢ÇÁ·Î±×·¥ ÇÊ¿ä¾øÀ½)
1,333
¿À·ù³­ Æú´õ °­Á¦»èÁ¦ ¹æ¹ý
1,332
Å©·Ò¿¡¼­ Ç÷¡½Ã Ç×»ó Çã¿ëÇϵµ·Ï ¼³Á¤Çϱâ (·¹Áö½ºÆ®¸®) reg ÆÄÀÏ ¸¸µé±â
1,331
GPT µð½ºÅ©¸¦ MBR µð½ºÅ©·Î º¯È¯
1,330
MBR µð½ºÅ©¸¦ GPT µð½ºÅ©·Î º¯È¯
1,329
±¸±Û °Ë»öÀ» 200% È°¿ëÇÏ°Ô ÇØÁÖ´Â °Ë»ö ¸í·É¾î ÃÑÁ¤¸®
1,328
[Jquery] jQuery·Î ¿ìŬ¸¯ ¹æÁö, µå·¡±× ¹æÁö, ¼±Åà ¹æÁö (IE10, ÆÄÀ̾îÆø½º, Å©·Ò È®ÀÎ)
1,327
php »ç¿ëÀÚ Á¢¼ÓIP, ºê¶ó¿ìÀúÁ¤º¸, osÁ¤º¸, http, https Á¢¼ÓÇÁ·ÎÅäÄÝ ¾Ë¾Æ¿À±â
1,326
[PHP] IE ºê¶ó¿ìÀú Á¢¼Ó °ËÃâÇϱâ
1,325
À©µµ¿ì10 ½Ã½ºÅÛ ¿¹¾à ÆÄƼ¼Ç È®ÀÎ ¹× »èÁ¦
1,324
À©µµ¿ì10 º¹±¸ ÆÄƼ¼Ç »èÁ¦ ¹æ¹ý
1,323
À©µµ¿ì10 ºÎÆÃÁö¿¬ °ËÀºÈ­¸é¿¡¼­ ¸îºÐ°£ ¸Ó¹«´Â Çö»ó ÇØ°á¹æ¹ý
1,322
»ï¼º³ëÆ®ºÏ ¹ÙÀÌ¿À½º ÁøÀÔÀÌ ºÒ°¡´ÉÇÑ °æ¿ì ¹ÙÀÌ¿À½º À缳ġ¿Í NVRAM ÃʱâÈ­
1,321
ÀͽºÇ÷η¯(IE)ÀÇ ±¸±Û °Ë»ö°ø±ÞÀÚ Çѱ۷Πº¯°æ ¹æ¹ý
1,320
À©µµ¿ì 10 ±âº» ¾Û »èÁ¦ ¹× º¹±¸
1,319
meta ÅÂ±× http-equiv ¼³Á¤¹æ¹ý°ú Â÷ÀÌÁ¡
1,318
±¸±Û(Google)°Ë»ö¿¡¼­ °í±Þ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸¹Àº Á¤º¸¸¦ ¾ò´Â ¹æ¹ý
1,317
ÇÁ·Î±×·¥ ¾øÀÌ Çϵåµð½ºÅ© º¹»ç ¹× ¹é¾÷Çϱâ
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.