상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - ViewPager에서 상대 경로를 사용하는 방법.
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
ViewPager에서 상대 경로를 사용하는 방법에 대해 설명드리겠습니다. Android의 ViewPager는 여러 개의 페이지를 스 와이프하여 전환할 수 있게 해주는 컴포넌트입니다. 이렇게 여러 페이지를 구성할 때, 종종 이미지나 다른 리소스를 상대 경로로 불러오고자 할 때가 있습니다. 1. ViewPager 설정하기 먼저, ViewPager를 설정하는 기본적인 방법을 살펴보겠습니다. 다음은 ViewPager와 PagerAdapter를 사용하는 예제 코드입니다. ```java public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private MyPagerAdapter pagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); pagerAdapter = new MyPagerAdapter(); viewPager.setAdapter(pagerAdapter); } private class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { return 3; // 페이지 수 } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.page_layout, container, false); // 상대 경로로 이미지 로드 ImageView imageView = view.findViewById(R.id.imageView); switch (position) { case 0: imageView.setImageResource(R.drawable.image1); // drawable 폴더의 이미지 break; case 1: imageView.setImageResource(R.drawable.image2); break; case 2: imageView.setImageResource(R.drawable.image3); break; } container.addView(view); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } } ``` 2. 상대 경로 사용하기 상대 경로를 사용하는 경우, 실제 리소스를 지정하는 경로를 명확히 이해해야 합니다. Android에서는 `res` 디렉토리 내부의 리소스 파일을 사용 시 상대 경로가 아닌 리소스 ID를 사용하여 불러옵니다. 예를 들어, `R.drawable.image1`과 같이 사용합니다. 만약 외부의 파일 시스템(예를 들어, 다운로드 폴더의 이미지 등의 경우)을 사용하고 싶다면, 아래와 같이 상대 경로를 사용할 수 있습니다: ```java String relativePath = "relative/path/to/image.jpg"; File file = new File(getExternalFilesDir(null), relativePath); if (file.exists()) { Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); imageView.setImageBitmap(bitmap); } ``` 3. 상대 경로에 대한 권한 외부 저장소 접근을 위해 `Android<a href='https://sangseek.com/sangseeks/Manifest/ko'>Manifest</a>.xml`에 다음과 같은 권한을 추가해야 합니다: ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> ``` 그리고 Android 6.0 이상에서는 런타임 권한 요청을 처리해야 합니다. 이를 위해 `checkSelfPermission`과 `requestPermissions`를 사용할 수 있습니다. 결론 ViewPager에서 상대 경로를 사용할 때 주의할 점은 주로 리소스의 위치와 접근 권한에 관련된 사항입니다. 내부 리소스는 ID를 통해 쉽게 다룰 수 있지만, 외부 경로의 경우 파일의 존재 여부와 권한 설정을 확인해야 하며, 적절한 이미지 로딩 방법을 사용해야 합니다. 이를 통해 ViewPager에서 필요한 내용을 유연하게 구성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기