[Android] Bluetooth Low Energy 삽질일기 - 1
by JungWook_BLE 기본예제 Download
구글에서 제공하는 예제를 수정해서 개발하려고합니다. 약 4~5년전 예제라서 수정해야 할 부분들이 있습니다.
우선 프로젝트를 실행 가능하게 만들고 난 후에 각 코드별로 공부하고 정리하겠습니다.
실행하자마자 에러가 났습니다. 에러를 보니 compile대신에 impletation이나 api로 바꾸라고 합니다.
build.gradle안에 dependencies를 확인합니다.
dependencies {
compile "com.android.support:support-v4:27.0.2"
compile "com.android.support:support-v13:27.0.2"
compile "com.android.support:cardview-v7:27.0.2"
compile "com.android.support:appcompat-v7:27.0.2"
}
compile을 impletation으로 수정하겠습니다.
수정 후 상단에 sync now
를 눌렀더니 에러가 줄어들었습니다.
buildToolsVersion '27.0.2'부분을 지우라는거 같습니다. 지워보겠습니다. 위의 코드와 같은 파일에 있습니다.
android {
compileSdkVersion 27
buildToolsVersion "27.0.2" <-- 이부분을 지웁니다.
defaultConfig {
minSdkVersion 18
targetSdkVersion 27
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
sourceSets {
main {
dirs.each { dir ->
java.srcDirs "src/${dir}/java"
res.srcDirs "src/${dir}/res"
}
}
androidTest.setRoot('tests')
androidTest.java.srcDirs = ['tests/src']
}
}
지운후에 sync now
를 누르니 에러가 사라졌습니다. 에러는 없지만 실행해도 블루투스신호는 못잡습니다.
AndroidManifest파일을 열어서
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
밑에
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
코드를 추가해줘야 합니다. 블루투스 신호잡는데 위치권한은 왜 필요한지는 잘 모르겠습니다.
그리고 DeviceScanActivity -> onCreate() 함수안에 다음과 같은 코드를 추가합니다.
int MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION = 1;
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
이제 앱을 실행하면 블루투스 신호를 잡을 수 있습니다.
다음 글에서는 각 코드를 설명하겠습니다.
'Programming > Android' 카테고리의 다른 글
[Android] Keep the device awake (0) | 2019.11.28 |
---|---|
[Android] Node.js Socket.io 통신 - 2 (0) | 2019.05.13 |
[Android] Node.js Socket.io 통신 - 1 (0) | 2019.05.13 |
[Android] webview err_cleartext_not_permitted (0) | 2019.05.02 |
[Android] Bluetooth Low Energy 삽질일기 - 2 (0) | 2019.04.10 |
블로그의 정보
hongmono
JungWook_