본문 바로가기

Programming/Android

(28)
zxing-android 라이브러리를 이용한 QR 코드 생성 android 에서 QR코드를 생성하는 하는 법을 알아 보도록 하겠습니다. compile 'com.journeyapps:zxing-android-embedded:3.5.0' build.gradle의 dependencies에 zxing라이브러리를 추가 합니다. QR코드는 숫자 최대 7089 자, 영문자와 숫자[코드표가 따로 존재] 최대 4296 자, 8비트 바이트 최대 2953 바이트, 한자 1817 자를 담을 수 있습니다. 문자열을 받아와 QR코드를 생성 해보겠습니다. public static Bitmap generateQRCode(String contents) { Bitmap bitmap = null; try { QRCodeWriter qrCodeWriter = new QRCodeWriter(); bi..
android Soket를 활용한 통신 - Client Socket에서 Server에 이어 Client를 진행 하겠습니다. android에서 개발을 진행 하면 Server를 만들일은 특수한 경우 아니면 없다고 생가 할수 있습니다. Client의 경우 필요에 따라 만들어 써야 하는 경우가 있습니다. 그렇기 때문에 직접 구현 하지 않더라도 Socket.io처럼 잘되어 있는 라이브러리도 존재 하기는 합니다. 하지만 여기서는 Server와 Client에 대한 구현 부분을 알아보는데 의미를 두어 Client도 직접 구현 하겠습니다. android 네트워크 통신에서 가장 기본이면서 중요한 부분은 무엇일까요? 당연히 비동기 통신을 통한 UI쓰레드에서 UI 갱신 일 것입니다. Socket 통신도 당연히 이부분은 해당 되며 통신 모든 부분에서 비동기 처리 및 UI 갱신은 U..
android Soket를 활용한 통신 - Server android에서 socket을 활용하여 Server, Client를 구현하여 통신하는 법을 알아보도록 하겠습니다. 우선 Server를 만드는 일인데요. android 디바이스에서 Server를 만들기 위해서는 Wifi환경이어야 가능 합니다. public static String getLocalIpAddress(Context appContext) { WifiManager wifiMgr = (WifiManager) appContext.getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); int ip = wifiInfo.getIpAddress(); String ipAddress = String.format("%d.%d..
android에서 Gson 라이브러리 사용하기 Json 형식은 데이터 교환방식중 가장 많이 사용 하지 않나 생각 합니다. android에서는 가장 기본적으로 JsonObject라는 클래스를 이용하여 편리하게 파싱을 할수 있습니다. 하지만 이방법도 더 편리한 방법으로 제공 하는 것이 바로 Gson입니다. Gson 라이브러리는 파싱할 클래스를 선언하고 간단한 함수 호출을 통하여 객체에 값들이 할당됩니다. compile 'com.google.code.gson:gson:x.x' build.gradle의 dependencies에 gson라이브러리를 추가 합니다. class SampleDTO { int idx; String text; public SampleDTO(int idx, String text) { this.idx = idx; this.text = te..
android 데이터바인딩 활용(3) - BindingAdapter 데이터바인딩에서 BindingAdapter를 사용하는 법을 알아보겠습니다. BindingAdapter는 쉽게 xml을 통하여 함수를 호출 할수 있게 제공합니다. android 데이터바인딩 활용(1)의 RecyclerView소스에 이어서 진행 하겠습니다. public class ColorData { int color; private int nIdx; public ColorData(int nIdx) { this.nIdx = nIdx; } public int getColor() { int nNum = nIdx%3; switch (nNum) { case 0: color = Color.RED; break; case 1: color = Color.BLUE; break; case 2: color = Color.YEL..
android 데이터바인딩 활용(2) - Event연동 데이터바인딩 활용에서 Event 연동하는 법을 알아보도록 하겠습니다. 기존에 클릭이벤트를 연동 할때 어떻게 쓰셨나요? btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } }) 위와 같이 View 객체에 직접 이벤트를 만들어 주거나 라이브러리등을 사용하여 다양한 방법으로 구현 할수 있었는데요. 데이터바인딩을 활용하여 xml에서 함수를 직접 호출 할수 있습니다. 가장 첫번째 해줄일은 xml에 data와 variable태그를 추가합니다. name : xml내에서 참조할 변수 이름 type : 참조할 클래스 public void btnClick(View view) { Toast.makeTex..
android 데이터바인딩 활용(1) - include, Adapter 지난 포스트에 데이터바인딩을 사용하는 방법을 알아보았습니다. 오늘은 추가적으로 활용 할수 있는 부분을 알아보도록 하겠습니다. xml 레이아웃을 include해서 사용할 경우 참조 방법과 RecyclerView에서 사용 하는 법을 간단한 예제를 통해서 구현해 보겠습니다. 우선 include와 adapter에서 사용할 TextView를 가지고 있는 레이아웃 파일을 추가 하였습니다. 메인 레이아웃에 좀전에 만들었던 레이아웃을 include 하였습니다.여기서 중요한 부분은 iclude한 부분에 id를 지정한 것 입니다. 기존에는 include하면include한 레이아웃에서 findeViewById를 통해 include여부와 상관없이 사용하였습니다.하지만 데이터바인딩에서는 해당 id값을 가지고 객체가 생성되어 사..
android studio에서 VCS 불필요한 파일 제외 시키기 android 프로젝트 형상관리 위하여 svn, git을 사용하다 보면 프로젝트 빌드시에 생성되는 파일들로 인하여 conflict로 고생한 흔히 있을 것 입니다. 이클립스에서 개발 하던 시절에도 svn, git을 사용할때 빌드시 생성되는 파일들은 목록에서 제거하기 위하여 여러가지 작업을 해주었던 기억이 납니다. android studio에서도 이런 파일들을 대상 목록에서 제외 시킬수 있습니다. 설정하는 방법을 하나씩 따라가보도록 하겠습니다. Mac : 좌측 상단의 Android Studio -> Prefrences... -> Version Control -> Ignored Files Window : File -> Settings -> Version Control -> Ignored File Version..