 |
|
|  |
¾Û ¹öÀü üũ ½ºÅä¾î·Î À̵¿ [Android] |
|
|
 |
8³â Àü |
º¸Åë ¾ÛÀÌ ¾÷±×·¹ÀÌµå µÆ¾îµµ, ´ëºÎºÐÀÇ »ç¶÷µéÀÌ ÀÚµ¿À¸·Î ¾ÈµÇ¸é ¾÷µ¥ÀÌÆ®¸¦ ÇÏÁö ¾Ê´Â´Ù.
ÀÚü¼¹ö¸¦ »ç¿ëÇϸé 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·Î À̵¿µÇ°Ô ±¸Çö Çß½À´Ï´Ù. ÀÌ ºÎºÐÀº °³¹ßÀÚµé ÀÔ¸À¿¡ ¸Â°Ô ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.(´ÙÀ̾ó·Î±× µîµî) |
|
̵̧ : 336 |
̵̧
¸ñ·Ï
|
|
|  |
|