프로그래밍/Android 8

안드로이드 버튼 이벤트 처리하는 2가지 방법

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button2 = (Button) findViewById(R.id.button2); // inflation // 뷰 객체로 찾아서 형변환한다 button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getAppli..

안드로이드 relative layout 상대레이아웃 컴포넌트들이 겹칠 때

화면배치에서 예를 들어 텍스트뷰와 버튼이 겹쳐지는 상황 이 상황에서 xml파일에서 텍스트뷰의 상대 레이아웃 크기를 조절한다 android:layout_below="@+id/button" android:layout_above="@+id/button2" 밑에 2줄로 상대레이아웃을 설정하는데 below속성은 첫번째 버튼 밑에서 부터 시작되는 것이고above속성은 두번째 버튼 바로 위까지 영역이 설정되는 것이다

안드로이드 xml에서 이미지가져오기 & java코드상에서 가져오기

아래는 api를 참조한 것인데 xml에서 이미지를 가져올 수도 있고 자바 코드상에서 가져올 수 있다 자바 코드상에서는 getDrawable메소드를 이용해 bitmapdrawable 객체로 만들어 질 수 있다 이미지나 문자열과 같은 리소스들은 항상 코드에서 외부화해야한다 그래서 이들을 독립적으로 유지관리를 할 수 있다. 어플 리소스들을 외부화하려면 R클래스에서 발생하는 리소스 id로 액세스 할 수 있다. 안드로이드는 런타임에 현재 기기 구성을 감지하여 적절한 리소스를 로드한다

안드로이드 Resource(리소스)란?

소스코드 : 해당 어플이 동작해서 처리하고자하는 기능 리소스 : 해당 어플이 동작할때 사용하는 문자열, 이미지, 오디오 , 동영상 등 메뉴 레이아웃 등 소스코드가 아닌 리소스를 통해 구현 가능케함 관리 하는 곳 /res 디렉토리 안에서 관리된다 (종류에 따라 하위 디렉토리를 정의하여 관리)예를들어 비트맵 그래픽 각종 이미지 및도형 /res/drawable - png, jpg, gif 등 각종 이미지 파일, 도형을 정의한 XML 파일 메뉴 메뉴 구성 /res/menu - 루트 요소 밑에 , 등을 정의한 어떤 XML 파일도 가능 원본 파일 각종 원본 파일/res/raw - mp3, mpg, txt, exe 등 각종 원본 파일 레이아웃 파일 각 화면 별 레이아웃 정의 /res/layout - main.xml ..

안드로이드 이미지크기를 뷰의 크기에 맞추기

이미지를 그냥 참조하게 되면 본래의 크기로 나와서 화면에 맞지 않게 된다 스크롤 뷰를 써서 다 보이게 할 수 있지만 처음부터 꽉 차보이게 만드려면뷰의 크기에 딱 맞게 설정을 해주어야 한다 여기서 Resources는 res폴더안에 리소스를 참조할수 있게 해주는것2line 이미지를 비트맵객체로 받아온다 줄그어져있는것이 deprecated 된것 (쓸 수는 있지만 필요성이 없어져 곧 없어질 메소드) 3line이미지를 뷰에 보여준다 4line fitxy란 뷰의 크기에 딱 맞게 만들어주는 상수 값이다 xml파일에서 만든 뷰의 크기에 이미지의 크기가 딱 들어맞게 된다

안드로이드 Context를 이용해 inflater 활용하기

Context란? 어플과 관련된 정보에 접근하고자 하거나 어플과 연관된 시스템레벨의 함수를 호출할때 사용된다 api 문서 참조 즉 어플에 관해 시스템이 관리하고 있는 정보를 쓸 수 있다 다른 플랫폼과 차이점은 시스템적으로 접근할때 그냥 직접적으로 시스템 api를 호출하면 되지만 안드로이드는 Context라는 인스턴스화된 매개체를 통해서 작업을 해야한다 getSystemService는 Context클래스의 메소드이다 public abstract Object getSystemService(String name) 파라미터로 어떤 값을 전달하느냐에 따라서 다른 객체를 리턴하므로 리턴형이 Object이다 LayoutInflater 란? xml에 정의된 리소스들을 view의 형태로 반환해준다 View inflate..

안드로이드 URI

안드로이드에서는 인텐트 필터에 기술된 값과 비교하여, 일치하는지 판단하여 실행하게 되는데, 검사하게 되는 것을 URI라는 객체로 하게 된다. URI는 무엇인가? URI (Uniform Resource Identifier)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어다닌다. 즉 자원에 접근하기위해 사용하는 절차이다

Intent란

인텐트 : 내가 하고자 하는 행위를 의미한다 인텐트를 이용해 애플리케이션 구성 요소간에 데이터를 전달하거나 실행하기를 원하는 기능이 무엇인지 시스템에 알려줄 수 있다. 우편물로써 이해하면 편하다 public void onButtonClicked(View v){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com")); startActivity(intent);} 버튼이 클릭되면 url주소로 넘어간다