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

¾Û ¹öÀü üũ ½ºÅä¾î·Î À̵¿ [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,136
Android VideoView Example
1,135
[°³¹ß Tip] WebView ·Îµù½Ã ŸÀÌƲ¹Ù¿¡ ÁøÇàÁß ¾ÆÀÌÄÜ º¸ÀÌ°Ô Çϱâ
1,134
[°³¹ß Tip] webview ½ºÅ©·Ñ
1,133
[°³¹ß Tip] WebView ¿¡¼­ ÀÚ¹Ù ½ºÅ©¸³Æ® »ç¿ë¿¹
1,132
[°³¹ß Tip] WebView À¥ÆäÀÌÁö ·Îµù½Ã°£ ±¸Çϱâ
1,131
[°³¹ß Tip] WebView ÆäÀÌÁö°¡ ·ÎµùµÇ¾úÀ»¶§ ó¸®
1,130
[°³¹ß Tip] WebView¿¡ »õâ(href)ÀÌ ¶ã¶§ À¥ºê¶ó¿ìÁ®°¡ ¾Æ´Ñ ÇöÀç WebView·Î Ãâ·ÂÇϱâ
1,129
[°³¹ß Tip] WebView¿¡¼­ ¸ÖƼ ÅÍÄ¡ °¡´ÉÇÏ°Ô Çϱâ
1,128
[°³¹ß Tip] WebView¿¡¼­ ¸ÖƼ ÅÍÄ¡ ÁÜ °¡´ÉÇÏ°Ô Çϱâ
1,127
[°³¹ß Tip] WebView¿¡¼­ ¹®ÀÚ¿­ ¼±ÅÃÇϱâ
1,126
[°³¹ß Tip] webview¿¡¼­ À¯Æ©ºê µ¿ÀÛ½ÃÅ°±â
1,125
[°³¹ß Tip] Wifi ¿¬°á »óÅ °¨ÁöÇϱâ
1,124
[°³¹ß Tip] ³»ÀåµÈ ¾îÇ÷ΠSMS ¸Þ½ÃÁö º¸³»±â
1,123
[°³¹ß Tip] ´Ü¸»±â Æù¹øÈ£ ¾Ë¾Æ³»±â
1,122
[°³¹ß Tip] ¸®¼Ò½º¸íÀ¸·Î ÇØ´ç ¸®¼Ò½º ID ±¸Çϱâ
1,121
[°³¹ß Tip] ¸ÖƼÅÍÄ¡ (Multi Touch) ±¸Çö ¼Ò½º
1,120
[°³¹ß Tip] ºÎÆýà ¼­ºñ½º ½ÇÇàÇϱâ
1,119
[°³¹ß Tip] ¾Èµå·ÎÀÌµå ±â±âº° °íÀ¯ ID
1,118
[°³¹ß Tip] ¾ÈÅ׳ª ¿µ¿ª ¾ø¾Ö±â
1,117
[°³¹ß Tip] ¾×Ƽ¹öƼ(Activity)¿¡¼­ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°úÁÖ±â
1,116
[°³¹ß Tip] ¾×Ƽ¹öƼÀÇ Å¸ÀÌƲ¹Ù Á¦°Å, ¾ÈÅ׳ª ¿µ¿ª±îÁö Á¦°Å
1,115
[°³¹ß Tip] ¿Àµð¿À / ºñµð¿À ½ÇÇà
1,114
[°³¹ß Tip] ÀüÈ­°¡ ¿ÔÀ»¶§ À̺¥Æ® ¼ö½ÅÇϱâ
1,113
[°³¹ß Tip] ÆÄÀÏ(File) »ç¿ë
1,112
[°³¹ß Tip] Æù ¸¶ÀÌÅ©¿¡ ³ìÀ½Çϱâ
1,111
[°³¹ß Tip] ÇØ´ç ActionÀ» ¼öÇàÇÒ¼ö°¡ ÀÖ´Â ¾×Ƽ¹öƼ(¾îÇÃ)ÀÌ Á¸ÀçÇÏ´ÂÁö ã±â
1,110
[°³¹ß Tip] ÇöÀç µð¹ÙÀ̽º(Æù)ÀÇ IP ÁÖ¼Ò ¾Ë¾Æ³»±â
1,109
[°³¹ß Tip] XmlPullParser¸¦ ÀÌ¿ëÇؼ­ rss³» title Ç׸ñ Àбâ
1,108
[°³¹ß Tip] ÇöÀç ¿¬ÁÖÁßÀÎ ¿Àµð¿À ¾îÇÃÀ» À½¼Ò°Å Çϱâ
1,107
[°³¹ß Tip] È­¸é »ó´ÜÀÇ Å¸ÀÌƲ¹Ù (»óŹ٠°¨Ãß±â)
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.