'안드로이드'에 해당되는 글 25건

  1. 웹에 존재하는 파일 Stream을 이용해서 다운로드 하기
  2. AlertDialog 사용하기
  3. 안드로이드 간편 스레드 기본 구조
  4. 안드로이드의 Timer 기능
  5. Use the Custom Component
  6. 이클립스 코드 여백 조절하기
  7. 이클립스 XML 코드 정렬 설정
  8. 이클립스 단축키 조정
  9. 이클립스 텍스트 엔코딩 선택메뉴
  10. 안드로이드 퍼미션 종류

String src="http://192.168.1.106/football.3gp";

String des="sdcard/temp1357.3gp";

    InputStream in = null;

    OutputStream out = null;

    try{

    in = new BufferedInputStream(new URL(src).openStream());  

        out = new BufferedOutputStream(new FileOutputStream(des)); 

        int read;

        while(true){

            read = in.read(); 

            if(read == -1) break; 

                out.write(read);

            }

            in.close();

            out.close();

            finish();

        } catch (FileNotFoundException e) {

            // TODO Auto-generated catch block

            System.out.println("aa");

        } catch (IOException e) {

            // TODO Auto-generated catch block

            System.out.println("bb");

        } finally {

            if (in != null)

            try {

               System.out.println("cc");

               in.close();

            } catch (IOException e) {

                System.out.println("dd");

                // TODO Auto-generated catch block

            }

            if (out != null)

            try {

                out.close();

            } catch (IOException e) {

                // TODO Auto-generated catch block

            }

    }

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

AlertDialog 사용하기

AlertDialog 는 동작시에 새로운 창이뜨면서 공지, 정보입력, 안내 등의 유용한 기능을 하는 안드로이드 윈도우입니다.

어떻게 활성화 시키고 사용하는지 간단하게 코드로 알아봅시다.



AlertDialog 창 만들기

new AlertDialog.Builder(this)

.setTitle("타이틀 명")

.setMessage("메세지")

.setIcon(R.drawable.icon)

.setCancelable(false) // true이면 뒤로가기 버튼을 누르면 AlertDialog 꺼짐

.setPositiveButton("확인", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

// 확인 버튼 클릭시에 실행 할 코드

}

})

.setNegativeButton("취소", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

// 취소 버튼 클릭시에 실행 할 코드

}

})

.show(); //세미콜론으로 AlertDialog가 완성된다.



이외에도 몇가지 옵션이 있습니다.


setAdapter(ListAdapter, 이벤트리스너) : AlertDialog에 ArrayAdpater를 붙여줌으로서 리스트를 추가 할 수 있는데요. 주의 할 점은 ArrayAdapter 객체 ListAdapter를 붙이면 ArrayAdapter 내용이 출력되는데 그냥 붙여주면 아무것도 안 뜨고 따로 메서드를 구현해서 ListView를 붙여줘야 합니다.


setView(view) : view는 inflate의 객체로 XML 레이아웃을 액티비티에서 inflate해서 객체를 만들어서 .setView로 붙이면 AlertDialog에 내용이 출력 됩니다.


setNeutralButton("버튼", 이벤트리스너) : 이것은 .setPositiveButton이나 .setNegativeButton과 같은 역할과 기능을 하지만 이름만 다릅니다.



이상 열거된 옵션외에도 여러가지 메서드들이 있지만 잘 사용되지 않습니다.

다른 메서드들을 찾아보려면 Reference를 참조하세요.

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

new Thread(new Runnable() {

public void run() {

// insert code

}

});




참고로 Handler 간편 구조


Handler handler = new Handler() {

public void handleMessage(android.os.Message msg) {

// insert code

};

};

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

예제 1>

class Test extends Activity {

class MyTask extends TimerTask {

public void run() {

Log.d("myTask", "run()");

}

}


protected void onCreate(Bundle savedInstanceState) {

Timer timer = new Timer();

MyTask myTask = new MyTask();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);


super.onCreate(savedInstanceState);

}

}


타이머 사용에 실패했던 이유는 timerTask를 어떻게 만들까? 였는데,,

클래스를 만들면 되는 거였다.


예제 2>

TimerTask myTask = new TimerTask() {

public void run() {

Log.d("myTask", "run()");

}

};


Timer timer = new Timer();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);



클래스를 만들지 않고도 위와 같이 해도 된다. 예제2의 방법이 더 편해보이기도 하다.


timer.schedule(myTask, 500); 은 500ms뒤에 딱! 한번 myTask의 run()을 수행시켜준다.

반복해서 호출되게 하고 싶다면,,

timer,schedule(myTask, 500, 3000); 으로 호출해주면된다.

