이제 막 시작하게된 유지보수! 맨처음 시작 할때 버전 가져오는것부터 공부해보자.
String version = null;
try
{
PackageInfo i = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
version = i.versionName;
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
context.getPackageManager를 통해 패키지의 정보를 가져올수있다.
버전 또한 동적으로 그려줄수도 있다.
VersinoTextView = (TextView) findViewById(R.id.vertxt);
VersinoTextView.setText("버전 : " + version);
Version = version;
이걸이용하여 버전 체크또한 가능하다.
public String getMarketVersion(String packageName) {
try {
String VersionMarket = null;
Document doc = Jsoup.connect("https://play.google.com/store/apps/details?id=" + packageName).get();
Elements Version = doc.select(".htlgb ");
for (int i = 0; i < Version.size(); i++) {
VersionMarket = Version.get(i).text();
if (Pattern.matches("^[0-9]{1}.[0-9]{2}$", VersionMarket)) {
break;
}
}
return VersionMarket;
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
이제 앱에서 웹을 작동하는것을 보자.
private class AndroidBridge { //웹뷰에서 JavascriptInterface를 붙여야 작동한다. Android 4.2 이전에 쓰면 정보에 취약 @JavascriptInterface public void login(final String UserCode, final String UserGroup, final String AutoLogin) { //AutoLogin 값 : true, false new Handler().post(new Runnable() { public void run() { //String code = EncryptionDecryption.decrypt(UserCode); //String group = EncryptionDecryption.decrypt(UserGroup) common.SetUserCode(UserCode); common.SetUserGroup(UserGroup); common.SetAutoLogin(AutoLogin); //Toast.makeText(getApplicationContext(), code + " / " + group+ " / " + AutoLogin, Toast.LENGTH_SHORT).show(); Intent intent = new Intent(NewMainMenu.this, NowLoc.class); startActivity(intent); finish(); } }); } }
webLogin.getSettings().setJavaScriptEnabled(true);
webLogin.setWebViewClient(new WebClient());
webLogin.setWebChromeClient(new ChromeClient());
webLogin.addJavascriptInterface(new AndroidBridge(), "호호");