20

마인크래프트 가이드 앱 개발기 5편 "개명 후 제명"

개발에 차질이 생겼다.몇 일간 열심히 했던 판올림이 화를 불렀다.앱이 구글 플레이에서 짤린 것이다.구글 플레이 특성상 자세한 이유는 알지 못한다. (알려주지 않는다...관심이없다 쉐에끼들...) 그래도 내 앱을 찾는 많은 사람들, 팬들이 있기에 일단, 재기할 희망을 가져본다.새로운 이름 로, 옛날의 그 편의성 그대로!출시 해 본다. 얼른 유저들을 만나고 싶다!

마인크래프트 히로빈 (Herobrine) 괴담에 관한 모든 것

나는 마인크래프트 마스터 앱의 개발자로서 마인크래프트에 관한 모든 정보를 탐색한다.일반적으로 아이템이나 몬스터 같은 정보들을 보지만, 괴담도 몇 편 본다.다른 게임들 과는 다르게 마인크래프트에는 괴담같은 것이 존재한다.많은 괴담들이 있지만, 그 중에서도 '히로빈'이란 존재는 압도적이다.히로빈은 누구일까? 진짜로 존재하는 걸까?한 번 파헤쳐 보도록 하겠다. 히로빈 개요히로빈은 커뮤니티에서 만들어낸 괴담의 주인공이다.히로빈은 마인크래프트의 어떠한 버전에도 등장하지 않는다. 히로빈의 모습 실명 : 히로빈 (Herobrine)직업 : 광부 (Miner)국적 : 스웨덴 (Swedish) 히로빈은 마인크래프트의 주인공 스티브와 똑같이 생겼지만,눈에 검은 눈동자가 없다. 다소 무서운 모습을 하고 있다. 히로빈은 마인..

마인크래프트 가이드 앱 개발기 4편 "개명"

오늘 작업도 리팩토링이다.그래서 개발관련해서는 뭐 적을 이야기가 따로 없기는하다.리팩토링을 하던 중 마켓에 올린 앱 버전을 구할 일이 있어마켓에 라고 검색 해서 내 앱을 다운받아보았다.순위를 보니 마인크래프트 초보자 보다는 마인크래프트에 익숙한 사람들이다운받을 법한 앱이 많았다. 그에 비해서 내 앱은 마인크래프트를 처음 시작하는 유저들이 다운받을 만한 앱이다.실제로 몇몇 리뷰는 자신의 마인크래프트 지식이 너무 풍부해서 별로 쓸데없다는 내용도 있다.처음엔 나도 단순 초보 가이드 앱으로 시작했지만 지금은 중/고수, 매니아까지 끌어들일 수 있는 컨텐츠들을 확보했다.그래서 앱 이름을 개명하기로 했다! 느낌상 거의 2년? 만에.앱 이름은 이다. 처음에는 으로 하려고 했으나키워드가 뭉쳐서 검색에 어려움이 있을까봐 ..

안드로이드 Custom Object Intent로 넘기기, Parcelable 구현

내가 만든 클래스 넘기기 (마인크래프트 앱 개발기 3편) 7월 업데이트를 위해 리팩토링을 하면서,데이터 타입에 대한 정리는 끝났으니 이제 전송에 관련된 일을 처리해야했다. 나는 ItemDB라고 하는 클래스를 만들어 아이템 정보를 관리하고 있다.그러나 특성상 ItemDB 자체를 인텐트로 넘겨야 더 좋은 성능을 낼 수 있는 상황이 왔다.intent.putExtra(key, value)로 보내어 value 값이 맞는 아이템을 500개 리스트에서 일일이 찾기 보다는그냥 ItemDB 하나만 심플하게 보내는 방법이 좋아보였다.그러나 putExtra()는 한정된 자료형만 전송할 수 있는 단점이 있기에, 어떻게 해결하면 좋을지 찾아보다가Parcelable 또는 Serializable 을 이용해 커스텀 오브젝트를 전송할..

마인크래프트 가이드 앱 개발기 2편 "왠 Python?"

