월별 글 목록: 2013년 2월월

우분투 12.10 설치후에 필요한 것들..

아래는 우분투 12.10을 설치하고, 아주 기본적으로 필요한 것들에 대한 간략한 정리이다.

1. 우분투 12.10 설치

2. 2개 모니터 설정하기
– All Settings > Displays > 메인 모니터와 세컨드 모니터 설정하기
– 개발시에 창을 왔다 갔다 하는데, Sticky edge를 설정하면 불편하니 해제한다.

3. 키보드 세팅 변경
– 내 키보드는 FILCO Majestouch Tenkeyless, 윈도키가 있어서, Keyboard > Shortcuts > Launchers > Key to show the HUD의 shortcut으로 이 키를 사용한다.
– alt는 한/영 변환키로 사용할 예정..
– 그리고, ctrl + space가 영/한자의 변환키라서, 내가 사용하는 이클립스의 assistent의 shortcut하고 충돌이 난다. 그래서 ctrl + space를 keyboard shortcut에서 없앤다.

4. 한글 설정
Language Support > Install / Remove Languages install hangul
ibus settings
reboot

5. 테마 및 아이콘 세트 설치
– Elementaryish GTK theme 설치..

sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install elementaryish

– Faenza icons in Ubuntu

sudo add-apt-repository ppa:tiheum/equinox
sudo apt-get update
sudo apt-get install faenza-icon-theme

Faenza 아이콘 셋을 만드신 Matthieu James님이 캐노니컬에 입사를 해서, 우분투 13.04에 이 아이콘 테마가 기본으로 나올라나 봅니다.

6. 간략한 시스템 모니터링 정보 표시
– Indicator Sys Mem 설치

sudo add-apt-repository ppa:alexeftimie/ppa
sudo apt-get update
sudo apt-get install indicator-sysmonitor

7. 각종 아마존 연동 지우기
– System Settings > Privacy > Search Results에서 Include online search results를 off 시킴

sudo apt-get remove unity-lens-shopping
sudo apt-get remove unity-scope-video-remote
sudo apt-get remove unity-scope-musicstores

– 아마존 아이콘을 런처에서 제거..

8. ubuntu tweak install

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

9. 안드로이드 MTP 지원

sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update

* Reference
Important Things/Tweaks to do after Install of Ubuntu 12.10 Quantal Quetzal

Android에서 content:/// 스키마의 Uri를 file:/// 스키마의 Uri로 변경하기..

안드로이드에서, 앱으로 파일을 공유하는 경우, 위치를 받아오는 포맷이 크게 2가지가 있다. 

하나는 content:/// 스키마의 포맷이고, 다른 하나는 file:/// 스키마의 포맷으로 Uri 객체나 리스트 Uri를 받을 수 있다. 그리고, 파일을 공유받기 위해서는 ACTION_SEND와 ACTION_SEND_MULTIPLE를 AndroidManifest.xml 파일에서 해당 Action을 처리하는 Activity안에 기술해 준다. 


	
    
	
        
        
        
        
        
        
        
    
    
        
        
       	
        
        
        
        
        
    

위의 과정을 통해서, 서비스하는 앱이 다른 앱에서 공유하는 파일의 위치를 받아서 업로드를 하거나, 파일을 전송할 수 있다. 위의 content:/// 스키마를 사용하는 기본 갤러리 앱등에서 받은 content:/// Uri를 file:/// 스키마의 Uri로 변경시켜 주는 코드이다. 

	/**
	 * Uri 스키마를 content:/// 에서 file:/// 로  변경한다.
	 * 
	 * @param ctx
	 * @param uri
	 * @return
	 * @throws Exception
	 */
	public static Uri convertContentToFileUri(Context ctx, Uri uri) throws Exception {
		Cursor cursor = null;
		try {
			cursor = ctx.getContentResolver().query(uri, null, null, null, null);
			cursor.moveToNext();
			return Uri.fromFile(new File(cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA))));
		} finally {
			if(cursor != null)
				cursor.close();
		}
	}	

자, 이제 변경된 Uri에서 파일의 위치를 가져와서 I/O 작업을 할 수 있겠다..