안드로이드 #1 버전 업데이트, 웹에다 펑션등록하기

0

안드로이드

목록 보기
4/19
post-thumbnail

이제 막 시작하게된 유지보수! 맨처음 시작 할때 버전 가져오는것부터 공부해보자.

 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(), "호호");
웹에서호출시,호호.login()으로불러온다.웹에서 호출시, 호호.login()으로 불러온다.
profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글