2011년 12월 1일 목요일

Android 전화번호부 조회

1) 조회 결과를 저장할 Value Object Class 선언

public class Addressbook {
    private String name;
    private String phnnumber;
  
 public void setPhnnumber(String phnnumber) {
  this.phnnumber = phnnumber;
 }
 public String getPhnnumber() {
  return phnnumber;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getName() {
  return name;
 }

}

2) Contacts 조회 Method Sample
    protected Addressbook[] getFriendsfromAddressBook()
    {
     String[] projection = new String[] { Phone.DISPLAY_NAME, Phone.NUMBER };
    
     Cursor c = getContentResolver().query( Phone.CONTENT_URI, projection, null, null, null);

     Addressbook[] addressfriend = new Addressbook[ c.getCount() ];
    
     c.moveToFirst();
    
     int idx = 0;
     String bookname = null;
     String booknum = null;
    
     try {
          if ( ! c.isAfterLast() )
         {
                do
                {
                
                 bookname = c.getString( 0 );
                 booknum = c.getString( 1 );

                 addressfriend[idx] = new Addressbook();
                 addressfriend[idx].setName( bookname );
                 addressfriend[idx].setPhnnumber( booknum );
                
                 idx++;
               
                } while ( c.moveToNext() );
            }
        } catch (Exception e ) {
         showToastMsg ( "주소록 정보를 가져올 수 없습니다.\n" + e.toString());
         return null;
        }
        finally {
         c.close();
        }
      
        return addressfriend;

    }

Android 용 Eclipse 환경 설정

1) eclipse 3.5 version 이상 download
URL : http://www.eclipse.org/downloads/

2) android 용 SDK download
URL : http://developer.android.com/sdk/index.html

3) eclipse 실행 후, Android 용 ADT (Android Development Tool) Install
eclipse -> help -> Install New Software : https://dl-ssl.google.com/android/eclipse/.

4) eclipse -> windows -> preferences -> android 에서 Android SDK 의 Home 디렉토리 설정

5) eclipse -> windows -> Android SDK and AVD Manager -> Available Packages 에서 원하는 Package 선택 후, Install

Android Widget 생성

1) AndroidManifest.xml 에 AppWidget 선언
        <receiver android:name="phoneinfoWidgetProvider" >
            <intent-filter>
               <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                       android:resource="@xml/phoneinfo_provider" />
        </receiver>



2)  1)에서 정의한 android:resource="@xml/phoneinfo_provider" 의 설정에 따라 /res/xml 디렉토리에 phoneinfo_provider.xml 파일을 생성하여 AppWidgetProviderInfo Meta Data 추가
 <?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
      android:minWidth="294dp"
      android:minHeight="72dp"
      android:updatePeriodMillis="30000"
      android:initialLayout="@layout/phoneinfo_widget"
      android:configure="com.shlee.pi.PhoneInfoWidgetConfigure" >
</appwidget-provider>



 3) App Widget Layout 선언 (phoneinfo_widget.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"            
     android:id="@+id/layout_widget"            
     android:orientation="horizontal"            
     android:layout_width="fill_parent"            
     android:layout_height="fill_parent"            
     android:padding="10dp"           
     >  
              
      <TextView android:id="@+id/label_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content" 
                android:textSize="14sp"
                android:textStyle="bold"            
                android:textColor="#FFAA00"/>
              
      <TextView android:id="@+id/value_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/label_attr"
                android:gravity="right"
                android:layout_gravity="right"
                android:textSize="14sp"              
                android:textColor="#FFF" />
</RelativeLayout>

Windows XP 에서 한글 전환 오류 해결방법

Windows XP 의 노트패드 등에서 한글 전환등이 안되서,

며칠간 윈도우 업데이트부터 해서 이것저것 설정을 바꿔도 안되더니만...

아래 reg 파일을 실행하여 Registry 를 update 하니 며칠간의 고민이 바로 해결되었음..ㅎ

아래 내용을 노트패드 등에서 파일명을 hotkey.reg 로 하여 붙여넣은 후,

실행하여 registry 를 업뎃~!! ^^

==== 아래 =========================================
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method]
"Show Status"="1"

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys]

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000011]
"Key Modifiers"=hex:04,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000012]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:be,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000070]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000071]
"Key Modifiers"=hex:04,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000072]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:bc,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000200]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:47,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000201]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:4b,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000202]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:4c,00,00,00

