목록IT (1477)
오늘도 공부
http://www.suppul.com/blog/main/category/%EA%B8%B0%EC%88%A0%EC%A0%81%EC%9D%B8%20%EA%B2%83/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C?page=2
출처 : http://tigerwoods.tistory.com/17 파트 1에 이어 파트 2에서는 사용자와 interact가 가능한 ListView의 구현과 이를 재사용 가능 하도록 하는 방법에 대해 다룹니다. 재사용 가능한 커스텀 ListView에 관한 부분은 지금까지 다룬 모든 ListView관련 노하우 + @ 가 사용 됨으로 전 포스팅의 내용을 모두 숙지 하고 계셔야 이해가 쉬울 것 같습니다. 4. Interactive ListView 만들기 지금까지는 Static한 ListView만 살펴봤지만, 사용자와 교감(interact)이 가능한 ListView를 만들 수도 있다. 예를 들면, mp3플레이어 플레이 리스트에 별표의 개수를 저장할 수 있도록 하여 특정 곡에 대한 선호도를 지정할 수 있을 것이다..
출처 : http://tigerwoods.tistory.com/14 이번에는 마지막에 살펴봤던 ListView를 더 쓸모 있게 만드는 방법을 소개합니다. 내용이 좀 길어져서 2파트로 나누었습니다. 파트 1은 ListView 위젯을 더 복잡하게 꾸미고 성능을 향상 시키는 방법을 소개하고, 파트 2는 사용자와 Interact가 가능한 ListView를 먼저 살펴보고 이를 재활용 하는 방법에 대해 다룹니다. 1. XML을 이용해 꾸미기 스마트폰의 제한적인 스크린 사이즈 때문에 List위젯들(ListView, spinner등)의 중요성은 아주 크다. list 위젯의 생김새를 결정하는 것은 전적으로 어떤 구성의 Adapter를 해당 list위젯에 연결하느냐에 달려있다. 다음 예는 전 장에서 사용한 썰렁한 text..
Preparing to Publish: A Checklist출시 준비를 위한 체크 리스트 (읽어보니 이부분은 앞부분의 서명을 하는 방법에 대한글을 읽기전에 봐야 하는 글이다. 말그대로 서명하기전에 이건 확인해야 한다! 하는 체크리스트 쯤..실제 출시를 위해 어떤 순서를 밟아야 하는지 잘 나와 있다.) 어플리케이션을 출시한다는 것은 그것을 시험하고, 적합하게 패키징하고 안드로이드 구동 모바일 디바이스 사용자들에게 이용가능하게 만드는 것을 의미한다. 만약 당신이 안드로이드 구동 디바이스에 설치를 위한 당신의 어플리케이션을 출시할 계획이라면, 해야하는 일이 몇가지 있다. 이 글은 성공적인 배포를 위한 어플리케이션 준비로 중요한 확인점들을 강조한다. 당신이 어플리케이션 배포를 위한 준비를 하기 전에: 실제 디바..
출처 : http://blog.naver.com/wind5395?Redirect=Log&logNo=150096686510 mapview위에 mark를 표시하는 방법은 Overlay를 이용한 것이다. 그런데, 안드로이드 상에서 MyLocationOverlay라는 특수한 overlay를 제공해준다. 이름에서 알 수 있듯이 현재 target의 위치를 mapview위에 띄워주는 overlay이다. 자신의 위치를 나타내고, 위치가 갱신이 되면 이동한 경로를 mapview에 그리고, 이동 거리를 계산하는 코드는 다음과 같다. class MyOverlay extends MyLocationOverlay { Location mMyBeforeLocation; Location mMyCurrentLocation; Path m..
출처 : http://stbaeya.com/tc/225?category=45 안드로이드 구글맵 거리계산, 좌표계산 Location API를 통한 좌표로 거리 계산하기. double distance; Location locationA = new Location("point A"); locationA.setLatitude(latA); locationA.setLongitude(lngA); Location locationB = new Location("point B"); locationB.setLatitude(latB); LocationB.setLongitude(lngB); distance = locationA.distanceTo(locationB); 그리고 distanceBetween() 사용하기. float..
http://gtko.springnote.com/pages/5372235 http://www.winapi.co.kr/android/annex/17-3.htm
원문보기 : GoogleMap Open API #1 - 구글맵 시작하기. GoogleMap Open API #3 - class GMap2 활용하기. ------------------------------------------------------------------------------------------- 구글맵에 위치를 표시하기 위해서 사용하는 것이 마커입니다. 기본적으로 좌표만 있으면, 마커를 만드실 수 있습니다. 그리고 추가적으로 마커의 이미지를 변경할 수 있으며, 말풍선 라벨을 달 수 있습니다. 그럼 간단하게 마커의 생성과 말풍선 다는 동작 등에 대해서 간단히 살펴보도록 하겠습니다. -------------------------------------------------------------..
public OnClickListener arrow_listener = new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub MotionEvent e1 = MotionEvent.obtain( SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 89.333336f, 265.33334f, 0); MotionEvent e2 = MotionEvent.obtain( SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP..
출처 : http://devlog.thoth.kr/?mid=blog&document_srl=6248231 android.widget.Gallery는 드래그하는 속도에 따라서 스크롤되는 길이가 달라진다. Gallery가 제공하는 속성이나 메소드로는 드래그속도에 관계없이 하나의 View만 스크롤되도록 설정할 수 없다. Touch Event Callback 메소드나 ImageSwitcher, 애니메이션 등을 이용하여 비슷한 이펙트를 구현하는 등 방법은 여러 가지가 있겠지만 코드가 복잡해 지고 Gallery가 제공하는 기능을 포기하거나 구현해주어야 한다. 하지만, onFling메소드를 오버라이드하여 드래그속도에 따른 스크롤기능 대신 하나의 View만 스크롤되도록 fling 기능만을 수정할 수 있다. public..
출처 : http://cafe.naver.com/smartyandroid.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=44& 카페가 너무 죽어있는거 같아서 ㅠ.ㅠ 블로그에 비공개로 수집했던 사이트 url 풉니다! 멀티 컬럼 리스트 http://www.heikkitoivonen.net/blog/2009/02/15/multicolumn-listview-in-android/ 코드 참고시 유용한 사이트 http://www.developerit.com/2010/03/31/adding-visible-markers-to-represent-geopoints-to-a-mapview-using-itemizedoverlay-in-android http://www.sdnkorea.com/b..
출처 : http://blog.naver.com/skcjs84?Redirect=Log&logNo=90089483420 // 소스는 밑에 굵게 표시된 부분임.. http://groups.google.com/group/android-developers/browse_thread/thread/6aeed20525760f3/46407ecb1c68502e?hl=en&lnk=gst&q=canvas+to+file#46407ecb1c68502 Hi, I am doing a painting program (KIds Paint - you can find in Android Market) and I have a lot of requests to save ..
출처 : http://utime.blog.me/150090888234 현재 View 클래스에 보여지는 화면을 파일로 저장하는 클래스다. View를 상속 받아 만든 클래스 ImageView, WebView 등 클래스를 이용할 수 있다. import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Picture; import android.graphics.drawable.PictureDra..
intent = new Intent(Intent.ACTION_PICK); intent.setType (android.provider.MediaStore.Images.Media.CONTENT_TYPE);
안 드로이드에는 얼굴 인식 기능이 내장되어 있습니다. FaceDetector Class가 바로 이미지를 분석하여 얼굴을 찾아내는 역할을 하는 클래스입니다. 얼굴 인식 기능은 이미지를 사용하는 다양한 애플리케이션에서 활용 가능 하고 간단히 사용할 수 있으므로 참고하세요. FaceDetector.Face[] faces = new FaceDetector.Face[10]; // 최대 인식할 얼굴수 설정 FaceDetector detector = new FaceDetector(bitmap.getWidth(), bitmap.getHeight(), faces.length); int numFaces = detector.findFaces(bitmap, faces); // 얼굴 인식 실행 for(FaceDetector.F..
출처 : http://theeye.pe.kr/entry/example-of-image-crop-with-camera-and-album-picker-on-android 안드로이드에서 카메라를 이용하여 이미지 촬영후 해당 이미지를 크롭하는 경우의 예제를 만들어 보았습니다. 이 예제에서는 카메라를 이용하는것 외에도 앨범에서 이미지를 가져오는 경우에도 마찬가지로 크롭을 할 수 있도록 하였습니다. 1. AndroidManifest.xml 에 권한 추가하기 2. main.xml 레이아웃 만들기 3. 소스 코드 작성 package pe.kr.theeye.cameracrop; import java.io.File; import android.app.Activity; import android.app.AlertDialog..
Android에서 Bitmap 관련 작업을 할때 항상 사용하는것이 Bitmap 클래스와 BitmapFactory 클래스이다. BitmapFactory 클래스는 decode 메서드를 사용하여 File, Stream 등을 입력받아 Bitmap으로 변환할 수 있다. Bitmap 클래스는 Bitmap의 재가공, Bitmap의 구성을 변경한다던지, 크기를 변경하는 작업을 수행한다. 그런데 현재 Android 상에서 위 2개는 심각한 메모리 누수를 유발하고 있다. 단순 SD 카드에서 파일을 읽어 와 표시해주는 것이라면 관계가 없지만 작업 1. MediaStore를 사용하여 이미지를 가지고 온 후 크기를 변경하고 이를 화면에 표시함과 동시에 서버에 업로드 한다. 위 작업이 한번이 아닌 여러번 수행 되어야 한다면..?..
해상도 별로 레이아웃 설정을 변경하거나 또는 늘이거나 줄이지 않고, 중앙에 표시하고자 할 때는 아래와 같이 합니다. 현재 진행 중인 게임 강좌에 맞춰서 예제를 만들어 봤습니다. 01.package app.main; 02. 03.import ryulib.game.GamePlatform; 04.import android.app.Activity; 05.import android.os.Bundle; 06.import android.util.DisplayMetrics; 07.import android.widget.LinearLayout; 08. 09.public class Main extends Activity { 10. 11.private static final int _Width = 300; 12.privat..
출처 : http://psjin14.tistory.com/99 컴퓨터/Android Android]Convert Drawable to Bitmap2010/07/09 23:05 | Posted by 예섬수진 아래는 Drawable 객체를 Bitmap 객체로 변환하는 방법이다. Drawable d; // 특정 값 대입 Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGV_8888); Canvas canvas = new Canvas(bitmap); d.setBounds(0, 0, width, height); d.draw(canvas); 그럼 이 소스를 이용하여 작성된 코드를 살펴 보자. 소스 코드 => 이 코드에는 ImageView 2개가..
몇개월 전에 짠 내 소스에서 뽑아서 적음..;;;;;;;;; private void saveView( View view ) { String path = Environment.getExternalStorageDirectory().getAbsolutePath(); Bitmap b = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.RGB_565); if(b!=null){ try { File f = new File(path+"/notes"); f.mkdir(); File f2 = new File(path + "/notes/"+title+".png"); Canvas c = new Canvas( b ); view.draw( c ); Fi..
import android.app.Activity; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Rect; import android.os.Bundle; import android.view.View; import android.view.Window; public class CanvasView extends Activity { /** Called w..
출처 : http://micropilot.tistory.com/1588 Android 에서 Gallery 위젯을 사용하는 예제 Gallery 상에서 중앙에 위치하는 이미지의 위치를 확인하여 Gallery 하단에 표시하는 기능을 추가해 보았다. 사용된 이미지들 images.zip res/values/attrs.xml res/layout/main.xml GalleryTestActivity.java package com.dearpeople.android.test.gallery; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view..
FROM : http://cafe.naver.com/sunschool.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=4394& 일반적으로 터치 이벤트는 down-move-up 단계를 거치면서 사용자의 동작을 감지할 수 잇다. 이런 사용자의 조합된 모션(제스쳐)를 쉽게 판별할 수 있도록 안드로이드는 GestureDetector 인터페이스를 제공하고 있다. GestureDetector는 두가지의 Listener를 가지고 있다. interface GestureDetector.OnDoubleTapListener // 두번 터치 했을때 interface GestureDetector.OnGestureListener // 일반적인 제스쳐 위의 두가지를 다가지고 있는 클래스가 Gest..
출처 : http://louise.tistory.com/71 참조 : 갤럭시S 중복 저장 문제 http://www.androidpub.com/733994 갤러리에 저장해서 불러오기: http://moss.tistory.com/7 *. 사진 찍기 0. request code 정의 private final static int ACT_TAKE_PIC = 1; 1. 원하는 지점에서 intent 호출 Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent,ACT_TAKE_PIC); 2. 결과 받기. protected void onActivityResult(int requestCode, ..
오늘은 푸시서버를 구현해보도록 할께요 카카오톡이나 많은 SNS서비스를 제공하는 앱들이 해당 기능을 활용하여 통신을 하고 있죠? 간단할 것 같지만, 막상 해보면 어디서 시작해서 어떤 방식으로 구현을 해야하는지 막막할 수 있어요 저 또한 그랬고 그래서 많은 서핑들을 하게 되는데, 항상 뭔가 아쉽더라구요. 너무 쉬워서 생략해놓은 곳도 있고 기본이라고 생각하고 그냥 언급하지 않은 내용들 때문에 하나 성공하고 나면 결국 다른걸로 막혀서 또 검색하고,,, 그걸 반복하면. 반나절이 지나가더라구요 저 처럼 헤매실 분들을 위하여 정리해보아요~ "렘군와 함께하는 푸시서버 만들기" 자~ 한 시간만 따라하면 아이폰으로 "Hello World" 메세지가 뜰 수 있어요~ 대신 엄청 집중하셔야 되요~ 깔끔하게 Action위주로 정..
출처 : http://artyst.egloos.com/2652130 (2) 서버 소스코드 개발환경 : 자바(JAVA) @ PHP 나 Objective C 는 다루는 곳이 많으므로 자바(JAVA) 로만 작성하도록 하겠다. APNS 와 통신하려면 먼저 java에서 편리하게 이용할 수 있는 라이브러리를 다운로드 받자. http://code.google.com/p/javapns/ 에서 jar 파일을 다운로드 받을 수 있다. 그런데 이 API를 사용하기 위해서 필요한 라이브러리가 있다. commons-lang-x.x.jar 가 없다면 org.apache.commons.lang.StringUtils 를 찾을 수 없다며 에러가 발생한다. bcprov-ext-jdk16-xxx.jar 가 없다면 암호화관련 에러가 발생한..
기본적인 tab(상단) http://blog.naver.com/lomi525?Redirect=Log&logNo=140113900088 tab 하단에 붙이기 http://mainia.tistory.com/554 tabWidget 높이 조절 http://neodreamer.tistory.com/420 tab - activitygroup, intent activity, 하단 http://rosaria1113.blog.me/110885107
[펌] Custom Android Button Style and Theme 안드로이드 / Programing... 2011/04/26 14:11 http://blog.naver.com/khch2489/30107398483 In this tutorial, we’ll see how it’s possible to create a custom button style for an Android application by using the Android styling API. First of all we need to define the new look for our custom button style. We would use three different NinePatch drawables. A custom bla..
setContentView앞에서 적용해야하는 것!! View titleView = getWindow().findViewById(android.R.id.title); if (titleView != null) { ViewParent parent = titleView.getParent(); if (parent != null && (parent instanceof View)) { View parentView = (View)parent; parentView.setBackgroundColor(Color.rgb(0x88, 0x33, 0x33)); } }
출처 : http://catnest.tistory.com/54 http://mudchobo.tistory.com/479 - HttpClient() 를 이용해서 tworld 로그인하기 http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/ - How-to: Android as a RESTful Client http://www.wiseant.net/95 - org.apache.http.client.ClientProtocolException on Android http://www.mail-archive.com/android-beginners@googlegroups.com/msg12690.html - [an..