첫번째 param은 작업할 내용.

두번째 param은 언제부터 시작할 것인지, 즉, 500ms 뒤에 타이머를 돌리기 시작하는 것.

세번째 param은 타이머의 반복주기. 500ms뒤에 시자해서 3초 단위로 타이머를 돌리고

하고 싶은 작업을 하도록 호출해주는 것이다.

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Use the Custom Component

Use the Custom Component


We now have our custom component, but how can we use it? In the NotePad example, the custom component is used directly from the declarative layout, so take a look atnote_editor.xml in the res/layout folder.

<view
 
class="com.android.notepad.NoteEditor$MyEditText"
 
id="@+id/note"
 
android:layout_width="fill_parent"
 
android:layout_height="fill_parent"
 
android:background="@android:drawable/empty"
 
android:padding="10dip"
 
android:scrollbars="vertical"
 
android:fadingEdge="vertical" />
  • The custom component is created as a generic view in the XML, and the class is specified using the full package. Note also that the inner class we defined is referenced using the NoteEditor$MyEditText notation which is a standard way to refer to inner classes in the Java programming language.

    If your custom View component is not defined as an inner class, then you can, alternatively, declare the View component with the XML element name, and exclude the classattribute. For example:

    <com.android.notepad.MyEditText
     
    id="@+id/note"
      ...
    />

    Notice that the MyEditText class is now a separate class file. When the class is nested in the NoteEditor class, this technique will not work.

  • The other attributes and parameters in the definition are the ones passed into the custom component constructor, and then passed through to the EditText constructor, so they are the same parameters that you would use for an EditText view. Note that it is possible to add your own parameters as well, and we will touch on this again below.


저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



Eclipse -> Preference -> Java -> Code Style -> Formatter 에서 Active Profile 아무거나 하나 만들고

Edit -> Line Wrapping Tab -> Maximum Line Width 를 적당한 길이로 조절 (기본은 80으로 설정되어 있음)

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



Preference - XML - XML Files - Editor 에서


Split multiple attributes each on a new line ,

Align final bracket in multi-line element tags 체크


이후 Ctrl + Shifh + F 시에 XML 코드가 깔끔 !

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



[General] - [Keys]


원래 Ctrl + F6 을 해야 문서간 전환이 되지만 

원래 편한대로 Ctrl + Tab 으로 바꾸기

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