2011년 4월 3일 일요일

사칙 연산자 찾기 게임

기존 간단히 만들어 놓은거 조금 수정해서 마켓에 올려놓은 게임..

market://details?id=com.shlee.findOperator

http://www.appbrain.com/app/find-operator-game/com.shlee.findOperator

game for finding arithmetic operator in simple equation..

이넘도 다운로드 좀 되려나? ㅋ

2011년 4월 2일 토요일

[TIP] Table Layout 의 Width 균일하게 설정...

결론만 정리하면 Key 는

android:layout_width="0dip"  와 android:layout_weight="1" 였음..

설정 예제는..

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"   
        android:layout_width="fill_parent"   
        android:layout_height="fill_parent" 
        android:paddingBottom="5px"
        android:gravity="bottom"
        android:stretchColumns="0,1"
        >
        <TableRow>
          <ImageButton
            android:id="@+id/n11"
            android:layout_column="0"
            android:layout_width="0dip"   
            android:layout_height="38dip"
            android:scaleType="fitXY" 
            android:layout_weight="1"
            android:background="#ffffff"
            android:src="@drawable/plusbtn"
          />

적용하니.. 원하는대로 버튼의 가로 크기가 균일하게 나옴.. ^^

2011년 3월 25일 금요일

[Info] Debug Certificate expired on YY. MM. DD ...

오랜만에 안드로이드 코드좀 보려고... eclipse 를 기동하고 전체 build 를 한번 했더니..

"Error generating final archive: Debug Certificate expired on 11. 3. 23 오후 2:01"

와 같은 오류가 줄줄이 발생..하여 대략 난감.. T.T


구글을 뒤져....

C:\Documents and Settings\<user>\.android\debug.keystore 파일을 삭제하고 다시 Build...

문제 해결..!!



음.. debug.keystore.. 이넘의 만기가 1년이라는데.. 벌써 안드로이를 위한 Eclipse 설치한지가

벌써 1년이 되었나? 흐음..

암튼.. Google Map API 사용하기 위해 debug.keystore 를 사용한 기억이 어렴풋이..

근데....내가 keystore 를 만든 기억이 없어 찾아보니 eclipse 가 필요할때..

자동으로 만들어 준단다..

암튼.. apk 파일 생성시 서명을 넣기 위해 필요한 넘이라는군..

자동으로 만들어 주니..  중요한 넘이라는걸 모르고 있었군.. 쩝..

2010년 11월 29일 월요일

구구단 게임

숫자 더하기 게임을 아주 약간(?) 수정해서.. ^^

30분만에 만든 구구단 게임.. ㅋ  (게임 맞나? 암튼.. ^^;;)


market://details?id=com.shlee.timesTable

http://www.appbrain.com/app/times-table-game/com.shlee.timesTable

숫자 더하기 게임..

1 to 50 을 이용해서 반나절(?) 만에 만든.. 더하기 게임..

아이폰의 도전 구구단의 컨셉 냄새가 많이 나긴 하지만..  ㅋ


market://details?id=com.shlee.addNumber

http://www.appbrain.com/app/add-number-game/com.shlee.addNumber


2010년 11월 11일 목요일

세번째 Android Program ( 1 to 50 )

아이폰에서 보고.. 안드로이드용으로 하나 만들어 달라는

회사분의 요청(?)으로 만든.. 1 to 50.. ^^ (자매품 1 to 30..포함.. ^^)

아이폰에서의 인기에 힘입어.. 어부지리로.. 일주일만에 8000 건 다운로드.. Wow.. ^^

market://details/?id=com.shlee.findNumber

http://www.appbrain.com/app/find-next-num-(-1-to-50-)-game/com.shlee.findNumber