안드로이드 웹뷰에서 화면 캡쳐하기

Android
아래의 코드는 테스트 코드 입니다. 현재 화면 전체를 캡쳐를 할 수가 없어서 지금 계속 테스트 중에 중간 저장을 위해서 코드를 기록을 해 놓습니다. wvPrint.loadUrl(Url); wvPrint.enableSlowWholeDocumentDraw(); wvPrint.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } @Override public void onPageFinished(WebView view, String url) { Log.i("deneb::", "page finished loading " + url); float scale = wvPrint.getScale(); int height = (int) (wvPrint.getContentHeight() * scale + 0.5); Bitmap bitmap = Bitmap.createBitmap(780, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); wvPrint.draw(canvas); // 파일 저장 String strFilePath = context.getCacheDir().toString(); Log.d("deneb::", "경로 :: " + context.getCacheDir().toString()); File fileCacheItem = new File(strFilePath, "print_page.png"); OutputStream out = null; try { fileCacheItem.createNewFile(); out = new FileOutputStream(fileCacheItem); bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { out.close(); double…
Read More

안드로이드 웹뷰 기능 제작중

Android
package com.sihwawon.android import android.R.attr import android.R.attr.* import android.annotation.SuppressLint import android.app.AlertDialog import android.app.Dialog import android.content.DialogInterface import android.content.Intent import android.graphics.Bitmap import android.net.Uri import android.net.http.SslError import android.os.Build import android.os.Bundle import android.os.Environment import android.os.Message import android.provider.MediaStore import android.util.Log import android.view.View import android.view.ViewGroup import android.webkit.* import android.widget.ProgressBar import androidx.appcompat.app.AppCompatActivity import java.io.File import java.util.* import java.util.UUID import android.widget.Toast import android.view.Gravity import android.webkit.WebView import android.webkit.WebViewClient import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import android.webkit.ValueCallback import java.io.IOException import java.text.SimpleDateFormat import android.app.Activity import android.content.Intent.ACTION_VIEW import android.content.res.Configuration import android.text.TextUtils import android.webkit.WebChromeClient import android.os.Parcelable import androidx.core.content.FileProvider import android.webkit.WebChromeClient.FileChooserParams import androidx.annotation.RequiresApi import android.print.PrintAttributes import android.print.PrintManager import android.view.KeyEvent import kotlin.time.days class MainActivity : AppCompatActivity() { private lateinit var mWebView: WebView private var pWebView: WebView? = null private lateinit var mProgressBar: ProgressBar private var thisUrl: String? = null private var barcode: String? = "" private var popup: Boolean? =…
Read More

WebView 기능을 이용한 앱 개발중

Android
오랜만에 기술적인 내용이 아닌 일반적인 내용을 작성을 하게 되었습니다. 이번에 새롭게 공부를 시작하면서 Web과 App을 이용한 하이브리드(?) 용으로 App을 개발하게 되었습니다. 아직 시작 단계이지만 순항을 하는중이라고 생각을 합니다. 현재는 안드로이드의 기능중 WebView를 이용해서 순서 Web에 대한 표시를 하고, 웹에 포함된 기능중 일부에 대해서는 App과 사용작용으로 작동하는 기능을 개발중에 있습니다. 해당 기능이 되면은 말 그대로 하이브리드 형식이되지 않을까 싶습니다. 순수하게 웹으로만 작동하는것도 아니고, App만으로도 작동하지 않지만 서로가 상호 보완을 통해서 기능이 작동을 하리라고 생각이 됩니다. 아직 내용을 정리하기에는 부족하고 정리가 미흡하지만 조만간 해당 내용에 대해서 글을 작성하지 않을까 싶습니다. 카테고리를 만들고 나서 예고 차원에서 일단 기술적인 내용이 없는 글을 먼저 작성을 해서 신규 카테고리가 있다는것도 알리고 카테고리의 글을 하나씩 채워 나갈 생각 입니다. 잘하시는 분들이 볼 경우에는 많이 미흡할 수 있지만 이런 내용이 있다는 정도로 제가 정리해서 남기기 위한 글입니다. 이번에…
Read More