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

  1. 2010.02.18 [Android] Activity 전환
  2. 2010.02.15 [Android] Slidingdrawer (2) - horizontal
  3. 2010.02.15 [Android] Slidingdrawer (1) - vertical
  4. 2010.02.15 [Android] 오류메세지
  5. 2010.02.01 [Android] HTTP 통신 기초
Programming/Android2010.02.18 00:54
A : 전환할 Activity Class

Intent B = new Intent(this, A.class);
startActivity(B);
Posted by 초프(초보 프로그래머)
Programming/Android2010.02.15 16:04

vertical과 다른 점은 slidingdrawer의 속성중에 android:orientation 를 "horizontal"로 바꾸어 주면 됩니다.

물론 handle도 거기에 맞게 해줘야 합니다.

handle에 넣을 이미지가 없어서 대충 글자로 해보았습니다.



    
		
    
	
		
		
		
			
		
	



 
Posted by 초프(초보 프로그래머)
Programming/Android2010.02.15 15:22
안드로이드 메인에서 프로그램 목록을 볼때 위로 드래그하는 것과 같은 것이다.

slidingdrawer는 handle과 content 두개가 존재합니다.
handle : 슬라이딩시 클릭하는 부분
Content : 슬라이딩된 후에 내용이 보일 부분 이 두 부분은 필수 입니다.


handle과 content는 항상 이걸 써야한다는 제한은 없어 보인다. TextView, ImageView도 되고 Layout도 되는것 같다. 하지만 content에는 꼭 Layout을 써주는 것이 좋을 것 같다.

FrameLayout은 모든 것이 한곳에서 그려지므로 겹칠수 있다. 그래서 content에서 Layout을 써주지 않으면 내용이 겹쳐 보인다.



	
		
    
	
		
		
		
	


위와 같이 하면 내용이 겹치게 되어 다음과 같이 출력되게 됩니다.


이 문제를 가장 쉽게 해결하는 방법은 배경색으로 덮어 주는 것이다.

하지만 ImageView에 적용해봤자 효과가 없을 것이고... 그래서 Slidingdrawer에 배경색을 적용해 보니... 다음과 같다..

 


와전히 가려진다...  해결 방법은 content안에 layout을 두고 거기에 배경색을 넣는 것이다.

 





    
		
    
	
		
		
		
			
		
	


slidingdrawer는 수직으로 움직이는 것 뿐만 아니라 수평으로 움직이는 것도 있다.

꽤나 재밌어 보여서 이것저것 찾아 봤음. ^^;
Posted by 초프(초보 프로그래머)
Programming/Android2010.02.15 14:55

[2010-02-15 14:18:54 - AndroidTest]Re-installation failed due to different application signatures.
[2010-02-15 14:18:54 - AndroidTest]You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2010-02-15 14:18:54 - AndroidTest]Please execute 'adb uninstall google.android.test' in a shell.


검색을 통해서 해결 방법을 알아냈다.

에뮬레이터에 이미 실행중인 프로그램과 새로 실행할려는 프로그램의 차이가 많이나서 이런 오류가 난다고 합니다.

해결 방법은에뮬레이터에 이미 올라가 있는 프로그램을 삭제하는 것입니다.

Setting > Applications > ManageApplications

으로 들어간 후 프로그래명을 선택한 다음 Uninstall 을 클릭하면 됩니다. ^^

 

 

 
Posted by 초프(초보 프로그래머)
Programming/Android2010.02.01 14:55
http 프로토콜을 이용하여 통신을 하는 예제입니다.

주소에 해당되는 문서의 내용을 받아옵니다. 

여기서는 그냥 일반 html 문서서를 가져 오도록 해보았습니다.  
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Test extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TextView text = (TextView)findViewById(R.id.htmlText);
        
        URL url = null;
        
		try {
			url = new URL("http://family7914.cafe24.com");
        	HttpURLConnection http = (HttpURLConnection)url.openConnection();
        	BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()));
        	StringBuffer buffer = new StringBuffer();
        	
        	int c;
        	
        	while((c=in.read()) != -1){
        		buffer.append((char)c);
        	}
        	
        	text.setText(buffer);
        	
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
    }
}

 

코드를 실행해보면 위와 같은 결과가 나옵니다.

만약 결과가 나오지 않거나 오류가 발생한다면... 
처음으로 생각해 볼수 있는 것이 Manifest의 Permission 입니다. 
이건 우리가 어떤 기능을 사용할 것이다 라고 미리 알려주는 것입니다. 
그래야만 사용할 수 있거든요~
두번째는 제가 어리석어서 생긴 경우인데...
실행을 할 경우 문서의 용량이 크면 로딩이 길게 되어있습니다. 
그리고 그전에 디버깅을 위한 메세지가 뜨는데 그것을 그냥 오류로 생각해 버리는겁니다.
그러므로 메세지를 잘 확인하세요~ ^^;
Posted by 초프(초보 프로그래머)