본문 바로가기
IT기술(코딩)

혼자 안드로이드 어플,앱 제작 (개인 개발자) 1일차 [Splash 처음화면 로딩화면, Intent, flag, Application class예시]

by 크리에이트매이커 2020. 8. 2.
반응형

안녕하세요 여러분!!

2번의 앱을 만들고 실패 후 다른 종류의 앱을 만들기로 했어요!!

저는 약간의 일도 하면서 개발을 하고 있어요. 저는 나중에 AI 병합 IOT쪽으로 사업을 할 계획이기 때문에

SW, HW, FirmW 등등 많은 공부들을 하면서 약간의 일을 하고 있어요!

그러면서 현대에 가장 발달된 IoT제품으로 스마트폰!! 이 대표적이기 때문에 앞으로 이 스마트기기를 이용한 생활이 커질것을 염두해 안드로이드 플랫폼에서 서비스 가능한 앱연구도 하고 있답니다.

서론이 길었고.

오늘은 혼자 안드로이드 어플,앱 제작 (개인 개발자) 1일차 [Splash 처음화면 로딩화면]에 대해 이야기 해볼께요!

이번에 만들 앱은 간단한 정보제공 앱이에요. 뭐.. 학교 급식표 알려주는것 마냥 간단한 필수 정보 제공 앱이죠 ㅎㅎ..

오늘 제작한 것에 대한 내용을 적어볼게요!

모든 앱 제작과 마찬가지로 화면(Activity) 틀을 만들었어요~

첫화면

두번째

세번째

일단은 대충 이정도로 만들었는데 제작중 차후 더 필요한 기능이 있다면 점점 추가 되겠죠 ~?

코드 부분이에요!

 

import android.app.Application;

public class FlagClass extends Application {

    private static int where;
    private static int kind;
    private static int what;

    @Override
    public void onCreate() {
        super.onCreate();
        where = 0;
        kind = 0;
        what = 0;
    }

    @Override
    public void onTerminate() {super.onTerminate();}

    public void Init() {
        where = 0;
        kind = 0;
        what = 0;
    }

    public void setWhere(int flag){this.where = flag;}
    public void setKind(int flag) {this.kind = flag;}
    public void setWhat(int flag) {this.what = flag;}

    public int getWhere() {return where;}
    public int getKind() {return kind;}
    public int getWhat() {return what;}

}

위 코드는 일단 앱 제작중 거의 필수적인 AppContext 기능을 담당할 Flag 클래스에요.

그 이유는 이전 액티비티에서 사용한 변수의 상태를 다른 액티비티에서도 필요할 때가 있기 때문에

대부분 이런 Flag기능을 하거나 App자체에 정보를 저장하는 클래스는 필수랍니다~

 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent_splash = new Intent(this, SplashActivity.class);
        Intent intent_whatkindfood = new Intent(this, WhatKindFood.class);
        startActivity(intent_splash);
    }
}

위 코드는 맨 처음 부분인데, 저기 intent_splash 부분은 시작로딩화면 부분이에요.

대부분 앱을 켜면 먼저 앱이름과 함께 꽉찬화면이 나오죠? 그 부분이랍니다.

그걸 사람들은 Splash라고 부르더라구요.

 

 

아래 코드는 SplashActivity 클래스의 코드에요~

public class SplashActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        startLoading();
    }
    private void startLoading() {
        Handler hendler = new Handler();
        hendler.postDelayed(new Runnable() {
            @Override
            public void run() {
                finish();
            }
        }, 2000);
    }
}

간단하죠? 물론 처음 하는분들은 어려울 수도 있죠~

나머지는 아직 기능적 구현은 안했기 때문에,

 

Intent intent_twofood = new Intent(this, 녀녀녀녀.class);

이렇게 위 코드처럼 Intent 까지만 구현 해놨답니다.

저같은 개인개발자는 보통 간단하지만

필수적인 정보 제공용 앱이나,

제작, 설계등 도구 기능할 할 수 있는앱,

카메라 관련 앱,

이런 것들로 서비스를 제공하고 광고 수익이나,

유료 혹은 유료기능으로 수입을 내더라구요.

그리고 디자인이 엄~~~청 중요해요.

제가 지금까지 만든 앱 2개는 너무 많은 사람들이 이용해야만 가능한 앱이여서 혼자

부담하기 힘들다고 판단했죠. 디자인도 개구리구요 .ㅋㅋ 그래서 빠르게 접었어요.

물론 아직 다운 받을 수 도 있고 작동도 한답니다 ㅋㅋ

그래서 실패 원인을 찾던중 앱 종류에 따라 사람들이

대하는 태도가 다르다는 점과,

기업용, 개인용, 소규모용 앱이 있다는 것을 연구했죠~

그래서 다시 시도하고 있어요!

오늘은 앱에 대해 이것저것 연구도 하고 어떤 식의 앱을 만들까에 대한 시간을 많이 썻어요. 물론 좀 놀면서 ㅎㅎ..

저렇게까지 만드는데 약 2시간 걸렸네요. 왜냐하면 저도 아직 초보라 액티비티 디자인 하는데 시간도 걸리고 하네요.

앱 구조적인 것만 알고 막 즉각정으로 사용하진 못해요.

누구나 다 앱을 만들고 자신만의 서비스를 제공 할수 있답니다.

오늘은 혼자 안드로이드 어플,앱 제작 (개인 개발자) 1일차 [Splash 처음화면 로딩화면]에 대한 글을 여기서 마칠게요~

혹시 궁금한거 있으면 댓글 달아요!

안녕!

'공감 하트 감사용~

반응형