본문 바로가기

Android

TextView 슬라이딩 텍스트뷰 크기는 제한되어있고 표현해야할 텍스트가 많을때 사용하면 좋은것 같다. xml에서 텍스트뷰에 다음 속성을 추가한다. android:focusable="true" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:focusableInTouchMode="true" 그리고 java소스상에서 TextView test = (TextView) findViewById(R.id.test); test.setSelect(true); 이런식으로 주면 좌우로 흘러가는 텍스트를 볼 수 있다. 더보기
앱 종료하기. 보통 안드로이드를 하다보면 앱을 종료할 때 대부분 finish();로 처리하는 경우를 많이 봤다. 그런데 finish()는 액티비티만 종료시킬뿐 앱에서 돌고있는 리소스를 종료시키지 못한다. 그렇기 때문에 앱을 종료시킬 때에는 항상 System.exit(0);를 사용하도록 하자.... P.S 그냥 내가 해보고 주저리주저리 쓴글이라 틀릴수도 있음.... 더보기
eclipse상에서 코드 비교하기. 가끔 똑같은 파일 두개를 만들어 놓고 소스를 비교해야 할 일이 생길수가 있다. 이럴때에는 직접 눈으로 비교하지 말고 비교할 두개의 소스를 control로 선택하고 마우스 오른쪽을 누른다음에 compare with->each other를 누르면 창이 하나뜨면서 두개의 소스를 비교한 화면을 보여준다. 더보기
setText() 에러 처리하기. 가끔 코딩을 하다가 TextView라던가 EditText에 setText를 이용하여 뿌려주는 작업을 많이 할 것이다. 그런데 여기서 자주 실수 하는것이 int나 Integer형을 그대로 같다 넣는 경우도 있다. 이렇게 되면 No package identifier when getting value for resource number 메모리 주소 이런 오류를 뿌려주는데 String이 들어갈 자리에 Integer나 int가 들어가서 나오는 것이다. 이때는 String.Valueof를 사용하는식으로 고치면 된다. P.S 코드가 길어서 쓰기 귀찮으면 +""를 추가해도 된다. 어쨋든 String형이 들어가기만 하면 되는듯. 더보기
Json 2차원 배열 출력하기(http 통신 Gson 이용) 이전 포스트에 http통신을 이용하여 웹서버에 있는 json파일을 파싱하여 출력하는 것을 했었다. 이번에는 2차원 배열이 있는 Json파일을 출력해보겠다.(솔찍히 포스트 할 가치가 있을까 했지만 그냥 복습하는겸....) 별다를 것 없이 보통 2차원배열 데이터를 출력할 때에는 이중 반복문을 쓰는 것을 다들 알 것이다. 이전 소스에 그냥 반복문 하나 더 써준 것과 클래스 하나를 더 만들어 준 것밖에 없다. 이번에는 InnerClass를 사용하지 않고 따로 파일을 만들어서 사용 했다. import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import org.apa.. 더보기
web상에 있는 json 파일을 http통신을 통하여 받아서 출력하기.(Gson 이용) 제목은 거창하나 직접해보면 전에 있던 예제에 http통신만 덧붙여서 했다. 지난번 예제에서 http통신의 post방식을 이용하여 소스를 작성하였다. 말로 주저리주저리 말하는거보다 소스에 주석을 달아서 설명해 놓겠다. package com.tistory.sunwoont; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.ArrayList; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus;.. 더보기
JSON을 GSON으로 쓰는 방법. 보통 파싱을 하게 되면 xml을 많이 생각하게 되는데 JSON보다는 GSON이 사용하기 더 편한 것 같다.(깨닫고 나니깐....) 하지만 GSON이 다 좋은것만은 아니라고 느껴지는 것이 [~]이런 종류의 내용은 JSON에서 읽기 좋지만 GSON에서는 최악인 것 같다. (실제로 [~]식으로 예제 작성하다가 하루를 날로 바치는 마술을 보았다 -_-;) GSON으로 배열 형식을 쓰고 싶다면 {"key":[~]}이런식으로 작성하는 것이 바람직하다. 먼저 아래와 같은 JSON이 있다고 치자. String Json = "{\"computer\":[{\"Product\":\"mouse\",\"Maker\":\"Samsung\",\"Price\":23000}," +"{\"Product\":\"keyboard\",\"M.. 더보기
안드로이드 패키지 중복 만약 안드로이드 프로젝트를 새로 생성하고 폰이든 에뮬레이터든 빌드를 할 때 가끔 이런 메시지를 볼 때가 있다. [2011-11-22 10:15:33 - androidText_Mac] Re-installation failed due to different application signatures. [2011-11-22 10:15:33 - androidText_Mac] You must perform a full uninstall of the application. WARNING: This will remove the application data! [2011-11-22 10:15:33 - androidText_Mac] Please execute 'adb uninstall com.tistory.sunwoont.. 더보기
MacBook에서 안드로이드 PATH 설정방법 터미널에서 .bash_profile을 찾아본다. 이것이 없다면 touch .bash_profile로 생성시켜준다. 이 파일은 안드로이드의 환경설정을 설정하는 파일이라고 보면 된다. 그리고 opne -e .bash_profile 명령어로 편집기를 연다음 다음과 같이 입력한다. PATH=${PATH}:/안드로이드 SDK의 경로/platform-tools 2.3보급 후 부터 주요 adb파일이라던가 여러가지 핵심 툴들이 tools에서 platform-tools로 이동되었기 때문에 이같이 쓴다. 윈도우에서 금방하던 작업을 맥에서 삽질하는 기분이란..... 그리고 버전을 확인해보기 위해 마지막으로 adb version을 쳐서 버전이 나온다면 성공. 만약 안된다면 로그아웃 후 다시 해보길... 더보기
Android에서 jsp로 데이터 파라미터 전송하는 방법 보통 jsp웹페이지에서 xml로 변형시켜서 파싱하는 방법은 안드로이드 사용자라면 많이 사용할 것이라고 생각한다. 그러면 그 반대는 어떨까?? 감이 안잡혀서 머리 싸매고 하다가 전에 안드로이드 교육을 받은 강사 형의 조언을 받아서 완성하였다. 안드로이드에서 jsp로 데이터를 보낼 때에는 jsp의 action에 데이터를 리스트 형식으로 묶어서 전달하는 방식을 사용하였다.(솔찍히 말하자면 인터넷에 나오는 자료도 보긴했지만 실제로 써보고 나니 정말 허무 그 자체다 ㅡ,.ㅡ;; 이렇게 간단할 줄은 몰랐었기에.....) 일단은 xml에서 editText3개와 버튼 하나를 놓고 버튼을 누르면 데이터를 전송하는 것을 보자. (일단 이것을 하기 위해서는 jsp 웹 게시판이 작성되어 있어야하는데 jsp 메뉴에 따로 나중에.. 더보기