반응형

IT/안드로이드 44

Uncaught TypeError: window.MyApp.goGoogleMarket is not a function",

Uncaught TypeError: window.MyApp.goGoogleMarket is not a function", 외부 자바스크립트에서 안드로이드 함수를 호출할 경우 찾을 수 없다는 에러 입니다. 아마 브릿지 클래스를 만들었을 텐데요.@JavascriptInterface위 코드를 추가해줘야 합니다. 안드로이드가 버전이 업되면서... 안드로이드 4.2버전 부터입니다.private class AndroidBridge { @JavascriptInterface public void getJavascriptMessage(final String msg){ javascripthandler.post(new Runnable() { @Override public void run() { Log.e("Webview M..

IT/안드로이드 2016.12.19

안드로이드 자바스크립트 함수 호출

안드로이드 자바스크립트 함수 호출 안드로이드와 자바스크립트 간에 함수를 호출을 하기 위해서 몇가지 설정이 필요합니다. 1. 안드로이드 설정1.1 MainActivity.java 열기11.1 private final Handler javascripthandler = new Handler(); 추가1.2 WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); //자바스크립트 허용 webView.addJavascriptInterface(new AndroidBridge(), "MyApp");추가 MyApp는 웹페이지 안에 자바스크립트에서 사용할 별칭 같은 것입니다. AndroidBridge() 브릿지 클래스를 만들어서 ..

IT/안드로이드 2016.12.19

안드로이드 Error:Execution failed for task ':app:buildInfoDebugLoader'. > Exception while doing past iteration backup : Source

안드로이드 Error:Execution failed for task ':app:buildInfoDebugLoader'. > Exception while doing past iteration backup : Source 위 에러를 해결하기 위해1. Gradle Scripts -> build.gradle 파일 열기defaultConfig { applicationId "" minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true }multiDexEnabled true를 삽입합니..

IT/안드로이드 2016.12.15

안드로이드 스튜디오 Android framework is detected in the project Configure

안드로이드 스튜디오 Android framework is detected in the project Configure 위와 같은 에러가 발생하는 경우 이클립스로 만든 프로젝트를 안드로이드 스튜디오에서 열려고 할 때 생긴다. 안드로이드 스튜디오에 형식에 맞게 해줘야 한다. 아래 문서를 참고하여 작업 해보자. https://developer.android.com/studio/intro/migrate.html#android_studio_2 그럼.. 안드로이드 스튜디오에서 프로젝트를 열수 있게 컴파일 및 실행을 할 수 있습니다.2016/12/14 - [IT/안드로이드] - 안드로이드 스튜디오 java.lang.SecurityException: getDeviceId: Neither user 10337 nor cu..

IT/안드로이드 2016.12.15

안드로이드 스튜디오 java.lang.SecurityException: getDeviceId: Neither user 10337 nor current process has android.permission.READ_PHONE_STATE.

안드로이드 스튜디오 java.lang.SecurityException: getDeviceId: Neither user 10337 nor current process has android.permission.READ_PHONE_STATE. 위 에러는 퍼미션권한을 주면 해결 되는 문제라고 생각하면 쉽게 풀수 없습니다.AndroidManifest.xml 에 위와 같이 권한을 주었지만 여전히 오류가 해결되지 않을 것입니다.문제는 이 곳이 아니고 build.gradle파일을 열어보세요.android { compileSdkVersion 23 buildToolsVersion "25.0.0" defaultConfig { applicationId "kr.phps.vps.ccomp79.moneyapp" minSdkVers..

IT/안드로이드 2016.12.14

안드로이드 스튜디오 device id 얻기 디바이스아이디 핸드폰번호 얻기

핸드폰 번호가 있을 경우는 device id가 존재하지만갤럭시탭 처러 핸드폰번호가 없는 기기는 device id가 없습니다.device id가 없을 경우에 대한 처리를 별도 해주시면 됩니다. Manifest에 다음의 퍼미션을 추가 전화번호와 device id 얻기 TelephonyManager telephony = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);String my_phone_num = telephony.getLine1Number(); //폰번호String mu_phone_deviceid = telephony.getDeviceId(); //device id 끝

IT/안드로이드 2016.12.14

안드로이드 스튜디오 웹뷰 alert 인식하게 하기

웹뷰를 만들었다고 해서 자바스크립트에 alert을 사용할 수 있는 것이 아닙니다 . alert을 사용할 수 있도록 코드를 넣어줘야 하는데요... 웹뷰 하나를 만들기 위해서 참 많은 코드를 넣어주게 되네요. 소스는 아래와 같습니다. protected void onCreate(Bundle savedInstanceState) {}onCreate 함수 안에 아래 코드를 넣어줘야 합니다.WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); //자바스크립트 허용final Context myApp = this; webView.setWebChromeClient(new WebChromeClient() { @Override pu..

IT/안드로이드 2016.12.08

안드로이드 스튜디오 어플 버전 표시

안드로이드 어플을 만들었다면 버전 표시를 해야 합니다. android:versionCode와 android:versionName을 이용하면 되는데요android:versionCode : 몇번째 배포 버전인지android:versionName : 사용자가 보는 어플 버전을 뜻함.manifest 폴더에 보면 AndroidManifest.xml 있습니다. 아래와 같이 넣어주면 됩니다. build.grade 파일에서 defaultConfig { applicationId "com.android.android" minSdkVersion 14 targetSdkVersion 23 versionCode 2 versionName "1.1" }블록으로 지정된 부분도 같이 바꿔줘야 합니다.

IT/안드로이드 2016.12.08

안드로이드 스튜디오 웹뷰 자바스크립트 허용

안드로이드 스튜디오 웹뷰 자바스크립트 허용 단순 웹뷰를 만든다고 해서 웹페이지에 자바스크립트가 인식하는 것이 아닙니다. 아래와 같은settings.setJavaScriptEnabled(true); //자바스크립트 허용 문구를 넣어줘야 웹뷰에서 자바스크립트를 인식할 수 있습니다. 안드로이드 스튜디오를 이용하면 웹뷰를 무척이나 쉽게 만들 수 있습니다. public class MainActivity extends AppCompatActivity { WebView webView2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activit..

IT/안드로이드 2016.12.08
반응형