Android 88

안드로이드 구글 애널리틱스 (Google Analytics) 연동하기

안드로이드에서 구글 애널리틱스 연동하는 방법을 살펴보자!구글이 제공하는 시작 가이드가 있지만 가이드대로 했더니 약간 부족한 면이 있어 포스팅한다.구글 애널리틱스 콘솔 화면에서의 작업이 아닌 안드로이드 스튜디오에서 해야할 것들에 대해서 자세히 다룰 것이다. 구글 애널리틱스 콘솔에서 준비하기우선 analytics.google.com 에 접속하여 앱 데이터를 만든다.여기서 얻어야 할 것은 바로 UA-00000000-0 형태로 생긴 추적 코드다. AndroidManifest.xml 1234567891011121314 ... Colored by Color Scriptercs 안드로이드 스튜디오에 들어가서 프로젝트를 열고, AndroidManifest.xml 파일을 연다. 태그 아래에 인터넷, 액세스 네트워크 스테..

안드로이드 apk 용량 줄이는 효과적인 방법

>> https://blog.getsigneasy.com/engineering/signeasy-android-app-lighter/ 요약하면 이렇습니다. 디테일은 링크를 통해서 알아보세요! 최소한의 라이브러리 사용하기Google API의 경우에 v6.5 이상 부터 선택적으로 라이브러리를 포함시킬 수 있도록 했으니, 사용하는 종류만 골라서 사용하는 것이 좋다. ProGuard 사용하기ProGuard는 앱에서(라이브러리를 포함) 사용하지 않는 클래스나 메소드, 필드들을 지워주는 효과적인 툴이다.만약에 AppCompat-v7 또는 support library-v4를 사용하고 있다면 ProGuard파일에 아래의 2줄이 없도록 해야한다.-keep class android.support.v4.** { *; }-ke..

안드로이드 Fragment에 정보 전달하기

개발 중 나는 Fragment에 간단한 정보를 전달할 일이 있어 Fragment를 생성할 때 constructor를 추가하여 넣었던 적이있다. 그런데 빌드시 오류가 났다. non-default 생성자는 Fragment에서 허용되지 않는 듯 보였다. 예를 들어 사용자의 정보인 아이디를 보여주는 Fragment가 있다고 하자. 그렇다면 userId라는 String 타입 값을 Fragment에 넘겨줄 방법이 필요하다. 이때 Bundle을 이용하면 마치 Activity간 Intent처럼 넘겨줄 수 있다. Fragment fragment = new UserFragment(); // Fragment 생성Bundle bundle = new Bundle(1); // 파라미터는 전달할 데이터 개수bundle.putStr..

안드로이드 EditText를 이용해 리스트뷰 검색 기능 만들기

오늘은 EditText를 이용해 검색되는 리스트뷰를 만들어 보겠다.다음 GIF처럼 작동되는 것이고, 리스트뷰 아이템의 이름에 따라 검색이된다.나는 이번에 게임에나오는 포션들을 검색할 수 있는 것으로 예제를 만들어 보겠다. 준비물은 만들어진 ListView, ListView Item Layout, ListViewAdapter그리고 검색할 Activity다. ListView와 ListView Item Layout, 그리고 ListViewAdpater를 만드는 방법과동작하는 방식은 다른 강의에서 보시고! ㅎㅎ이 강의에서는 검색기능 구현에만 초점을 맞출 예정이다. 먼저 내 PotionListViewAdapter부터 보겠다.PotionListViewAdapter.java package com.lx5475.****..

안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (3)

이번 강의에서는 Card View에 이미지를 적용 시키는 방법과, 개별 클릭 이벤트를 처리하는 방법에 대해 알아 볼 것이다.나는 이미지 URL을 이용해 이미지를 불러올 것이기 때문에 마음 편하게 라이브러리를 사용했다.이미지 관련 라이브러리 중 유명한 것은 Picasso와 Glide가 있는데, 둘 다 사용법은 비슷하고 성능도 좋다. 이미지 라이브러리인 Picasso를 사용하기 위해Gradle에 다음 코드를 한 줄 추가한다. build.gradle (Module : app)dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompa..

안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (2)

레이아웃을 만들기가 끝났으니, 이제는 데이터를 모아 Adapter로 연결하는 일만 남았다.이 예제에서는 Fragment에서 RecyclerView를 불러올 것이기 때문에 Activity를 사용한다면 조금 수정할 부분이 있다.- onCreateView() -> onCreate()- getActivity() -> getApplicationContext() 또는 ~Activity.this 또는 this 그리고 이 예제에서는 공지사항을 불러오기 위한 카드뷰이므로웹 DB에서 만들어진 데이터를 php를 이용해 JSON 객체로 만들어불러오고, 안드로이드는 JSON을 읽어 ArrayList 형태로 데이터를 정리한다.그리고 그 데이터를 카드뷰 하나 하나에 뿌려준다.중간에 있는 DBhelper나 getData() 메소드는..

안드로이드 앱 최초 실행시 바탕화면에 아이콘(Shortcut) 생성하기

안드로이드 앱 최초 실행시 자동으로 바탕화면에 아이콘(shortcut)을 생성해주는 코드다.SharedPreferences의 "check"라는 키를 이용해해당 키의 value가 비어있으면(isEmpty()) shortcut을 생성하고,그 후에는 "exist"라는 value를 채워준다. SharedPreferences는 이렇듯 간단한 ON/OFF 설정에 이용하면 좋다.사용법도 SQLDatabase보다 간단하며앱이 삭제되지 않는 한 계속 지속되기 때문이다. if(pref.getString("check","").isEmpty()) 이하 코드를 다르게 해서앱 최초 실행시 취할 액션을 마음대로 꾸며보는 것도 좋다. 12345678910111213141516171819202122232425//데스크탑 아이콘 생성p..

안드로이드 화면 전환, 액티비티 간 정보 전송 (인텐트,Intent)

안드로이드에서 인텐트(Intent)는 기본이다.고등학교 때 100% 열정만으로 뛰어든 앱 개발에 가장 당황했던 것은 그 흔한 화면 넘기기 조차 자바 코드였다는 사실이다.특히나 그 때 자바 문법에 대한 지식이 1도 없어서 인텐트는 사용해보지도 못했다. (그래서 Tab으로 구현했는데 이것도 이상하네..)그래서 이번에는 인텐트에 대해서 정리를 해서 나처럼 화면전환을 못하는 사람에게 도움을 주려한다. 인텐트는 어떤 일을 할 수 있는가?인텐트는 A Activity에서 어떤 동작이 발생하면, B Activity를 실행하는 화면 전환의 기능을 할 수 있다.그리고 A Activity에서 발생하는 어떤 형태의 데이터(int,String,char,float,array...etc)를 B Activity로 넘길 수 있다. 인..