마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

javascriptinterface 안에서 비동기 처리 질문드립니다.

0 추천
	final class MyJavaScriptInterface{
	    MyJavaScriptInterface() {
	 
	    }
	 
	    /**
	     * This is not called on the UI thread. Post a runnable to invoke
	     * loadUrl on the UI thread.
	     */
	    @JavascriptInterface
	    public void callAndroid(final String jsonStr) {
	        mHandler.post(new Runnable() {

				public void run() {
	            	try {
	            		System.out.println("result : " + jsonStr);
		            	JSONParser parser = new JSONParser();
		            	JSONObject jsonObj = (JSONObject)parser.parse(jsonStr.toString().trim());
	            		
		            	String LGD_RESPCODE = jsonObj.get("LGD_RESPCODE").toString().trim();
		            	
		            	
		            	if("0000".equals(LGD_RESPCODE)){ 
		            		
		            		try {
								
//			            		LGD_CARDACQUIRER = jsonObj.get("LGD_CARDACQUIRER").toString().trim();
//				            	LGD_IFOS = jsonObj.get("LGD_IFOS").toString().trim();
//				            	LGD_MID = jsonObj.get("LGD_MID").toString().trim();
//				            	LGD_FINANCENAME = jsonObj.get("LGD_FINANCENAME").toString().trim();
//				            	LGD_PCANCELFLAG = jsonObj.get("LGD_PCANCELFLAG").toString().trim();
//				            	LGD_FINANCEAUTHNUM = jsonObj.get("LGD_FINANCEAUTHNUM").toString().trim();
//				            	LGD_DELIVERYINFO = jsonObj.get("LGD_DELIVERYINFO").toString().trim();
//				            	LGD_BUYER = jsonObj.get("LGD_BUYER").toString().trim();
//				            	LGD_AFFILIATECODE = jsonObj.get("LGD_AFFILIATECODE").toString().trim();
//				            	LGD_TRANSAMOUNT = jsonObj.get("LGD_TRANSAMOUNT").toString().trim();
				            	LGD_OID = jsonObj.get("LGD_OID").toString().trim();
//				            	LGD_BUYERID = jsonObj.get("LGD_BUYERID").toString().trim();
//				            	LGD_CARDNUM = jsonObj.get("LGD_CARDNUM").toString().trim();
//				            	LGD_RECEIVERPHONE = jsonObj.get("LGD_RECEIVERPHONE").toString().trim();
//				            	LGD_2TR_FLAG = jsonObj.get("LGD_2TR_FLAG").toString().trim();
//				            	LGD_TID = jsonObj.get("LGD_TID").toString().trim();
//				            	LGD_DEVICE = jsonObj.get("LGD_DEVICE").toString().trim();
//				            	LGD_TIMESTAMP = jsonObj.get("LGD_TIMESTAMP").toString().trim();
//				            	LGD_FINANCECODE = jsonObj.get("LGD_FINANCECODE").toString().trim();
//				            	LGD_CARDNOINTYN = jsonObj.get("LGD_CARDNOINTYN").toString().trim();
//				            	LGD_PCANCELSTR = jsonObj.get("LGD_PCANCELSTR").toString().trim();
//				            	LGD_BUYERPHONE = jsonObj.get("LGD_BUYERPHONE").toString().trim();
//				            	LGD_ISPKEY = jsonObj.get("LGD_ISPKEY").toString().trim();
//				            	LGD_DISCOUNTUSEYN = jsonObj.get("LGD_DISCOUNTUSEYN").toString().trim();
//				            	LGD_ESCROWYN = jsonObj.get("LGD_ESCROWYN").toString().trim();
//				            	LGD_PAYTYPE = jsonObj.get("LGD_PAYTYPE").toString().trim();
				            	LGD_AMOUNT = jsonObj.get("LGD_AMOUNT").toString().trim();
//				            	LGD_VANCODE = jsonObj.get("LGD_VANCODE").toString().trim();
//				            	LGD_EXCHANGERATE = jsonObj.get("LGD_EXCHANGERATE").toString().trim();
//				            	LGD_BUYERSSN = jsonObj.get("LGD_BUYERSSN").toString().trim();
//				            	LGD_CARDINSTALLMONTH = jsonObj.get("LGD_CARDINSTALLMONTH").toString().trim();
//				            	LGD_RESPMSG = jsonObj.get("LGD_RESPMSG").toString().trim();
//				            	LGD_PAYDATE = jsonObj.get("LGD_PAYDATE").toString().trim();
//				            	LGD_PRODUCTINFO = jsonObj.get("LGD_PRODUCTINFO").toString().trim();
//				            	LGD_PRODUCTCODE = jsonObj.get("LGD_PRODUCTCODE").toString().trim();
//				            	LGD_HASHDATA = jsonObj.get("LGD_HASHDATA").toString().trim();
//				            	LGD_CARDGUBUN1 = jsonObj.get("LGD_CARDGUBUN1").toString().trim();
//				            	LGD_CARDGUBUN2 = jsonObj.get("LGD_CARDGUBUN2").toString().trim();
//				            	LGD_BUYERADDRESS = jsonObj.get("LGD_BUYERADDRESS").toString().trim();
//				            	LGD_RECEIVER = jsonObj.get("LGD_RECEIVER").toString().trim();
//				            	LGD_BUYEREMAIL = jsonObj.get("LGD_BUYEREMAIL").toString().trim();
//				            	LGD_DISCOUNTUSEAMOUNT = jsonObj.get("LGD_DISCOUNTUSEAMOUNT").toString().trim();
		            		
		            		} catch (NullPointerException e) {
		            			// TODO: handle exception
		            		}
		            		
			            	try {
			            		AsyncTaskHandler<CartProductDTO> resulttask = new AsyncTaskHandler<CartProductDTO>(mHandler) {
			        		
			        				@Override
			        				public void preTask() throws Throwable {
			        					String[] keys = {CategoryHolder.ORDER_oKey,CategoryHolder.PAYMENT_OS_TOT_SPRICE};
			        					String[] values = {LGD_OID,LGD_AMOUNT};
			        					System.out.println(proxy.makeParameter(keys, values));
			        					proxy.requestUrl(CategoryHolder.INSERT_PAYMENT_RESULT, proxy.makeParameter(keys, values));
			        				}
//			        				
			        				@Override
			        				protected void postTask() {
			        					if(hasError()){
			        						showError(PaymentWeb.this);
			        						return;
			        					}
					            		finish();
			        					Intent intent = new Intent(PaymentWeb.this , ShopPayment.class);
					            		startActivity(intent);
			        				}
	
			        			};
			        			DataWorkerThreadPool.put(resulttask);
			        		}catch (Throwable e) {
			        			DefaultErrorHandler.handleError(getBaseContext(), e);
			        		}
		            		
		            	} else {
		            		showToast("결제를 실패하였습니다.");
		            		finish();
		            	}
		            	
	            	} catch (Exception e) {}
	            }
	        });
	 
	    }
	}   

async task excute error

FileNotFound http://ip.insert.do

그런데 insert문은 탑니다 ...

heopsop (280 포인트) 님이 2015년 8월 4일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...