목록FrontEnd/Android (97)
한 걸음 두 걸음
MainActivity에서 private BroadcastReceiver mAlertReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { fromAlertStr = intent.getStringExtra("alertStr"); ListElementsArrayList.add(fromAlertStr); adapter.notifyDataSetChanged(); } };로 브로드캐스트리시버 만들어주고, @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon..
사용 : MainActivity.java & activity_main.xml 두 개만 사용하였음. activity_main.xml은 간단하기 그지없다. 사실 없어도 되는데 디버깅용 textview 두 개 쓴게 끝이다. 위에 숫자는 이번에 안썼음 package kr.ac.koreatech.swkang.msp02_orientationsensor; import android.content.Context; import android.content.Intent; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.Sens..
안드로이드에 내장된 센서를 통해 실내와 실외를 구분하는 방법은 1. 조도센서(빛의밝기) 2. GPS 3. WiFi 등이 있습니다. 1번 조도의 경우 실내가 실외보다 어둡다는 점을 이용한 것이지만 실외에 있을 때 핸드폰을 주머니나 가방에 넣고다니는 경우를 잡아내지 못하므로 정확성이 떨어집니다. 2번 GPS의 경우 실내에 있을 때 위도와 경도 값이 업데이트되지 않는 점을 이용하여 실내에있는지 실외에 있는지 구별할 수 있습니다. (onLoctionChanged함수에서 지속적으로 위도경도 값 업데이트가 가능합니다.)하지만 가끔 실내에 있을 때도 GPS값이 잡힐 때가 있어 추천하지 않습니다. 그리고 타임 스레드를 돌려가며 이전값과 일치하는지 일치하지않는지 확인하는 작업의 부하가 많이 걸릴 수 있습니다. GPS를 ..
LocationListener를 implements 해주면 4가지 함수를 오버라이드 해주어야합니다. @Override public void onLocationChanged(Location location) { } @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } onLocationChanged() 함수는 위도 경도 값이 바뀔 때마다 호출되는 콜백함수입니다. 1초에도 몇 번씩 호출될만큼 ..
안드로이드 핸드폰에 내장된 가속도센서를 통해 움직임을 감지하도록 만들었습니다. private SensorManager mSensorManger; private Sensor linearSensor;가장 먼저, 가속도센서와 관련된 변수 SensorManager와 Sensor를 선언해준 후, mSensorManger = (SensorManager)getSystemService(Context.SENSOR_SERVICE); linearSensor = mSensorManger.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);그에 맞는 서비스와 센서를 받아오도록 저장해주었습니다. 그리고 해당 SensorManager를 사용하는 MainActivity엔 public class ..
SQLite나 firebase 데이터베이스는 내부 저장소로 활용할 수 있고 서버로 구현하면 mySQL이나 MariaDB를 사용하게 됩니다. 보통 mySQL의 라이센스 문제가 많기 때문에 Maria로 가시곤 하죠. 저번에 node js 서버와 MongoDB로 연결해서 사용하려고 AWS에 올리려고 했는데 putty가 안먹어 서버올리는데 실패했기 때문에 ㅜㅜ 다시 로컬로 데이터베이스를 만들어보기로 했습니다. 일단 프로젝트 마감은 해야하니까요. 시간만 많았으면 서버통신으로 해보고싶었는데.. SQLite는 안드로이드 기기 내부의 로컬에 파일 형태(.db)로 저장되어 사용됩니다. 때문에 인터넷이 없어도 사용할 수 있는 것이 특징인데요. 방대한 양의 데이터를 처리하는데 적합하지 않고 자칫 어플리케이션 자체의 용량이 ..