Eclipse2013. 10. 11. 13:26

1. workspace in use or cannot be created, choose a different one

  

 

==> 해결방법 : 윈도우 작업관리자에서 프로세스 텝을 선택한 후 eclipse.exe 프로세스를 종료시킨 후

 다시 eclipse를 실행 시키면 정상 작동한다.



출처 : http://blog.naver.com/PostView.nhn?blogId=jforyoum&logNo=60116187810


'Eclipse' 카테고리의 다른 글

@SuppressLint("NewApi")란??  (0) 2013.10.04
[Eclipse plugin] SVN 설치  (0) 2013.08.23
Eclipse Kepler v4.3 출시  (0) 2013.08.14
Android 뒤로가기 2번 눌러 종료시키기!  (0) 2013.02.25
4. Eclipse 동기화 작업  (0) 2013.02.23
Posted by 광포한곰돌이
android2013. 7. 16. 11:38

* Broadcast Receiver & Battery & SD Card Status
http://blog.naver.com/schweine7?Redirect=Log&logNo=40112813209

* ListView 관련 정보
http://luckfellow.blog.me/90091343589

* 위젯개발 사이트
http://dukci.blog.me/50092342360
http://androidhuman.tistory.com/422
http://www.suppul.com/blog/main/category/?page=10

* 지도 관련 참고사이트
http://gaspotion.tistory.com/33
http://blog.naver.com/kippee?Redirect=Log&logNo=130047234393
http://moozi.tistory.com/76
http://cafe.naver.com/sunschool.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=4310
http://blog.naver.com/thtlsgkrtod?Redirect=Log&logNo=40062291147
http://m.androidside.com/bbs/board.php?bo_table=B49&wr_id=12961&sfl=mb_id%2C1&stx=kmj6773
http://lomohome.com/316
http://blog.naver.com/sobakr?Redirect=Log&logNo=60111552682
http://blog.naver.com/macyoo/100110532644
맵에 마커를 여러개 띄우고싶은데
Android Side - http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=7973 
> itemizedoverlay 로 검색을 해보시면 많은 예제들이 나옵니다. 

* 다이얼로그
http://mainia.tistory.com/555



출처 : http://www.androes.com/notice/95

Posted by 광포한곰돌이
android2013. 7. 16. 11:18

안드로이드에서 연락처 즉, 전화번호부 목록을 가져오는 방법을 알려드리겠습니다.

방법은 Call Log 가져오는 방법과 유사합니다.

AndroidManifest.xml 에 퍼미션 추가

<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />


