[c#/wpf/winform/unity] Byte to String / String to Byte 로 변환 컨버팅 #static으로 손쉽게 사용이 가능하다 public static class ByteConverter { public static object ByteToObject(byte[] buffer) { try { using (MemoryStream stream = new MemoryStream(buffer)) { BinaryFormatter binaryFormatter = new BinaryFormatter(); stream.Position = 0; return binaryFormatter.Deserialize(stream); } } catch (Exception exception) { Conso..
[c#/wpf/winform] UDPHelper구현(server/client) #정의부 #싱글톤으로 사용하면된다. public class UdpHelper { public string server_host = "127.0.0.1"; public string server_broadcast = "255.255.255.255"; public int receiver_port = 3333; public int sender_port = 4333; private UdpClient sender; private UdpClient receiver; private static UdpHelper _instance { get; set; } public static UdpHelper Instance { get { return _..

[wpf/c#] mvvm 을 활용한 런처(전원 관리 및 파일 관리) 만들기(1/3) #1.프로젝트 생성 및 라이브러리 설치 -Launcher wpf 프로젝트 생성(.Net Framework 4.6.2) -MvvmLight 라이브러리 설치(5.4.1.1) #2.기본 Mvvm 기본 형식 완성 #MainViewModel public class MainViewModel : ViewModelBase { public MainViewModel() { Title = "런처 테스트"; OnClickCommand = new RelayCommand(OnClickCommandAction, null); } private string _title; public string Title { get { return _title; } ..
[c#/wpf] UpdateSourceTrigger=PropertyChanged (mvvm 사용 시 바인딩 객체값이 변경되면 바로 반영하기) 바인딩 시 text 같은 내용 변경시 바로 반경하는 옵션이 있다. 바로 UpdateSourceTrigger=PropertyChanged 를 사용하면된다. #풀 소스 경로 https://github.com/gofogo2/test_mvvm.git #c# #wpf #UpdateSourceTrigger #PropertyChanged
[wpf/c#] mvvm light, CommandParameter 사용법 #Command사용 시 Parameter를 넘길 수 있다. #View(xaml) - CommandParameter="aaaa"등과 같이 값을 넣어준다. #ViewModel //정의 public RelayCommand OnTextChangedCommand { get; set; } private void OnTextChangedCommandAction(string msg) { MessageBox.Show(TextBoxText); } //초기화 OnTextChangedCommand = new RelayCommand((msg)=> OnTextChangedCommandAction(msg), null); 이렇게 간단하게 쓸 수 있다. #mv..

[wpf/c#] mvvm light를 이용한 간단한 샘플 프로그램(소스) #1 nuget package - mvvm light 설치 #2 ReceiverViewModel 구현 public class ReceiverViewModel : ViewModelBase { private string _contentText; public string ContentText { get { return _contentText; } set { _contentText = value; RaisePropertyChanged("ContentText"); } } public ReceiverViewModel() { Messenger.Default.Register(this, OnReceiveMessageAction); } private..
[wpf/c#] MVVM 기본 개념 및 설명 (소스 기반) M : Model - 데이터 객체(Class Obejct) V : View - UI 화면(xaml) VM : ViewModel - View와 Model의 비지니스 로직 #Model INotifyPropertyChanged를 통하여 변경 사항을 알린다. public class User : INotifyPropertyChanged { private int userId; private string firstName; private string lastName; private string city; private string state; private string country; public int UserId { get { return userId; ..

[android/(kotlin)코틀린]블루투스 허용 팝업 후 상태값 받아오기 #구현부 val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) mStartForResult.launch(enableBtIntent); #callback 함수 private var mStartForResult = registerForActivityResult( StartActivityForResult() ) { result: ActivityResult -> val resultCode = result.resultCode } #안드로이드 #android #kotlin #코틀린 #블루투스 #bluetooth
[android/kotlin(코틀린)] 기본프로젝트 셋팅하기 #[jetpack] 안드로이드에서 제공하는 다양한 라이브러리 https://developer.android.com/jetpack?gclid=CjwKCAiAsNKQBhAPEiwAB-I5zacKEyuyQiQ6lO_NC2dZIhBqGphFiRw7tS7yYBzAYfVDDPOkIQk2wRoC2lYQAvD_BwE&gclsrc=aw.ds Android Jetpack | Android 개발자 | Android Developers Jetpack은 개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 축소, 모든 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음입니다. developer.android.com #..

[android/java]TedPermission을 통한 간단한 권한 설정 안드로이드에서 권한을 관리하는건 굉장히 까다롭고 번거롭습니다. 그걸 개선해서 아래 경로에 고맙게도 쉽게할 수 있는 박상곤 개발자님이 TedPermission 라이브러리를 개발해주셨더군요. [출저:https://github.com/ParkSangGwon/TedPermission] 간단한 사용법을 설명하겠습니다. #디펜던시 추가(build.gradle) implementation 'io.github.ParkSangGwon:tedpermission:2.3.0' #리스너 생성(MainActivity) private final PermissionListener permissionListener = new PermissionListener(..