[General] - [Workspace]

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
ACCESS_CHECKIN_PROPERTIES                 체크인데이터베이스의_속성테이블로_액세스                        
ACCESS_COARSE_LOCATION                     코스_로케이션_액세스_(Cell-ID/WiFi)                             
ACCESS_FINE_LOCATION                           파인로케이션_액세스(GPS)                                        
ACCESS_LOCATION_EXTRA_COMMANDS    로케이션_옵션_커맨드_액세스                                     
ACCESS_MOCK_LOCATION                        목_로케이션_프로바이더_생성_(테스트용)                          
ACCESS_NETWORK_STATE                        네트워크_상태_접근                                              
ACCESS_SURFACE_FLINGER                      서피스_플링거_접근                                              
ACCESS_WIFI_STATE                                 WiFi상태_접근                                                   
ADD_SYSTEM_SERVICE                             시스템서비스_추가                                               
BATTERY_STATS                                      배터리_상태                                                     
BLUETOOTH                                             블루투스                                                        
BLUETOOTH_ADMIN                                  블루투스_어드민                                                 
BRICK                                                       디바이스_실효성_지정                                            
BROADCAST_PACKAGE_REMOVED             제거된_패키지에_대한_notification_브로드캐스트                  
BROADCAST_SMS                                     SMS에_대한_브로드캐스트                                         
BROADCAST_STICKY                                 인텐트_브로드캐스트                                             
CALL_PHONE                                            통화                                                            
CALL_PRIVILEGED                                     통화(긴급전화_포함)                                             
CAMERA                                                   카메라                                                          
CHANGE_COMPONENT_ENABLED_STATE   컴포넌트의_실효성_변경                                          
CHANGE_CONFIGURATION                         컨피그_변경                                                     
CHANGE_NETWORK_STATE                       통신상태_변경                                                   
CHANGE_WIFI_STATE                                WiFi상태_변경                                                   
CLEAR_APP_CACHE                                  어플리케이션_캐시_클리어                                        
CLEAR_APP_USER_DATA                           어플리케이션의_유저데이터_클리어                                
CONTROL_LOCATION_UPDATES                위치정보_갱신                                                   
DELETE_CACHE_FILES                              캐시파일_제거                                                   
DELETE_PACKAGES                                  패키지_제거                                                     
DEVICE_POWER                                        전원상태에_대한_로우레벨_접근                                   
DIAGNOSTIC                                             진단리소스_읽고쓰기                                             
DISABLE_KEYGUARD                                 키_가드_끄기_DUMP_덤?                                          
EXPAND_STATUS_BAR                              상태표시줄_확장                                                 
FACTORY_TEST                                      팩토리_테스트                                                   
FLASHLIGHT                                           플래시라이트                                                    
FORCE_BACK                                         포스백                                                          
GET_ACCOUNTS                                    어카운트_획득                                                   
GET_PACKAGE_SIZE                              패키지_획득                                                     
GET_TASKS                                           태스크_획득                                                     
HARDWARE_TEST                                   하드웨어테스트                                                  
INJECT_EVENTS                                    유저이벤트_키/트랙볼                                            
INSTALL_PACKAGES                              패키지_인스톨                                                   
INTERNAL_SYSTEM_WINDOW                 내부_시스템윈도_활용                                            
INTERNET                                             인터넷                                                          
MANAGE_APP_TOKENS                         어플리케이션_토큰관리                                           
MASTER_CLEAR                                    마스터_클리어                                                   
MODIFY_AUDIO_SETTINGS                     오디오설정_편집                                                 
MODIFY_PHONE_STATE                         전화상태_편집                                                   
MOUNT_UNMOUNT_FILESYSTEMS         파일시스템_편집                                                 
PERSISTENT_ACTIVITY                         액티비티_지속                                                   
PROCESS_OUTGOING_CALLS                전화_발신처리_접근                                              
READ_CALENDAR                                  캘린더_읽어오기                                                 
READ_CONTACTS                                 주소록_읽어오기                                                 
READ_FRAME_BUFFER                          프레임버퍼_읽어오기                                             
READ_INPUT_STATE                             입력상태_읽어오기                                               
READ_LOGS                                         로그_읽어오기                                                   
READ_OWNER_DATA                             owner_data읽어오기                                              
READ_PHONE_STATE                           통화상태_읽어오기_READ_SMS_SMS읽어오기                          
READ_SYNC_SETTINGS                        동기설정_읽어오기                                               
READ_SYNC_STATS                            동기상태_읽어오기                                               
REBOOT                                             reboot                                                          
RECEIVE_BOOT_COMPLETED              boot완료                                                        
RECEIVE_MMS                                   MMS수신                                                         
RECEIVE_SMS                                    SMS수신                                                         
RECEIVE_WAP_PUSH                           WAP수신                                                         
RECORD_AUDIO                                 오디오_수신                                                     
REORDER_TASKS                               태스크_Z오더                                                    
RESTART_PACKAGES                         패키지_리스타트                                                 
SEND_SMS                                        SMS송신                                                         
SET_ACTIVITY_WATCHER                   액티비티_왓쳐지정                                               
SET_ALWAYS_FINISH                          액티비티_전체_종료                                              
SET_ANIMATION_SCALE                    스케일_애니메이션_지정                                          
SET_DEBUG_APP                               디버그어플리케이션_지정                                         
SET_ORIENTATION                            스크린_로테이션지정                                             
SET_PREFERRED_APPLICATIONS       자주_사용하는_어플리케이션_지정                                 
SET_PROCESS_FOREGROUND           포어그라운드_처리지정                                           
SET_PROCESS_LIMIT                        제한처리_지정                                                   
SET_TIME_ZONE                              타임존_지정                                                     
SET_WALLPAPER                             배경화면_지정                                                   
SET_WALLPAPER_HINTS                    배경화면_힌트_지정                                              
SIGNAL_PERSISTENT_PROCESSES    지속처리_시그널_지정                                            
STATUS_BAR                                    상태표시줄_지정                                                 
SUBSCRIBED_FEEDS_READ               서브스트립드_피즈_읽어오기                                      
SUBSCRIBED_FEEDS_WRITE             서브스트립드_피즈_쓰기                                          
SYSTEM_ALERT_WINDOW                알림_윈도우                                                     
VIBRATE                                         진동                                                            
WAKE_LOCK                                    알람                                                            
WRITE_APN_SETTINGS                    APN설정_쓰기                                                    
WRITE_CALENDAR                           캘린더_쓰기                                                     
WRITE_CONTACTS                          주소록_쓰기
WRITE_EXTERNAL_STORAGE           외장SD카드 쓰기
WRITE_GSERVICES                          G서비스_쓰기                                                    
WRITE_OWNER_DATA                       owner_data쓰기                                                  
WRITE_SETTINGS                            설정_쓰기                                                       
WRITE_SMS                                    SMS쓰기                                                         
WRITE_SYNC_SETTINGS                 동기설정_쓰기  
저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License