PhoneBook.java

    private Cursor getURI() 
    {
        // 주소록 URI        
        Uri people = Contacts.CONTENT_URI;
        
        // 검색할 컬럼 정하기
        String[] projection = new String[] { Contacts._ID, Contacts.DISPLAY_NAME, Contacts.HAS_PHONE_NUMBER };
        
        // 쿼리 날려서 커서 얻기
        String[] selectionArgs = null;
        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";    

        // managedquery 는 activity 메소드이므로 아래와 같이 처리함
        return getContentResolver().query(people, projection, null, selectionArgs, sortOrder);
        // return managedQuery(people, projection, null, selectionArgs, sortOrder);
    }

    public void phoneBook() {
        try {
            Cursor cursor = getURI();                    // 전화번호부 가져오기    

            int end = cursor.getCount();                // 전화번호부의 갯수 세기
            Logger.d("ANDROES", "end = "+end);

            String [] name = new String[end];    // 전화번호부의 이름을 저장할 배열 선언
            String [] phone = new String[end];    // 전화번호부의 이름을 저장할 배열 선언
            int count = 0;    

            if(cursor.moveToFirst()) 
            {
                // 컬럼명으로 컬럼 인덱스 찾기 
                int idIndex = cursor.getColumnIndex("_id");

                do 
                {
                    tempItem = new TempItem();
                    
                    // 요소값 얻기
                    int id = cursor.getInt(idIndex);        
                    String phoneChk = cursor.getString(2);
                    if (phoneChk.equals("1")) {
                        Cursor phones = getContentResolver().query(
                                ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                null,
                                ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                        + " = " + id, null, null);

                        while (phones.moveToNext()) {
                            phone[count] = phones
                                    .getString(phones
                                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                        }        
                    }
                    name[count] = cursor.getString(1);

                    // 개별 연락처 삭제                    
                    // rowNum = getBaseContext().getContentResolver().delete(RawContacts.CONTENT_URI, RawContacts._ID+ " =" + id,null);

                    // LogCat에 로그 남기기
                    // Logger.i("ANDROES", "id=" + id +", name["+count+"]=" + name[count]+", phone["+count+"]=" + phone[count]);
                    count++;
                    
                } while(cursor.moveToNext() || count > end);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


출처 : http://www.androes.com/143

Posted by 광포한곰돌이
android2013. 6. 10. 18:02

String latlongString;


String addressString = "No address found";

double latitude = Double.valueOf(bb[0]).doubleValue();

double longitude = Double.valueOf(bb[1]).doubleValue();


Geocoder gc = new Geocoder(this, Locale.KOREAN);


try {

List<Address> addresses = gc

.getFromLocation(latitude, longitude, 1);

StringBuilder sb = new StringBuilder();


if (addresses.size() > 0) {

Address address = addresses.get(0);

for (int i = 0; i < address.getMaxAddressLineIndex(); i++)

sb.append(address.getAddressLine(i)).append("\n");


/* 

* 우편번호는 나오지 않음

*/

sb.append(address.getCountryName()).append(" "); // 나라코드

                                sb.append(address.getLocality()).append(" "); // 시

              sb.append(address.getSubLocality() + " ");   // 구

              sb.append(address.getThoroughfare()).append(" "); // 동

              sb.append(address.getFeatureName()).append(" "); // 번지

                

addressString = sb.toString();

}


} catch (IOException e) {

e.printStackTrace();


}


String aaa = "당신의 현재 위치는 \n" + bb[0] + ", " + bb[1] + "이고 \n\n" + "주소는 \n"

+ addressString + "입니다";


System.out.println(aaa);




내 소스에 맞게 만들어진 소스이다.

Posted by 광포한곰돌이
android2013. 5. 22. 17:41

안드로이드에서 모든 해상도에 맞는 개발이 가능한 일 일까요? 정답은 "현실적으로 불가능하다" 입니다. 현재 비공식적으로 안드로이드 단말은 수백, 수천개 이상이 출시 됬거나 출시중에 있다고 합니다. 이렇게 많은 단말들이 출시가 되었지만 저마다 개성있는 부품과 디자인으로 시장에 진출 하고 있습니다. 비슷한 제품도 찾아 보기 힘든 실정이죠. 마찬가지로 해상도와 Density 값도 역시 기기마다 천차만별로 다양화 되고 있고 앞으로도 단말에 따른 파편화는 더 심해 질거라 생각 합니다.


이러한 문제에 대해서 구글은 모든 해상도마다 각각의 레이아웃 작업을 하는 것을 지향하라고 말하고 있지만 현실적으로 그렇게 개발하기란 거의 불가능 하다고 생각 합니다.


그렇기 때문에 타겟 단말을 설정하여 개발 하거나 최대한 모든 단말에 적용 될 수 있게 고려하여 레이아웃 작업을 진행하는게 현실적인 방안 입니다.



[모든 해상도 맞추는 법]

1) 해상도별 폴더를 만들어라.

-> 안드로이드 단말만 수천개 이상, 현실적으로 불가능.

-> 타겟 단말을 지정해서 개발 해라. 


[모든 해상도를 최대한 고려한 작업 방법]

1) match_parent를 잘 활용 하라.

2) weight를 사용하라.

3) RelativeLayout을 사용 하라.

-> align, parent, below, above 등의 속성를 사용하라.

4) dp값을 활용하라.

5) 나인패치를 활용하라.

6) 통이미지라면 큰 이미지를 사용해서 작은 화면에 적용 하라.

7) Scrollview를 잘 활용하라

Posted by 광포한곰돌이
android2013. 4. 5. 16:09

제스처

제스처는 사용자가 제공된 스크린 객체를 조작하여 앱과 상호작용하는 방법입니다. 아래는 안드로이드에서 쓸 수 있는 핵심 제스처 표입니다.


터치





선택한 항목의 기본 기능을 작동합니다.

