콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

안드로이드 앱 개발 일지, 6차

안드로이드 앱 개발 일지, 6차

버튼을 눌렀을 겨우, 다른 activity 실행

안드로이드 스튜디오를 실행하면 기본으로 하나의 activity를 가지고 있다. 앱을 실행할 경우, 처음 보여주는 Activity는 번호만 나와있어 사용자가 어느 방향으로 측정할 지 모른다. 버튼을 하나 누르면 번호와 측정 부분을 보여줘야 한다. 이렇게 하기 위해 MainActivity에서 버튼을 하나 만들었고, 사용자가 이를 눌렀을 경우 subActivity가 실행되도록 했다. 여기에서 참조 했다.
아래는 구현한 코드이다.

public class MainActivity extends AppCompatActivity {

    Intent subActivity;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        subActivity = new Intent(this, LayoutActivity.class);

        Button BtnLayout = (Button)findViewById(R.id.Layout);
        BtnLayout.setOnClickListener(mLayoutListener);

    Button.OnClickListener mLayoutListener = new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            startActivity(subActivity);
        }
    };
}

subActivity라고 LayoutActivity.java로 아래와 같이 만들었다. setContentView의 layout_main은 res의 layout의 경로이다.

public class LayoutActivity extends Activity {
    Intent LayoutIntent;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_main);
    }
}

layout을 아래와 같이 새로 만들어 주고, LayoutActivity에 알려 줬다.

Manifest에 등록하기

이렇게 하고 버튼을 누를 경우, 빈 화면이 보여야 되는데, 에러가 발생한다. Manifest에 아래와 같이 등록한다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.now0930.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".LayoutActivity">

        </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

</manifest>

사용자 바탕화면 설정하기

새로운 activity에는 바탕화면을 설정하고 싶다. 다음 사이트에서 참조 했다. 결론을 말하면, png 파일로 AndroidStudio 폴더에 넣어주면 된다. layout 설정하는 화면에 design과 text를 설정할 수 있는데, text로 다음과 같이 입력하면 된다. 설정 옵션에 방향을 변경할 수 있는데, 어떻게 하는지 몰라 그림을 90도 돌렸다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@drawable/carsideview"
              android:orientation="vertical"
              android:weightSum="1">

</LinearLayout>

이 사진에 번호를 붙이고 싶으나, 제공하는 TextView에서는 원하는 위치로 가져갈 수 없다. 사진을 수정하여 넣어야 될듯 보인다.

이 글 공유하기:

  • Tweet
발행일 2017-03-15글쓴이 이대원
카테고리 생활코딩 태그 android, FSM, java

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

안드로이드 앱 개발 일지, 5차

다음 글

안드로이드 앱 개발 일지, 7차

2025 7월
일 월 화 수 목 금 토
 12345
6789101112
13141516171819
20212223242526
2728293031  
6월    

최신 글

  • DC 모터 모델링 2025-07-03
  • 모터 개론 2025-06-22
  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.
 

댓글 로드중...