일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 홈어시스턴트
- 라즈베리파이
- esp8266
- 디자인패턴
- everon
- 급속충전기
- 파이썬
- 펌웨어
- 전기차
- YMODEM
- homeassistant
- 서버리스
- STM32
- thread
- IOT Core
- lambda
- 전기차충전
- 보안
- OCPP
- Android
- 안드로이드
- 에버온
- 플라스크
- 전기차충전기
- raspberry
- dynamodb
- AWS
- 충전기
- flask
- 완속충전기
- Today
- Total
목록안드로이드 (21)
Louie NRT Story
작성일: 22년 5월 22일 Index 1. 배경 2. Setting 코드 3. FirstPage 코드 4. SecondPage 코드 5. Main 코드 6. 출력결과 1. 배경 - 안드로이드 개발을 하다보면 1번 페이지에서 값을 변경하면 2번 페이지에서 그 값을 그대로 가져와야 하는 경우가 생김. 1번 페이지에서 객체를 생성하고 값을 설정하더라도 페이지가 사라지면서 해당 객체도 사라지기 때문에 값이 보존되지 않음. 이때 사용하는 방법이 싱글톤 패턴이라고 볼 수 있음 - 보통은 통신쪽에서 Socket을 사용할 때 Thread 마다 Socket을 생성하고 연결하면 꼬일 수가 있기 떄문에 싱글톤 패턴을 사용함 2. Setting 코드 - "private static Settings settings = nul..
작성일: 22년 1월 18일 Index 1. WorkManager 추가 2. SampleWorker 코드 3. MainActivity 코드 4. Worker의 상태 확인 5. 그외 기능 1. WorkManager 추가 - 해당 라이브러리를 프로젝트에 추가시킴 2. SampleWorker 코드 - number로 받은 데이터를 1초 간격으로 Log를 찍는 단순한 코드임 - 작업이 완료되면 outPutData를 보낼 수 있는데 사용법으로는 Worker의 Status가 "Success"가 되면 받을 수 있도록 함 public class SampleWorker extends Worker { private static final String TAG = SampleWorker.class.getSimpleName();..
작성일: 22년 1월 12일 Index 1. Module 설정 2. 분석하고자 하는 데이터 3. Weather 4. MainActivity 1. Module 설정 - Okhttp 깃허브에 들어가서 최신 버전이 무엇인지 확인함 - Gradle 모듈에 아래와 같이 추가를 함 2. 분석하고자 하는 데이터 - 현재는 서버가 동작을 제대로 안하고 있지만 받고자 하는 데이터는 아래와 같음 3. Weather - Weather 이름의 Model Class를 만듬 public class Weather { private String country; private String weather; private String temperature; public Weather(String country, String weather..
작성일: 21년 12월 12일 PS. 충전기 개발할때 UI와는 별도로 무거운 작업을 할때 수행하면 좋음. 예를 들어 서버로부터 다운로드를 한다거나 데이터들을 분석하고 서버에 데이터를 업로드 한다는 등의 이벤트성 작업에 좋을 것으로 판단됨 Index 1. 소스코드 2. 동작확인 3. IntentService와 Service 차이점 1. 소스코드 1) IntentService 코드를 생성함 2) MyIntetnService - IntentService 코드를 만듬 public class MyIntentService extends IntentService { public MyIntentService() { super("MyIntentService"); } @Override protected void onHan..
작성일: 21년 12월 12일 PS. 전기차 충전기의 충전어플의 업그레이드 또는 관리 기능으로 서비스 기능을 구현하고자 함 Index 1. 소스코드 2. 동작 확인하기 3. 어플 종료시키기 4. 주저리 주저리 1. 소스코드 1) myService 코드 - 다음과 같이 추가를 해야 androidManifest에 등록됨 - 참고로 안드로이드 4대 컴포넌트(Activity, Service, BroadCast Receiver, contentProvider)는 Manifest에 등록되어야함 - Service를 수행 시켰을때 onStartCommand()가 수행됨 - Service를 종료 시켰을때 onDestroy()가 수행됨 - START_STICKY의 경우에는 서비스가 문제가 생겨 중단되더라도 스스로 다시 동작..
작성일: 21년 12월 12일 PS. 프로젝트 진행하다보니 Thread를 사용할지 아니면 Service를 사용할지 고민하는 경우가 생김. 그때 판단의 기준이 되기 위해 작성함 Index 1. Thread 코드 2. 동작 확인하기 3. 어플 종료하기 4. 어플 비정상 종료 시키기 5. 결론 1. Thread 코드 1) MainActivity.java - "startThread()"를 누르면 Thread가 실행되면서 1초 주기로 mCount가 1씩 올라감 - "stopThread()"를 누르면 Thread가 종료됨 public class MainActivity extends AppCompatActivity { private Thread mThread; private int mCount = 0; @Overri..
작성일: 21년 12월 9일 Index 1. 기존 코드 2. dataBinding 설정 1. 기존 코드 1) MainActivity 코드 - 데이터 바인등을 통해 설정한 정보를 볼수 있도록 함 public class MainActivity extends AppCompatActivity { private static final String LOG_TAG = MainActivity.class.getSimpleName(); private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBind..
작성일: 21년 12월 9일 Index 1. 기존의 코드 2. ViewBinding 기능 사용하기 3. 자동 생성된 ViewBinding 코드 1. 기존의 코드 1) MainActivity public class MainActivity extends AppCompatActivity { private static final String LOG_TAG = MainActivity.class.getSimpleName(); private TextView nameView, phoneView, addressView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView..
작성일: 21년 12월 9일 Index 1. 코드 작성하기 2. Log 색상 변경하기 3. Log 출력 확인하기 1. 코드 작성하기 1) MainActivity 코드 public class MainActivity extends AppCompatActivity { private static final String LOG_TAG = MainActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); writeLog(); } public void writeLog(){ ..
작성일: 21년 11월 23일 Index 1. runOnUiThread 존재하는 이유 2. Layer 코드 3. MainActivity 코드 4. 실행된 화면 1. runOnUiThread 존재하는 이유 - UI를 제어할때 여기저기에서 제어를 하게 되면 동기화 문제를 방지하기 위함임 - UI Thread에서만 제어 할 수 있도록함 2. Layer 코드 - 가운데에 시간을 표현 할 수 있도록함 3. MainActivity 코드 - 현재 시간을 1초마다 가져와서 TextView에 보여줌 TextView clockTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se..