728x90
반응형

앱을 만들면서 Intro, Splash화면은 사용자가 어떤 앱을 실행했는지 알려주는 좋은 기능입니다.


하지만 가끔 검정, 회색, 흰색의 화면이 잠깐 나온 다음에 스플래시 화면이 나오는 앱이 많습니다.


그래서 이번 포스팅에서는 스플래시 화면을 따로 만들기 보다는 처음에 나오는 검정, 회색, 흰색 화면을 이용해 스플래시 화면을 만들고자 합니다.


1. background_splash.xml 만들기

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:drawable="@color/white"/>

<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>

</layer-list>

res/drawable 안에 background.splash.xml를 만든 다음에 위 코드를 넣어줍니다.


이렇게 하면 배경은 흰색이고 가운데에 앱 로고가 들어가게 됩니다.


2. SplashTheme 만들기

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>

res/values/styles.xml에 NoActionBar를 상속받는 SplashTheme를 만들어 줍니다.


이렇게 하면 저 테마를 적용한 Activity는 Background로 우리가 만든 background_splash를 보여주게 됩니다.


3. 빈 Activity 만들기

public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

startActivity(new Intent(getApplicationContext(), MainActivity.class));
finish();
}
}

이렇게 setContentView()도 하지 않고 바로 startActivity()를 실행하여 MainActivity로 넘어가줍니다.

SplashActivity는 finish()를 해줍니다.


4. Manifest.xml에 SplashActivity 선언하기

<activity
android:name=".SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

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

이제 2번에서 만든 Theme를 3번에서 만든 Activity에 넣어주고 3번에서 만든 Activity를 시작 Activity로 만들어줍니다.


5. 테스트 해보기



이제 Handler.postDelayed()에서 벗어나봅시다!


출처

https://www.bignerdranch.com/blog/splash-screens-the-right-way/

https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154

728x90
반응형
728x90
반응형

앱을 설치하거나 로그를 찍을 때 케이블 연결이 끊기면 얼마나 힘들고 짜증이 날까요.


그래서 저는 wifi를 이용해서 무선으로 adb를 연결해서 사용하고 있습니다.


이번 포스팅에서는 무선으로 adb를 연결해서 사용하는지 이야기 해보려고합니다.


WIFI ADB ULTIMATE라는 Plugin입니다.


Preference(Command + ,) -> Plugins -> Browse Repositories... -> wifi 검색

검색 하시면 5개가 나오는데 저는 맨 아래에 있는 WIFI ADB ULTIMATE를 사용합니다.


Install을 하시고 Android Studio를 Restart를 해줍니다.


그리고 오른쪽에 WIFI ADB ULTIMATE를 누르면 아래와 같이 창이 나옵니다.



지금은 제 안드로이드폰을 연결 한 상태입니다.


이 기능을 사용하기 위해서 컴퓨터와 안드로이드폰이 같은 WIFI를 사용해야합니다.

(같은 네트워크를 사용하면 됩니다.)


그리고 초록색 재생 버튼을 누르면 연결이 완료됩니다.




그리고 Android Studio에서 Run을 하게 되면 아래와 같이 연결된 것을 볼 수 있습니다.



이 기능을 사용하기 위해서는 케이블로 연결하여 remote device로 연결해줘야합니다.

그러니 케이블을 이용해서 최초 한번은 연결해야 한다는 소리입니다.


이제 선 없이 앱 설치하고 로그 보세요!

728x90
반응형
728x90
반응형

이번에는 제가 Android Studio에서 정말 정말 많이 사용하는 기능인 "Add Selection for Next Occurrence"에 대해서 설명하려고 합니다.


아마 이 글을 다 읽으면서 혹은 읽고 난 후에 심쿵 하실 수도 있습니다.

저도 그랬습니다.



자 그럼 심쿵 하실 준비 되셨나요??


일단 예를 먼저 들어볼게요.

public class PoloniexTicker {
@SerializedName("USDT_BTC")
public Ticker usdtBtc;
@SerializedName("USDT_BCH")
public Ticker usdtBch;
@SerializedName("USDT_ETH")
public Ticker usdtEth;
@SerializedName("USDT_ETC")
public Ticker usdtEtc;
@SerializedName("USDT_XRP")
public Ticker usdtXrp;
@SerializedName("USDT_LTC")
public Ticker usdtLtc;
@SerializedName("USDT_DASH")
public Ticker usdtDash;
@SerializedName("BTC_BCH")
public Ticker btcBch;
@SerializedName("BTC_ETH")
public Ticker btcEth;
@SerializedName("BTC_ETC")
public Ticker btcEtc;
@SerializedName("BTC_XRP")
public Ticker btcXrp;
@SerializedName("BTC_LTC")
public Ticker btcLtc;
@SerializedName("BTC_DASH")
public Ticker btcDash;

public class Ticker {
@SerializedName("last")
public double last;
}
}

제가 폴로닉스에서 데이터를 가져오기 위해서 사용하는 모델 클래스입니다.


여러분들이 이 코드를 작성하려고 한다면 어떻게 하시겠나요?


코드를 보면 USDT_와 BTC_만 빼고 나머지는 같다고 볼 수 있습니다.


그래서 저는 USDT_쪽 코드를 작성하고 복사한 후에 BTC_로만 수정하려고 합니다.


아래에서 코드 작성하는 과정을 보겠습니다.


심쿵하셨나요??

안하셨으면...


이렇게 특정 문자열만 선택하여 수정, 삭제가 가능하게 합니다.



단축키는 맥용 기준으로 control + g 입니다.


이 기능을 사용하시면 위에 보여드렸던 예 말고도 많은 것을 할 수 있습니다.


저는 enum을 만들고 그에 대한 switch코드를 작성할 때도 사용합니다.


추가)

라고 의견을 주셨습니다.




728x90
반응형

+ Recent posts