안드로이드 개발 질문/답변
(글 수 45,052)
지금 현재 회사에 들어와서 어플을 받아 수정하고있습니다.
(회사에서는 ASP를 다루기때문에...자바를 만지는사람에 저뿐이더라구여..경력도 없고 이번이 처음인데..)
다시 본론..
회사에서 사용하는 기존 QR코드 인식하는 부분에서 새로 사용하게된 QR코드는 URL로 되어서 인식하고
WebView로 이동하는 것 까지 마쳤습니다.
개발 작업 환경 :
Eclipse indigo, Android SDK, VM : 겔럭시 s2
첫번째 이미지 관련 질문
@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); mContext = this; mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); setContentView(R.layout.qrcode_detect_activity); mQRCodeDetectView = (ViewGroup) findViewById(R.id.qrcode_detect_view); mResultView = (SWQRCodeResultView) findViewById(R.id.result_view); // mImageView = (SWQRCodeImageView) findViewById(R.id.image_view); //사용하지 않음 mWebView = (WebView) findViewById(R.id.webview); mHasSurface = false; } …………………………………………………………………… QR코드 인식부분 if (resultText.startsWith("http://")) { //이부분도 현재 ("http://")이렇게 인식하면 안되지만 테스트중이라.. Log.i(TAG, "SWQRCodeDetectActivity 1 : 494"); mWebView.setVisibility(View.VISIBLE); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("resultText+"&flag=1"); mWebView.setWebViewClient(new QRWebViewClient()); }
이렇게 넘겨 준 URL로 webview에 뽑아주고 해당 페이지에서
이미지를 클릭하게 되면 이미지를 보게 되는데...아무래도 웹페이지라 설정이 안된것 같아
이미지가 크게 나옵니다...webview 상에서 클릭할때 이미지크기를 지정해줄수있는 방법이 없나요?
없다면...웹상에서 지정해주는 방법밖에 없는건지....알고계신분들 도와주세요..ㅠ
두번째 goback() 과 onBackPressed 질문
public void onBackPressed(){ if(mWebView.getVisibility() == View.VISIBLE){ mWebView.goBack(); mWebView.setVisibility(View.GONE); mQRCodeDetectView.setVisibility(View.VISIBLE); restartPreviewAndDecode(); } else { getParent().onBackPressed(); } } private class QRWebViewClient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl("url); return true; } }
QR코드를 인식하고 페이지 넘겼을때 폰에서 뒤로가는 버튼을 눌르게 되면
webview 페이지에서는 정상적으로 넘어가서 다시 QR코드를 찍는 화면이 나옵니다.
문제는 webview에서 이미지나 동영상을 클릭하고 다시 되돌아 오고 싶을때가 문제입니다..
이미지나 동영상을 클릭하고 back키를 눌렀을경우 똑같이 QR코드를 찍게되는 화면으로 가서 이부분을 해결하고싶네요..
+추가...
다른 레이아웃(activity)을 선택하고 다시 QR코드 화면으로 왔을때도 webview가 남게되면 어떻게 처리해야되나요?;;;