Notice
Recent Posts
Recent Comments
Link
투케이2K
13. (TWOK/UTIL) [Android/Java] A_Intro - 로딩 인트로 화면 관련 클래스 정리 본문
[설 명]
프로그램 : Android / Java
설 명 : 로딩 인트로 화면 관련 클래스 정리
[AndroidManifest.xml : 소스 코드]
<!-- 애플리케이션 설정 -->
<application
android:name="com.example.testapp.S_Application"
android:allowBackup="false"
android:icon="@mipmap/new_app_icon_1024"
android:label="@string/app_name"
android:roundIcon="@mipmap/new_app_icon_1024"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
android:largeHeap="true"
android:hardwareAccelerated="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
android:configChanges="keyboardHidden|orientation|screenSize"
android:extractNativeLibs="true"
android:requestLegacyExternalStorage="true"
tools:replace="android:allowBackup">
<!-- 1) android:allowBackup="false" : 애플리케이션 삭제 후 재설치시 데이터를 초기화 시킨다 -->
<!-- 2) android:icon="@mipmap/ic_logo" : 앱 설치 시 표시되는 아이콘을 설정한다 -->
<!-- 3) android:label="@string/app_name" : 앱 설치 시 표시되는 이름을 설정한다 (string.xml 파일) -->
<!-- 4) android:roundIcon="@mipmap/ic_logo" : 앱 설치 시 표시되는 아이콘을 설정한다 -->
<!-- 5) android:supportsRtl="true" : RIGHT to LEFT 레이아웃을 지원한다는의미입니다 -->
<!-- 6) android:theme="@style/AppTheme" : 기본 애플리케이션 및 액티비티 테마, 액션바 표시 여부를 설정한다 (styles.xml 파일) -->
<!-- 7) android:usesCleartextTraffic="true" : http 를 사용할 수 있다 (보안 강화로 기본적으로 http 접근을 허용하지 않는다) -->
<!-- 8) android:largeHeap="true" : 기본 애플리케이션 사용 메모리 용량 늘린다 (메모리 누수 위함) -->
<!-- 9) android:hardwareAccelerated="true" : 기본 애플리케이션 성능 가속화를 허용한다 (모든 그리기 작업에서 GPU를 사용) -->
<!-- 10) android:excludeFromRecents = "true" : 최근 앱 작업 목록에 남기지 않는다 -->
<!-- 11) <uses-library android:name="org.apache.http.legacy" android:required="false"/> : apache http 클라이언트 이슈 방지 [application 내부 독립 구성] -->
<!-- 12) android:screenOrientation="portrait" 항상 앱 화면을 세로 방향으로 표시하겠다-->
<!-- 13) android:windowSoftInputMode="adjustPan" : 키보드 활성 시 ui 밀림 현상 방지 -->
<!-- 14) android:configChanges="keyboardHidden|orientation|screenSize" : 액티비티 화면 가로, 세로 간 전환 시 초기화 방지 [1] -->
<!-- 15) android:configChanges="orientation|keyboardHidden|keyboard|screenSize" : 액티비티 화면 가로, 세로 간 전환 시 초기화 방지 [2] -->
<!-- 16) android:extractNativeLibs="true" : 액티비티 화면 가로, 세로 간 전환 시 초기화 방지 [3] -->
<!-- 17) android:requestLegacyExternalStorage="true" : 외부 저장소 읽기 , 쓰기 위한 권한 허용 -->
<!-- OS 9.0 이상일때, 해당 부분 추가 -->
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<!-- 로딩 액티비티 -->
<activity
android:name=".A_Intro"
android:exported="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
android:configChanges="keyboardHidden|orientation|screenSize">
<!-- 앱 화면 세로 고정 : android:screenOrientation="portrait" -->
<!-- 키보드 고정 : android:windowSoftInputMode="adjustPan" -->
<!-- 가상 키보드 상태에 따라 리사이징 : android:windowSoftInputMode="adjustResize" -->
<!-- 앱 스키마 실행 시 앱 중복 실행 방지 : android:launchMode="singleTask" -->
<!-- 앱 런처 실행 인텐트 필터 등록 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- URL 스키마를 사용위해 인텐트 필터 등록 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 로그인 연동 : URL 스키마 : 호스트 , 스키마 -->
<data
android:scheme="test"
android:host="login" />
<!-- 일반 호출 : URL 스키마 : 호스트 , 스키마 -->
<data
android:scheme="test"
android:host="call" />
</intent-filter>
</activity>
</application>
[A_Intro : 소스 코드]
package com.example.testapp;
import androidx.appcompat.app.AppCompatActivity;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Window;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Arrays;
public class A_Intro extends AppCompatActivity {
/**
* TODO [클래스 설명]
* // -----------------------------------------
* 1. 인트로 로딩 화면 액티비티
* 2. 디바이스 고유값 확인 및 저장
* 3. 애플리케이션 버전 코드, 버전 명 확인 실시
* 4. URL 스키마 접속 확인 실시
* 5. 네트워크 연결 상태 체크 실시
* // -----------------------------------------
* */
// TODO [빠른 로직 찾기 : 주석 로직 찾기]
/**
* // -----------------------------------------
* // [SEARCH FAST] : [프리퍼런스 데이터 초기화 실시]
* // [SEARCH FAST] : [디바이스 고유값 확인 및 저장 실시]
* // [SEARCH FAST] : [모바일 버전 코드, 버전 명칭 확인 및 저장 실시]
* // [SEARCH FAST] : [URL 스키마 접속 확인 실시]
* // [SEARCH FAST] : [노티피케이션 알림 뱃지 지우기 실시]
* // [SEARCH FAST] : [네트워크 연결 상태 체크]
* // [SEARCH FAST] : [액티비티 화면 전환 실시]
* // -----------------------------------------
*/
// TODO [전역 변수 선언 실시]
private static final String ACTIVITY_NAME = "A_Intro";
// TODO [액티비티 생명 주기 상태 체크 메소드]
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
// [타이틀바 없애기 : FEATURE_NO_TITLE]
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
catch (Exception e){
e.printStackTrace();
}
// [액티비티 레이아웃 지정 실시]
setContentView(R.layout.a_intro_layout);
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 액티비티 수행 실시]");
Log.d("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// TODO [SEARCH FAST] : [프리퍼런스 데이터 초기화 실시]
S_Preference.introCreateClear(A_Intro.this);
// -----------------------------------------
// -----------------------------------------
// TODO [SEARCH FAST] : [디바이스 고유값 확인 및 저장 실시]
String deviceId = S_DeviceID.getDeviceID(A_Intro.this);
if (C_Util.stringNotNull(deviceId) == false){ // [디바이스 값이 저장되지 않은 경우]
// [디바이스 고유값 저장 : UUID]
S_DeviceID.setDeviceID(A_Intro.this);
}
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 저장된 디바이스 고유값 확인]");
Log.i("","\n"+"[deviceId :: 디바이스 고유 값 :: "+String.valueOf(deviceId)+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// -----------------------------------------
// TODO [SEARCH FAST] : [모바일 버전 코드, 버전 명칭 확인 및 저장 실시]
// [모바일 버전 코드 : ex : 1]
String mobileCode = C_Util.getMobileCode(A_Intro.this);
S_Preference.setString(getApplication(), S_FinalData.PRE_MOBILE_CODE, mobileCode);
// [모바일 버전 명칭 : ex : 1.0.0]
String mobileVersion = C_Util.getMobileVersion(A_Intro.this);
S_Preference.setString(getApplication(), S_FinalData.PRE_MOBILE_VERSION, mobileVersion);
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 모바일 버전 코드, 버전 명칭 확인]");
Log.i("","\n"+"[mobileCode :: 모바일 버전 코드 :: "+String.valueOf(mobileCode)+"]");
Log.i("","\n"+"[mobileVersion :: 모바일 버전 명칭 :: "+String.valueOf(mobileVersion)+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// -----------------------------------------
// TODO [SEARCH FAST] : [URL 스키마 접속 확인 실시]
innerUrlScheme();
// -----------------------------------------
// -----------------------------------------
// TODO [SEARCH FAST] : [노티피케이션 알림 뱃지 지우기 실시]
C_Util.removeBadge(A_Intro.this, 1);
// -----------------------------------------
// -----------------------------------------
// TODO [SEARCH FAST] : [네트워크 연결 상태 체크]
if (C_StateCheck.getWhatOfNetwork(A_Intro.this)){ // [네트워크가 연결된 경우]
// [SEARCH FAST] : [액티비티 화면 전환 실시]
intent_Activity();
}
else { // [네트워크가 연결 되지 않은 경우]
// [팝업창 호출 실시 및 와이파이 설정창 이동]
C_Ui_View.showAlert(
A_Intro.this,
1, // [와이파이 설정창 이동 코드]
S_FinalData.AL_TITLE,
S_FinalData.AL_NET + " [" +String.valueOf(ACTIVITY_NAME)+ "]",
S_FinalData.AL_SET,
S_FinalData.AL_NO,
"");
}
// -----------------------------------------
} // TODO [메인 종료]
// TODO [SEARCH FAST] : [액티비티 화면 전환 실시]
public void intent_Activity(){
try {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// [SEARCH FAST] : [URL 스키마 접속 확인 실시]
String checkNewTask = String.valueOf(S_Preference.getString(getApplication(), S_FinalData.PRE_APP_NEW_TASK));
if (C_Util.stringNotNull(checkNewTask) == true){ // [널 값이 아닐 경우 : 새로운 태스크 수행]
// -----------------------------------------
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> intent_Activity() :: 화면 전환 수행 실시]");
Log.i("","\n"+"[checkNewTask :: 스키마 접속여부 :: "+String.valueOf(checkNewTask)+"]");
Log.i("","\n"+"[전 환 :: [새로운 태스크] :: A_Intro >> A_Main]");
Log.w("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// [화면 전환 수행]
Intent goPage = new Intent(A_Intro.this, A_Main.class);
goPage.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
goPage.setAction(Intent.ACTION_MAIN); // 런쳐 액티비티
goPage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 새로운 태스크
goPage.addCategory(Intent.CATEGORY_LAUNCHER); // 런쳐 액티비티
startActivity(goPage);
// -----------------------------------------
// [기존 화면 종료]
finish();
overridePendingTransition(0, 0);
// -----------------------------------------
}
else { // [널 값인 경우 : 일반 수행]
// -----------------------------------------
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> intent_Activity() :: 화면 전환 수행 실시]");
Log.i("","\n"+"[checkNewTask :: 스키마 접속여부 :: "+String.valueOf(checkNewTask)+"]");
Log.i("","\n"+"[전 환 :: [일반] :: A_Intro >> A_Main]");
Log.d("//===========//","================================================");
Log.i("---","---");
// -----------------------------------------
// [화면 전환 수행]
Intent goPage = new Intent(A_Intro.this, A_Main.class);
goPage.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(goPage);
// -----------------------------------------
// [기존 화면 종료]
finish();
overridePendingTransition(0, 0);
// -----------------------------------------
}
}
}, 600); // (작업 예약)
}
catch (Exception e){
//e.printStackTrace();
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> intent_Activity() :: 화면 전환 수행 실시]");
Log.i("","\n"+"[error :: 에러 :: "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
// TODO [모바일 키 이벤트 발생 체크 부분]
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// [모바일 디바이스의 뒤로가기 키 이벤트가 발생한 경우]
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onKeyDown() :: 백버튼 터치시 뒤로 가기 이벤트 발생]");
Log.w("//===========//","================================================");
Log.i("---","---");
}
return true;
}
// TODO [액티비티 생명 주기 상태 체크 메소드]
@Override
public void onResume(){
super.onResume();
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onResume() :: 액티비티 실행 준비]");
Log.d("//===========//","================================================");
Log.i("---","---");
}
// TODO [액티비티 생명 주기 상태 체크 메소드]
@Override
public void onPause(){
super.onPause();
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onPause() :: 액티비티 정지 상태]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
// TODO [액티비티 생명 주기 상태 체크 메소드]
@Override
public void onDestroy(){
super.onDestroy();
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onDestroy() :: 액티비티 종료 상태]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
// TODO [SEARCH FAST] : [URL 스키마 접속 확인 실시]
public void innerUrlScheme(){
try {
/**
* // -----------------------------------------
* [스키마 데이터 형식]
* // -----------------------------------------
* 1. 예시 : test://call?
* // -----------------------------------------
* 2. 예시 : test://call?name=twok&age=29
* // -----------------------------------------
* 3. 스키마 데이터 초기화 :
* - [애플리케이션 시작] : S_Preference.proccessCreateClear
* - [애플리케이션 종료] : S_Preference.proccessFinishClear
* // -----------------------------------------
* */
// [스키마 접속 여부 확인 실시]
if(getIntent() != null){
// [URL 스키마 전달 받은 데이터 확인 실시]
Uri uri = getIntent().getData();
if(uri != null){
// [스키마 및 호스트 데이터 확인 실시]
String total = String.valueOf(uri.toString()); // [스키마 + 호스트 + 데이터 전체]
String scheme = String.valueOf(uri.getScheme()); // [스키마]
String host = String.valueOf(uri.getHost()); // [호스트]
String endCheck = host + "?"; // [마지막 종료 형식 확인 위함 : 스키마 데이터 널 체크]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: URL 스키마 getData() 접속 확인]");
Log.i("","\n"+"[접속 여부 :: 스키마 접속 확인]");
Log.i("","\n"+"[uri :: "+String.valueOf(total)+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// TODO [로그인 연동 : 스키마 / 호스트 접속 : login]
if (scheme.trim().equals(S_FinalData.SCHEME_IN_TITLE_APP)
&& host.trim().equals(S_FinalData.SCHEME_IN_HOST_LOGIN)){
// [스키마 데이터 체크 수행 실시]
try {
if (uri.getQueryParameterNames() != null
&& uri.getQueryParameterNames().size() > 0
&& total.trim().endsWith(endCheck.trim()) == false){ // KEY 값이 하나라도 포함된 경우
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [로그인 연동] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 :: 전달 받은 스키마 데이터 있음]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [배열에 스키마 데이터 담기 수행 실시]
ArrayList keyList = new ArrayList(uri.getQueryParameterNames());
JSONObject schemeJSON = new JSONObject();
for (int i=0; i<keyList.size(); i++){
schemeJSON.put(String.valueOf(keyList.get(i)), uri.getQueryParameter(String.valueOf(keyList.get(i))));
}
// [프리퍼런스에 [로그인] 스키마 데이터 저장 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_LOGIN, schemeJSON.toString());
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [로그인 연동] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 :: 전달 받은 스키마 데이터 없음]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [로그인 연동] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 :: "+String.valueOf(scheme)+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[호스트 :: "+String.valueOf(host)+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[KEY [ALL] :: "+String.valueOf(uri.getQueryParameterNames())+"]");
//Log.i("","\n"+"[KEY [name] :: "+String.valueOf(uri.getQueryParameter("name"))+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 [PRE_SCHEME_DATA_LOGIN] :: "+String.valueOf(S_Preference.getString(getApplication(), S_FinalData.PRE_SCHEME_DATA_LOGIN))+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [SEARCH FAST] : [URL 스키마 접속 확인 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_APP_NEW_TASK, "TRUE");
}
// TODO [일반 호출 : 스키마 / 호스트 접속 : call]
else {
// [스키마 데이터 체크 수행 실시]
try {
if (uri.getQueryParameterNames() != null
&& uri.getQueryParameterNames().size() > 0
&& total.trim().endsWith(endCheck.trim()) == false){ // KEY 값이 하나라도 포함된 경우
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [일반] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 :: 전달 받은 스키마 데이터 있음]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [배열에 스키마 데이터 담기 수행 실시]
ArrayList keyList = new ArrayList(uri.getQueryParameterNames());
JSONObject schemeJSON = new JSONObject();
for (int i=0; i<keyList.size(); i++){
schemeJSON.put(String.valueOf(keyList.get(i)), uri.getQueryParameter(String.valueOf(keyList.get(i))));
}
// [프리퍼런스에 [일반] 스키마 데이터 저장 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_CALL, schemeJSON.toString());
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [일반] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 :: 전달 받은 스키마 데이터 없음]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: 스키마 접속 분기 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[로 직 :: [일반] 스키마 접속 처리 실시]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 :: "+String.valueOf(scheme)+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[호스트 :: "+String.valueOf(host)+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[KEY [ALL] :: "+String.valueOf(uri.getQueryParameterNames())+"]");
//Log.i("","\n"+"[KEY [name] :: "+String.valueOf(uri.getQueryParameter("name"))+"]");
Log.i("","\n"+"--------------------------------");
Log.i("","\n"+"[스키마 데이터 [PRE_SCHEME_DATA_CALL] :: "+String.valueOf(S_Preference.getString(getApplication(), S_FinalData.PRE_SCHEME_DATA_CALL))+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// [SEARCH FAST] : [URL 스키마 접속 확인 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_APP_NEW_TASK, "TRUE");
}
}
else {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: URL 스키마 getData() 접속 확인]");
Log.i("","\n"+"[접속 여부 :: [1] 일반 실행]");
Log.i("","\n"+"[로 직 :: 스키마 데이터 및 접속 상태 플래그 초기화 실시]");
Log.d("//===========//","================================================");
Log.i("---","---");
// [로그인 : 스키마 데이터 초기화]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_LOGIN, "");
// [일반 : 스키마 데이터 초기화]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_CALL, "");
// [SEARCH FAST] : [URL 스키마 접속 확인 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_APP_NEW_TASK, "");
}
}
else {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> innerUrlScheme() :: URL 스키마 getIntent() 접속 없음]");
Log.i("","\n"+"[접속 여부 :: [2] 일반 실행]");
Log.i("","\n"+"[로 직 :: 스키마 데이터 및 접속 상태 플래그 초기화 실시]");
Log.d("//===========//","================================================");
Log.i("---","---");
// [로그인 : 스키마 데이터 초기화]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_LOGIN, "");
// [일반 : 스키마 데이터 초기화]
S_Preference.setString(getApplication(), S_FinalData.PRE_SCHEME_DATA_CALL, "");
// [SEARCH FAST] : [URL 스키마 접속 확인 실시]
S_Preference.setString(getApplication(), S_FinalData.PRE_APP_NEW_TASK, "");
}
}
catch (Exception e){
e.printStackTrace();
}
}
} // TODO [클래스 종료]
[a_intro_layout.xml : 소스 코드]
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<!--
[레이아웃 설명]
1. 사용하는 클래스 : A_Intro
2. 로딩 화면 인트로 부분에서 사용하는 레이아웃
-->
<ImageView
android:id="@+id/introBgImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/newintrobg"
android:scaleType="fitXY"
android:visibility="visible"
android:layout_gravity="center"
android:gravity="center"/>
</LinearLayout>
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments