본문 바로가기

Programming

사용가능한 API 리스트 정리 어느 어느 API가 사용가능할까? 정리가 잘되지 않는다. 그래서 하나하나 정리하고 업데이트 함, 1. 구글 Analytics http://code.google.com/intl/ko-KR/apis/analytics/ 2. SKT API CENTER http://apicenter.tstore.co.kr/apiCenter/findSktApiCenter.do 3. 서울시 모바일 공공정보 OpenAPI 서비스 http://mobile.openapi.seoul.go.kr/ 4. 동부고속버스의 OpenAPI http://openapi.dongbunts.co.kr/ds/index.html 5. 네이버 오픈 API http://dev.naver.com/openapi/ 6. 다음 오픈 API http://dna.daum... 더보기
cocos 2d란 ? 안드로이드용 cocos2d 공식 README file 내용입니다. 2d게임, 데모 등등 그래픽적인 interaction이 필요한 경우 사용하는, Framework라고 하죠, cocos2d를 이용하여 가능한 일들은 아래와 같습니다. cocos2d for Android [1] is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on the cocos2d [2] design: it uses the same API and design, but instead of using Python, it uses Java. Main features: * Flow control: Manage .. 더보기
[ Cocos 2d Example ] ActionManagerTest Cocos 2d Example에 있는 ActionManagerTest에 대한 설명이다. ( 아직은 미완성 ) 우선, 두가지 클래스에 대한 설명. package : org.cocos2d.nodes ( extends java.lang.object) class : CCDirector (Singleton Object) Class that creates and handles the main Window and manages how and when execute scenes. The CCDirector is also resoponsibile for - Initializing the OpenGlES context. - Setting the OpenGLES pixel format (default on is RGB565.. 더보기
외부 라이브러리 사용하기 1. 사용할 라이브러리를 준비해줍니다. (*.jar, *.so파일은 다르게 함, 나중에 정리하도록 합시다.) 2. 프로젝트를 만들어줍니다. 3. 프로젝트에 마우스를 갖다대고 오른쪽을 클릭하여 New > Folder를 선택하여, libs라고 폴더를 추가하여 줍니다. 4. libs폴더에 아까 1번에서 준비한 라이브러리를 복사해줍니다. 복사된 모습 보이시죵, 5. 프로젝트를 클릭하여 오른쪽 마우스 클릭하여 BuildPath > ConfigureBuildPath 를 눌러줍니다. 여기서, Add JARs 클릭. 해당 프로젝트의 libs로 찾아들어가 아까 복사해 둔 라이브러리를 추가해 줍니다. 그리고, OK 클릭. 6. 라이브러리 추가 완료입니다. 이제, 추가된 라이브러리가 사용가능한지, 확인해 보시면 될겁니다. 더보기
안드로이드 개발환경 구축하기 안드로이드 개발환경을 구축하는 방법입니다. (윈도우 기준, 이클립스 갈릴레오 기준.) developer사이트의 개발환경 구축하는 방법을 참고합니다. http://developer.android.com/sdk/installing.html 1. Preparing Your Development Computer 안드로이드 개발환경 구축을 위해서는 먼저 java가 설치되어야 합니다. 시스템에 맞추어 java를 다운 받으시고, path까지 잡아주세요. 다운로드 링크는 다음과 같습니다. http://www.oracle.com/technetwork/java/javase/downloads/index.html 자바를 다운 받고, 패스를 설정하는 방법은, 다른 사이트에 워낙 잘나와 있어서 생략합니다. 참조 하세요. http.. 더보기
inputStream to String inputStream을 String으로 출력한다. public String isToString(InputStream is) throws IOException { if (is != null) { Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader( new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { is.close(); } return writer.toString(); } else { ret.. 더보기
가로모드에서 editText 키보드가 화면을 덮을때 ! 위의 글을 넣어주면 됩니다. 더보기
유튜브 연결 인텐트 분홍글자부분의 아이디만 바꾸어 주면 됩니다. Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:youTubeId")); startActivity(i); 더보기
EditText에 화폐단위(,) 붙이기.  목적 : 에딧텍스트에 숫자가 바뀔때마다, 3자리 숫자 단위로 콤마(,)를 찍어준다. XML파일은 다음과 같다. 별다를 것 없는... 자바 파일은 다음과 같다. // 세자리로 끊어서 쉼표 보여주고, 소숫점 셋째짜리까지 보여준다. DecimalFormat df = new DecimalFormat("###,###.####"); // 값 셋팅시, StackOverFlow를 막기 위해서, 바뀐 변수를 저장해준다. String result=""; // 숫자가 바뀔때마다, 새로 셋팅을 해주어야 하므로, ChangeListener를 단다. meterEditText.addTextChangedListener(new TextWatcher(){ @Override public void afterTextChanged(Edit.. 더보기
텍스트 마퀴효과 안드로이드에서 텍스트가 길면, 잘려서 안보이는 경우가 있다. 이런경우, 글자가 흘러가는 효과를 주어 보여주게 하는 방법이 있다. main.xml 유의해서 봐야할 것은, android:focusable="true" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:focusableInTouchMode="true" 이 속성들을 주어야 한다는 것이고, java파일에서, setSelected(true)를 적용해 주어야 한다는 것이다. MarqueeTest.java public class MarqueeTest ex.. 더보기
전화걸기 인텐트 다음의 인텐트를 사용하여 주면 된다. Intent mIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:01012345678")); startActivity(mIntent); 더보기
SurfaceView 사용방법 SurfaceView 사용법은 1. SurfaceView를 상속 받고, 2. SurfaceHolder.Callback을 구현하여준 후에, 3. SurfaceView의 그리기 작업을 핸들링 해줄, Thread를 구현해주면 됩니다. 예제를 보십시다. package kr.chapter.surfaceview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.util.AttributeSet; import android.view.SurfaceHolder; import android.view.SurfaceView; /** * SurfaceView를 이용하기 위해서 and.. 더보기
getWindow(),requestFeature(int featureId) 종류 윈도우에 기능을 요청하는 방법입니다. setContentView이전에 호출을 해주어야 합니다. 대표적으로 많이 쓰이는, 속성과 설명을 알아 봅시다. DEFAULT_FEATURES : 기본기능이다. FEATURE_CUSTOM_TITLE : 커스텀 타이틀 바를 사용한다. FEATURE_INDETERMINATE_PROGRESS : 타이틀 바에 원형의 프로그레스를 표시한다. FEATURE_NO_TITLE : 타이틀 바를 없앤다. FEATURE_PROGRESS : 타이틀 바에 막대 모양 프로그레스를 표시한다. 더욱 자세한 feature의 종류는 개발자 사이트를 참조. http://developer.android.com/reference/android/view/Window.html#requestFeature(int.. 더보기
안드로이드 키보드의 InputType정리 안드로이드 단말은, 에딧텍스트의 상태에 따라, 키보드의 모양이 달라지게 할 수 있지요. 비밀번호를 눌러야 한다면, 숫자키보드가 나오고 뭐, 그런 것말이죠, 이것은 editText의 inputType 속성을 적절히 지정해주면 됩니다. 이 속성에 따라서, 키보드에 표시되는 키의 종류가 달라집니다. 속성은 세가지, Class, Variation, Flag 세가지가 있고, 각 속성은 중복되어 사용가능 합니다. 중복하여 사용하려면, |로 연결하여 사용합니다. Class는 숫자, 문자, 비밀번호 등 입력문자의 종류를 지정합니다. Variation은 Class의 세부적속성이 들어가죠. Flag는 이보다 더 세부적인 속성으로, 대문자 자동변환 여러줄 입력 등의 동작을 수행한다고 합니다. 코드에서 inputType의 속.. 더보기
이클립스 자바독 인코딩에러 해결법 이클립스에서 자바독 추출시 인코딩에러가 발생할 경우가 있습니다. 윈도우 및 운영체제의 툴이 대부분 UTF-8을 기본으로 하지요. 이럴경우에는 자바독 옵션에, -locale ko_KR -encoding UTF-8 -charset UTF-8 -docencoding UTF-8 써주시면 됩니다. 이클립스에서 익스포트 시에는, 익스포트 시 next, 두번 누르시면, vm options라고 나오는데 이곳에 아래 글을 써주시면 됩니다. locale ko_KR -encoding UTF-8 -charset UTF-8 -docencoding UTF-8 더보기
안드로이드 샘플보기 다운 받은 샘플 이후에 추가로 제공되는 샘플코드. http://code.google.com/p/apps-for-android/ 확인하여 보자. 더보기
guava-libraries http://code.google.com/p/guava-libraries/ This project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, basic string processing, I/O, etc. 더보기
android에서 외부(sdcard) db를 열려면? pc에서 만든, sqlite파일을 안드로이드에 삽입하여 사용하고 싶다면, 어떻게 해야할까? SQLiteDatabase의 openDatabase를 사용하면 된다. 예는 다음과 같음. String filePath = getFilesDir().getAbsolutePath() + File.separator + DB_FILE_NAME; SQLiteDatabase sqlite = null; sqlite = SQLiteDatabase.openDatabase(filePath, null, SQLiteDatabase.OPEN_READONLY); Cursor cursor = sqlite.rawQuery("select code_num from category;", null); sqlite.close(); 참조 : 2011/0.. 더보기
예제로 시작하는 안드로이드 개발 예제로 시작하는 안드로이드 개발 책. 온라인 책 및, 소스 안내 등 페이지입니다. http://androidapps.org.ua/ 더보기
안드로이드 버튼 Selector 버튼의 상태에 따라서 버튼의 스타일을 다르게 지정할 수 있다. 이것을 하는 방법은, 1. 자바파일에서 한다. 2. xml에서 한다. 두가지 방법이 있다. 개인적으로는, 두번째 방법이 좀 더 깔끔하고 정리도 잘되는것 같다. 그렇다면, xml에서 처리하는 방법에 대해서 알아보자. 1. res/drawable 폴더에 xml을 생성한다. res/drawable/btn_style.xml color로도 가능하다. 예는 다음과 같습니다. color_back.xml 가능한 상태는 다음과 같다. 적절하게 사용하자. android:state_focused android:state_pressed android:state_enabled 2. 선택하고자 하는 버튼에 배경으로 설정한다. (자바소스에서 지정해도 된다. btn.se.. 더보기
안드로이드 더블 클릭 http://blog.vizpei.kr/94697746 참고참고. 더보기
안드로이드 키보드 옵션 안드로이드는 모바일 프로그래밍이기 때문에, 화면의 제약이 많습니다. 이에 따라서, 화면을 효율적으로 사용하기 위하여, 키보드가 올라왔을경우, 화면을 어떻게 표현할 것인가가 중요한 이슈가 되기도 하죠. 그래서, 안드로이드는 키보드가 화면에 보여질때 어떻게 표현할 것인가에 대해서, 몇가지 가이드라인을 주고 있습니다. 제가 겪은 일중 하나는, 안드로이드 키보드가 올라올시 레이아웃이 재조정되는 현상이 있었습니다. 저는, 키보드가 올라오더라도 레이아웃이 유지되기를 원했습니다. 그래서, 이것을 해결하기 위해, 매니페스트 파일을 조정해 주었습니다. android:windowSoftInputMode="adjustPan" 저는 위의 방법을 썼네요, 네임플레이스와, 옵션은 다음과 같습니다. android:windowSof.. 더보기
안드로이드 상태바 사이즈 구하기 Rect rectgle= new Rect(); Window window= getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rectgle); int StatusBarHeight= rectgle.top; int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); int TitleBarHeight= contentViewTop - StatusBarHeight; Log.i("Size :: ", "StatusBar Height= " + StatusBarHeight + " , TitleBar Height = " + TitleBarHeight); onCreate가 끝난 후에,.. 더보기
안드로이드 기본 캘린더 접근하기 컨텐트 프로바이더를 이용하여 접근한다. content://com.android.calendar/calendars/ content://calendar/calendars 더보기
이클립스에서 SVN을 사용해보자. (3) 이클립스에서, svn을 사용하는 방법은, 프로젝트에서 우클릭을 하면, 메뉴가 나타나죠? 그속에 team에 있는 부분이, svn메뉴입니다. 이 안에 있는 내용만 알아도, 어느정도 사용이 가능하니, 이 내용을 탐구해 보십시다. Synchronize with Repository - 서버내용과 싱크를 맞춥니다. Commit - 소스의 수정사항을 반영합니다. Update to HEAD - 서버의 소스를 내려받습니다. (수시로 꾹꾹 눌러주는게 좋겠지요, 소스가 겹치지 않으려면요, ^^) Update to Version - 특정시점의 소스로 전체 소스를 바꾸어줍니다. Show History - 사람들이 업데이트 한 내역을 확인할 수 있습니다. 어느 부분을 업데이트 했고, 어떻게 했는지 상세하게 확인 가능합니다. Re.. 더보기
eclipse svn이용하기(2) 앞서, 설명한대로, 이클립스에 svn사용하기 셋팅을 끝냈다면, eclipse에서, project를 import 해야겠지요, ^^ 1. eclipse에서 우측을 눌러 import를 꾸욱, 눌러줍니다. 여기서 svn - checkout projects from SVN을 또오 꾸우욱 눌러줍니다. 이후, create a new repositoty location 꾸욱, (기존에 repository가 있으시다면, use existing repository location 꾸욱..!.. )... Next !! 2. 그럼 , Url이 나오는데요, 이곳에 url적어주시면 됩니다. 그렇다면, 끝. 이제, 팀원들과 협업하여 사용가능하게 되신겁니다. 다음은 import한 모습인데요, 프로젝트 옆에 드럼통 같은 모양이 svn.. 더보기
eclipse에서 svn이용하기(1) svn은 팀원끼리 업무를 협업하기 쉽게 도와주는 툴입니다. 이를 사용하기 위해선, 다양한 툴이 필요하지만, 간단히 이용하기 위하여, 우선은 이클립스에서 svn이용하는 방법을 알아봅니다. 이클립스에서 svn을 이용하기 위해서는, 플러그인을 설치해야 합니다. 1. 이클립스 플러그인 설치 Ganymede, Helios - Help - Install New Software 에서 , add를 눌러 적당한 이름을 입력한 후에 주소는, http://subclipse.tigris.org/update_1.6.x를 눌러 업데이트 하여 주면 됩니다. 업데이트를 하다보면, 무슨 경고같은게 나오는데, 그냥 '예' 눌러주시면 됩니다. (해치지 않아요...) 업데이트 끝나면, 리스타트 하라고 나오는데, 리스타트 해줍니다. 2. 업.. 더보기
[android] parseSdkContent 오류. 안드로이드 2.2에서 2.3으로 업그레이드를 하고나니 parseSdkContent오류가 생겼다. 아구, 잘못한게 없는데 왜그럴까 했드만, 왜그런지는 모르겠지만, 이럴경우에는, User 디렉토리의 .android 폴더를 지워주면 깔끔하게 해결된다. 잊지말자~ 더보기
Intent로 웹브라우저 열기 인텐트를 이용하여 웹브라우저를 여는 것은 굉장히 간단하다. 다음과 같이 3줄이면, 된다능... +_+ private void openWebBrowser(){ Uri uri = Uri.parse(${urlText}); // 1 Intent intent = new Intent(Intent.ACTION_VIEW, uri); // 2 startActivity(intent); // 3 } 1 : Uri를 불러온 후, 텍스트를 Uri로 변환한다. 2 : 인텐트를 생성해 VIEW_ACTION 액션을 추가하고, 방금 만든 Uri 클래스를 보낸다. 3 : 인텐트를 호출한다. 음... 이렇게 되면... 웹브라우저가 열리는 동시에 프로그램이 정지가 되는데, 이렇게 하는 것 말고 프로그램과 동시에 보고 싶다면, WebView.. 더보기
TableLayout 의 속성 collapseColumns : 숨길 열들의 번호(0기반)들을 쉼표로 분리하여 나열한 것. shrinkColumns : 줄일 수 있는 열들의 번호들을 쉼표로 분리하여 나열한 것. stretchColumns : 늘릴 수 있는 열들의 번호들을 쉼표로 분리하여 나열한 것. TableRow의 속성들. layout_columns : 이 뷰가 표시될 열번호. layout_span : 이 뷰가 차지할 열들의 갯수. TableLayout은 유용한 것 같아서 정리해 둔다. +_+ 더보기