조작법
눌렀다, 뗍니다


롱 프레스




데이터 선택 모드로 들어갑니다. 하나 이상의 항목을 선택할 수 있고 컨텍스트 액션 바를 통해 데이터를 조작할 수 있습니다. 컨텍스트 메뉴를 보여주기 위해서는 롱 프레스를 쓰지 마세요.

조작법
누르고, 기다렸다, 뗍니다


스와이프




넘친 컨텐츠를 스크롤하거나 같은 계층의 뷰 사이를 이동합니다.

조작법
누르고, 움직이고, 뗍니다
드래그




뷰 내의 데이터를 고쳐 배열하거나 컨테이너로 데이터를 옮깁니다. (예: 홈 화면의 폴더)

조작법
롱 프레스 후, 움직이고, 뗍니다


더블 터치




컨텐츠를 확대합니다. 또 텍스트 선택을 위한 부차 제스처로도 사용합니다.

조작법
짧게 이어 두번 누릅니다


핀치 오픈




컨텐츠를 확대합니다.

조작법
두 손가락으로 누르고, 밖으로 벌리고, 뗍니다

핀치 클로즈




컨텐츠를 축소합니다.

조작법
두 손가락으로 누르고, 안으로 좁히고, 뗍니다

http://fishpoint.tistory.com/747 여기서 퍼옴

Posted by 광포한곰돌이
Eclipse2013. 2. 25. 09:37

/* Back key 두번눌러 종료 코드 시작 */
 private static final int MSG_TIMER_EXPIRED = 1;
 private static final int BACKEY_TIMEOUT = 2000;
 private boolean mIsBackKeyPressed = false;
 private long mCurrentTimeInMillis = 0;

 

 

@Override
 public void onBackPressed() {

  if (mIsBackKeyPressed == false) {
   mIsBackKeyPressed = true;
   mCurrentTimeInMillis = Calendar.getInstance().getTimeInMillis();

   Toast.makeText(this, "\'뒤로\'버튼을 한번 더 누르시면 종료됩니다.",
     Toast.LENGTH_SHORT).show();

   startTimer();

  } else {
   mIsBackKeyPressed = false;
   if (Calendar.getInstance().getTimeInMillis() <= (mCurrentTimeInMillis + (BACKEY_TIMEOUT))) {
    finish();
   }
  }
 }

 private void startTimer() {
  mTimerHander.sendEmptyMessageDelayed(MSG_TIMER_EXPIRED, BACKEY_TIMEOUT);
 }

 private Handler mTimerHander = new Handler() {
  public void handleMessage(Message msg) {
   switch (msg.what) {
    case MSG_TIMER_EXPIRED :
    {
     mIsBackKeyPressed = false;
    }
     break;
   }
  }
 };

 /* Back key 두번눌러 종료 코드 끝 */

'Eclipse' 카테고리의 다른 글

[Eclipse plugin] SVN 설치  (0) 2013.08.23
Eclipse Kepler v4.3 출시  (0) 2013.08.14
4. Eclipse 동기화 작업  (0) 2013.02.23
3. Eclipse 설치하기!  (0) 2013.02.23
2. SDK 설치하기!  (0) 2013.02.23
Posted by 광포한곰돌이
Eclipse2013. 2. 23. 17:57

안드로이드를 개발하기위해서는

JDK, SDK, Eclipse 이 세가지가 필요하다!

설치는 JDK --> SDK --> Eclipse 순으로 설치하는게 가장 쉬운방법!

 

JDK를 설치하지 않으셨다면, 1. JDK 설치하기 부터 설치하고 하자~!

SDK를 설치하지 않으셨다면, 2. SDK 설치하기 부터 설치하고 하자~!

Eclipse를 설치하지 않으셨다면, 3. Eclipse 설치하기 부터 설치하자~!

다운 및 설치 한 JDK, SDK, Eclipse 를 동기화 작업이 필요하다.

우선 Eclipse를 설치한 폴더로 가서 Eclipse.exe 파일을 실행!

실행시 워크스페이스 위치는 자신이 원하는 위치를 지정해주면 자동으로 그 위치에 workspace가 생성된다.

제일 처음 할 일은 SDK 동기화 작업!

 

