목록FrontEnd (129)
만족
외부 Library없이 사용하기 // get JSON with using pure javascript var xhr= new XMLHttpRequest(); var paramVal= "paramVal"; var target= "URL"; xhr.open("GET", target+ "?paramName="+ paramVal); xhr.send(); xhr.onreadystatechange= function(){ if(xhr.readyState=== XMLHttpRequest.DONE){ if(xhr.status== 200){ let loadedJSON= JSON.parse(xhr.responseText); $("#content").html("resultCode: "+ loadedJSON.resultCode..
https://github.com/anjlab/android-inapp-billing-v3 이곳에서 시키는 대로만 하면 된다. 코드 20줄 내로 인앱 결제 구현을 간단하게 할 수 있다. 사전 준비작업 같은 경우에도 Google Billing Library나 aidl같은거 설치 안하고도 gradle에 한줄만 적어주면 되니Google Android Document보다 훨씬 쉽게 구현 가능하다. 번역이 필요한 경우, https://github.com/NamGungGeon/android-inapp-billing-v3-guide 를 참조하면 된다.(버전이 업데이트되었을 경우 반영이 늦거나 되어있지 않을 수 있다) 가이드 번역 내용해당 컨텐츠가 이상하게 보일 경우 https://github.com/NamGungGe..
다른 라이브러리를 사용하지 않고, Java Code로 View에 Listener를 추가한다면코드는 다음과 같은 형태가 될 것이다. View exampleView= findViewById(R.id.exampelView);exampleView.setOnClickListner(new View.OnClickListener(){@Overridepublic void onClick(View view){Toast.makeText(getApplicatiponContext(), "Click", Toast.LENGTH_LONG).show();}} 만약 exampleView를 현재 메소드에서만 사용하는 것이 아니라면 외부로 다시 빼내어서 View exampleView;// Some Codes...exampleView= fin..
Firebase에서 단일 객체에 대해 I/O를 할때는 딱히 어려움을 겪을 일이 없다 그러나 ArrayList와 같은 배열 객체를 I/O할때는 주의해야 한다. 위와 같은 형태로 데이터베이스가 구성되어 있다고 하자. 겉보기에는 ExArray1과 ExArray2의 내용은 같은 것 처럼 보인다. 그러나 JSON 내보내기 기능을 이용해서 JSON 파일을 살펴보면 처럼 ExArray1과 ExArray2는 저장방식이 조금 다르다는 것을 알 수 있다. 형태가 다르면, 당연히 데이터를 가져올 때에도 서로 다른 방식으로 가져와야 한다. ExArray1의 경우 ArrayList으로 가져온다. 가져올 때 Object타입으로 가져왔으므로 그것을 ArrayList으로 캐스팅해서 사용하면 되는 것이다. ExArray2의 경우 Ha..
어떤 listener들의 method는 boolean값을 return한다. 이 return value가 의미하는 것은 true //다음 listener를 호출 불가능하게 한다false //다음 listener를 호출 가능하게 한다. 예를 들어서 ListView의 각각의 Item들에 LongClick listener와 Click listener가 적용되어 있다면 LongClick이 끝난 뒤에 Click이 실행되게 되는데 만약 LongClick에 정의한 행동만을 실행하고 싶다면 LongClick Listener의 메소드의 리턴값을 true로 전달하면 된다. 그렇게 하면 다음 Listener로 흐름이 넘어가지 않는다.
참고 https://academy.realm.io/kr/posts/constraintlayout-it-can-do-what-now/ https://academy.realm.io/kr/posts/cool-constraintlayout-droidcon-boston-2017/ 요약 ConstraintLayout은 RelativeLayout과 비슷한 역할을 할 수 있게 고안된 Layout이다. 그러나 RelativeLayout은 연산속도에 있어서 계속해서 부모 컨테이너와의 관계를 계산하기 때문에 문제가 있지만 ConstraintLayout은 새로운 알고리즘을 사용하여 연산속도가 Linear하기 때문에 RelativeLayout보다 우수한 성능을 가질 수 있다. 그러나 굳이 모든 dev environment에서 ..
"English Explain exist below.Please Scroll Down" 파이어베이스는 서버가 필요하지만 번거롭거나, 백엔드 지식이 없을 때 사용할 수 있는 편리한 기능을 제공한다. 하지만 API에 있는 정보만으로는 원활한 개발에 상당히 어렵다는 것을 느낀 사람이 많을 것이다.(가이드는 친절하지만 종종 더 자세한 설명을 얻고 싶을 때 API에서 찾아보면 "한 줄 설명"이 꽤나 많기 때문이다...)(물론 그렇지 않은 사람도 많을 것이다.) 특히 데이터베이스의 데이터 입출력에 관해서, 데이터를 가져오는 경우 set메소드가 존재하지만데이터를 내보낼 때는 get이 아닌 Listener를 활용하기 때문이다. 그래서인지 즉각적으로 데이터를 교환하기가 상당히 까다롭고, 검색으로도 해답을 찾기 상당히 힘..
기본적으로 존재하는 뷰 외에도 사용자가 직접 View Class를 상속받아서 개발자 임의로 View를 만들어 사용할 수 있다. package com.example.windows7.myapplication; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.DashPathEffect; import android.graphics.Paint; import android.view.MotionEvent; import android.view.View; import android.widget.Toast; /** * Created by WINDOWS7 on ..