-
Android 2018‧01‧10
~ free bytes and 2MB until OOM 에러
manifests > AndroidManifest.xml 안에 android:largeHeap="true" 와 android:hardwareAccelerated="false" 를 추가해준다. <application android:name=".SetApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:largeHeap="true" android:hardwareAccelerated="false" android:theme="@style/AppTheme"> 이유나 문서가 필요하면 안드로이드 개발 사이트를 참고하면 된다. https://developer.android.com/topic/performance/graphics/index.html
-
Android 2018‧01‧02
라운드 버튼 만들기, shape solid 배경색 변경
먼저 res> drawable 안에 xml을 하나 만들어 shape를 추가한다. 본인은 roundbtn.xml이라고 만들었다. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ff0000" /> <corners android:bottomRightRadius="20dp" android:bottomLeftRadius="20dp" android:topRightRadius="20dp" android:topLeftRadius="20dp"/> </shape> 라운드가 각 4방향에 20dp로 라운드되게 만든 shape다. 이제 버튼에 background 에 roundbtn.xml을 추가하자. <Button android:id="@+id/signaldocentcolor" android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/roundbtn" /> 이렇게 만들어두기만 하면 괜찮은데 간혹 상황에 따라 동그랗게 만든 […]
-
Android 2018‧01‧02
버튼에 그림자 빼기
버튼에 기본적으로 그림자가 붙어서 UI가 빠지는데 이걸 버튼에 스타일로 style="?android:attr/borderlessButtonStyle" 한줄을 넣어주면 된다. <Button android:id="@+id/signalvip1color" android:layout_width="20dp" android:layout_height="20dp" android:background = "@drawable/roundbtn" style="?android:attr/borderlessButtonStyle"/>
-
Android 2018‧01‧02
WIFI 신호 감도, 속도, AP기기 맥 어드레스 가져오기
현재 접속한 wifi 의 신호 감도가 얼마 정도인지, 네트워크 속도는 얼마나 되는지 알고 싶고 같은 SSID라도 AP 기기가 다를 수 있는데 전환되었는지 알아 볼 때 AP 기기의 맥 어드레스로 알 수 있다. manifests > AndroidManifest.xml 를 열어 퍼미션을 추가해 준다. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 그리고 아래 코드로 […]
-
Android 2017‧12‧28
반복 실행하기 위한 timertask
반복해서 작업을 수행하기 위한 코드 Timer mLongPressTimer = null; TimerTask t; t = new TimerTask() { public void run() { //반복 작업 내용 } }; mLongPressTimer = new Timer(); mLongPressTimer.schedule(t, 0, 1000); 1초마다 반복 작업 함. 종료할 때는 아래 코드로 mLongPressTimer.cancel(); t.cancel();
-
Android 2017‧12‧26
안드로이드로 핑 테스트 하기
네트워크 체크할 때 사용했다. String host = "192.168.0.100"; String cmd = "ping -c 1 -W 10 " + host; try { Process proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); int result = proc.exitValue(); Log.d("------result", result); } catch (Exception e) { Log.d("------ping", e.getMessage()); }
-
Android 2017‧12‧22
int 를 String으로
int result = 1; 이렇게 인트 값을 지정하거나 인수로 받아서 문자열로 변환하여 다시 사용할 때 아래처럼 바꾼다. String.valueOf(result)
-
Android 2017‧12‧07
mediaPlayer 재생 완료 이벤트 받기
미디어플레이어 재생이 끝나고 다음 함수를 실행하거나 할 때 요긴하게 쓰인다. MediaPlayer.setOnCompletionListener 를 이용해서 만들면 된다. 상단에 미디어 플레이어 import 코드를 넣어주고 import android.media.MediaPlayer; activity class 안에 미디어 플레이어를 아래 예제처럼 MediaPlayer mPlayer; 를 추가해준다. public class SubActivity extends AppCompatActivity implements SurfaceHolder.Callback{ MediaPlayer mPlayer; 이제 미디어플레이어를 불러오는 곳에서 아래 코드를 작성한다. mPlayer = new MediaPlayer(); […]
-
Android 2017‧12‧01
서비스에서 다른 Activity(.java) 안의 method 호출 (브로드 캐스트)
java > 서비스로 작동하는 .java 파일을 열어서 아래 코드를 상단에 넣어 임포트 시켜준다. import android.content.Intent; import android.support.v4.content.LocalBroadcastManager; 그리고 public class MyService extends Service{ 이렇게 보이는 서비스 클래스 안에 아래 코드를 넣어준다. //브로드 캐스트 보내기 private void sendMessage() { Intent intent = new Intent("naminsik"); intent.putExtra("message", "전달하고자 하는 데이터"); LocalBroadcastManager.getInstance(this).sendBroadcast(intent); } 위에 보면 "naminsik" 은 통로 같은 […]