Eclipse 동기화하기( 빨간 네모따라가기)

 

1. Help - Install New Software...

2. add

3. Location 에   https://dl-ssl.google.com/android/eclipse/   를 넣고 OK

4. 체크박스를 전부 체크 후 Next

5. Next

6. I accept the terms of the license agreements 선택 후, Finish

7. SDK를 설치한 폴더로 이동 후, SDK Manager.exe를 실행 (SDK가 없기때문에 SDK를 넣어줘야한다.)

 

8. 원하는 버전 및 필요한 부분들을 체크후 Install XX packages..를 선택하면 SDK를 설치한다. 시간은 컴퓨터 특성및 체크수에따라 설치 시간이 변한다. - 이화면 캡쳐당시 50packages 걸린시간은 대략 20분...

9.Browse를 선택하여 SDK가 설치된 폴더를 지정 후 apply 및 OK

10. 이제 끝~!

원하는 프로젝트 생성 하고 실행하면 됨~!!

 

'Eclipse' 카테고리의 다른 글

Eclipse Kepler v4.3 출시  (0) 2013.08.14
Android 뒤로가기 2번 눌러 종료시키기!  (0) 2013.02.25
3. Eclipse 설치하기!  (0) 2013.02.23
2. SDK 설치하기!  (0) 2013.02.23
1. JDK 설치하기!  (0) 2013.02.23
Posted by 광포한곰돌이
Eclipse2013. 2. 23. 12:39

안드로이드를 개발하기위해서는

JDK, SDK, Eclipse 이 세가지가 필요하다!

설치는 JDK --> SDK --> Eclipse 순으로 설치하는게 가장 쉬운방법!

 

JDK를 설치하지 않으셨다면, 1. JDK 설치하기 부터 설치하고 하자~!

SDK를 설치하지 않으셨다면, 2. SDK 설치하기 부터 설치하고 하자~!


 

Eclipse 설치하기(순서대로 따라하면 된다)

※ 단, 홈페이지 버전이 변경됨에 따라 위치가 바뀔수도 있다.

www.Eclipse.org 접속 후, 빨간 네모따라가기

1. Download Eclipse

2. Eclipse IDE for Java EE Developers 의 자신의 PC 비트에 맞게 선택

3. download 버튼 클릭

4. 열기를 하든 저장해서 열든 상관없다

5. 끝~

4.Eclipse 동기화 작업 으로 이동!

'Eclipse' 카테고리의 다른 글

Eclipse Kepler v4.3 출시  (0) 2013.08.14
Android 뒤로가기 2번 눌러 종료시키기!  (0) 2013.02.25
4. Eclipse 동기화 작업  (0) 2013.02.23
2. SDK 설치하기!  (0) 2013.02.23
1. JDK 설치하기!  (0) 2013.02.23
Posted by 광포한곰돌이
Eclipse2013. 2. 23. 12:13

안드로이드를 개발하기위해서는

JDK, SDK, Eclipse 이 세가지가 필요하다!

설치는 JDK --> SDK --> Eclipse 순으로 설치하는게 가장 쉬운방법!

 

JDK를 설치하지 않으셨다면, 1. JDK 설치하기 부터 설치하고 하자~!

 

SDK 설치하기(순서대로 따라하면 된다)

※ 단, 홈페이지 버전이 변경됨에 따라 위치가 바뀔수도 있다.

www.android.com 접속 후, 빨간 네모따라가기

1. 홈페이지 하단에 Developers

2. 역시나 하단에 Get the SDK

3. Download the SDK

4. 체크박스 선택 후, 자신의 비트에 맞게 선택 및 Download the SDK ADT Bundle for Windows

5. 열기를 하든 저장해서 실행시키든 상관없다.

6. 끝~

3.Eclipse 설치하기 로 이동!

 

 

'Eclipse' 카테고리의 다른 글

Eclipse Kepler v4.3 출시  (0) 2013.08.14
Android 뒤로가기 2번 눌러 종료시키기!  (0) 2013.02.25
4. Eclipse 동기화 작업  (0) 2013.02.23
3. Eclipse 설치하기!  (0) 2013.02.23
1. JDK 설치하기!  (0) 2013.02.23
Posted by 광포한곰돌이