오랜만에 2편을 써본다. 아무도 안기다렸지만 ㅎㅎㅎㅎ '~'방학을 맞아서 유저들에게 약속했던 7월 대규모 업데이트를 하려 다시 안드로이드 스튜디오를 켰다.그동안 코딩스타일을 배워 한 층 더 업그레이드 된 눈으로 다시 코드를 보니 엉망이었다.앱 특성상 아이템을 추가할 일이 많은데, 아이템 추가하기가 번거롭고 힘들게 되어있었다.그래서! 더욱 편하게 아이템을 추가하기 위해 나에게 조금 더 나은 인터페이스를 제공하기로 했다. 리팩토링이전에는 아이템을 추가하려면 layout에서 아이템 아이콘을 추가하고, 개별 아이템마다 onclick="아이템이름"다는작업을 한 뒤에, 아이템 정보가 담겨있는 ItemDB를 모아놓은 ArrayList인 ItemDBList에도 정보를 업데이트 해야 했다.그러나 아이템이 300개가 넘다..

안드로이드 아름다운 카드뷰(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..

용산사 점괘 해석 어플 <안녕 용산사> 개발기

친구들과 대만 여행을 계획하는 중 나는 용산사 조사를 맡게 되었다! 용산사의 오묘한 신비스러운 건물 디자인과 구수한 향내도 정말 압권이지만 우리들끼리의 진정한 하이라이트는 점괘 뽑기였다. 내 소원에 대한 하늘의 답은 어떤지, 나말고도 여러사람들이 궁금해 했다. 용산사 점괘 해석 해달라고 네이버 지식인에 올려놓기도 하고, 카페에 올려놓기도하고 인스타를 이용하거나 중국어 잘하는 지인에게 카카오톡으로 묻기도 한다. 그런 수고를 좀 덜기 위해서 나는 이 앱을 개발했다. 어려운 앱은 아니다. 나도 3일만에 만들었고 그것도 디자인에 더 많은 시간이 갔다. 하지만 많은 사람들이 써주면 좋겠다! 용산사를 다녀오면서 나도 필요했던 앱이니깐. 디자인 측면에서의 도전 이번에는 SCViewPager를 이용하여 상당히 유려한 ..

마인크래프트 가이드 앱 개발기 1편

마인크래프트 가이드 앱 개발기 1편 마인크래프트 가이드 앱 개발기 1편이다. 마인크래프트 가이드 앱이 뭔지 간략히 설명하고 역사와 지금 상태를 기록하겠다! 이 앱은 MOJANG 이라는 게임회사에서 개발한 마인크래프트라는 게임을 쉽게하기 위한 앱이다. 아니 얼마나 게임이 어려우면 쉽게하기 위한 앱이 있냐고...? 게임이 어렵지는 않지만 마인크래프트는 샌드박스형 게임(유저가 마음대로 다 할수있는)이기 때문에 외우거나 기억해둘 사항이 많다. 사진처럼 활을 하나 만들기 위해서 거미줄 3개워 막대기 3개를 저 위치 그대로 놓아야한다. 나도 마인크래프트를 하다가 매번 조합법을 검색하기 귀찮아서 만들기는 했다. 그리고 데이터를 모두 소스 안에 두면되어서 그다지 큰 기술이 필요하지 않았다. 버튼, 인텐트 정도만 알면 ..

안드로이드 버튼 클릭 이벤트 처리 (Android Button Click Event)

안드로이드를 개발하면서 버튼을 클릭하면 나타나는 클릭이벤트를 구현하는 상황을 많이 마주한다!그럴때마다 나는 구글에 검색해서 코드 복붙을 했는데, 이번 기회에 한번에 정리한다.안드로이드 버튼 클릭 이벤트를 구현하는 방법은 다양하다. 그 중에서 4가지를 소개할텐데,아무거나, 편한대로 쓰면된다. activity_main.xml먼저 activity_main.xml 파일에 버튼이 하나 있다고 치자.버튼의 id 이름은 btn_start 이고, 버튼에는 start라고 적혀있다. 12345cs MainActivity.javaactivity_main.xml에 있는 버튼 이벤트를 적어주어야 하는 곳은setContentView(R.layout.activity_main) 이라는 코드가 있는 MainActivity.java 이..