일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- websocket
- 암호화
- model1
- autowired
- 도커
- Ajax
- phaser
- 비트코인
- 알고리즘
- express
- 배포
- CSS
- AWS
- RDS
- 웹게임
- Servlet
- EC2
- jQuery
- JSP
- 웹소켓
- docker
- SQL
- node.js
- tiles.xml
- Spring
- HTML
- Cookie
- PL/SQL
- JavaScript
- 블록체인
- Today
- Total
목록Mobile/Android (12)
記錄
Animation fade되면서 사진 교체 public void changeSimson(View view){ ImageView bart = (ImageView) findViewById(R.id.bart); ImageView homer = (ImageView) findViewById(R.id.homer); bart.animate().alpha(0f).setDuration(2000); homer.animate().alpha(1f).setDuration(2000); // 여기서 0f, 1f를 해준 이유는 정확히 float값으로 인식하도록 하기 위해서 // 그냥 숫자만 쓰면 가끔 어떤 경우에는 원하는 수치가 정확히 인식이 안된다고 함 // 그냥 습관화 할 것 } Animation 아래로 내려감 ImageView..
onCreate() : 앱 시작과 함께 무조건 한 번 실행된다public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // savedInstanceState is a Bundle object containing the activity's previously saved state. // If the activity has never existed before, the value of the Bundle object is null. setContentView(R.layout.activity_ma..
프로그레스 다이얼로그 @Override public void onClick(View v) { if (v == bt) { ProgressDialog pd = new ProgressDialog(this); pd.setTitle("Wait...(테스트 타이틀)"); pd.setMessage("기다려 주세요..(테스트)"); pd.show(); } } 특정 업부가 진행되기까지 사용자에게 기다릴 것을 요구하기 위해서 사용한다.
다이얼로그 종류 둘Modal 다이얼로그를 닫기 전까지 원래의 창을 사용할 수 없다Modaless 다이얼로그가 화면에 떠 있어도 원래의 창을 사용할 수 있다 토스트(Toast) 예시 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast tst = Toast.makeText(this, "토스트 테스트 입니다", Toast.LENGTH_LONG); tst.show(); } 알림 창(AlertDialog) 예시package com.kimjungkwon.dialog; import android.support.v..
진동울리기 과정1) AndroidManifest.xml에서 퍼미션을 설정한다2) .xml로 activity 작성3) .java로 이벤트 처리 AndroidManifest.xml에서 퍼미션 처리 // 여기 이렇게 단 한 줄이면 해당 어플이 진동에 대한 퍼미션을 획득 .xml로 Activity 작성(특별할 것이 하나도 없다) .javapublic class MainActivity extends AppCompatActivity implements View.OnClickListener { // 클릭시 이벤트 처리를 위해서 // implements View.OnClickLister했고 // 이에 따라 abstract method인 // onClick을 구현해주어야 컴파일 가능 Button vbbt; Button ..
TableLayout뷰를 테이블 구조로 배치하는 레이아웃. TableRow로 행을 관리한다. 예제 GridLayoutTableLayout과 비슷하지만 TableRow를 굳이 만들어주지 않아도 된다. 또 LinearLayout처럼 가로나 세로 방향으로 나열되지만 GridLayout은 columnCount를 통해서 자동 개행 기능을 사용할 수 있다. 단, orientation이 vertical인 경우에는 rowCount로 자동 개행을 제어한다. 또 rowSpan과 columnSpan을 통해서 원하는 공간을 비울 수도 있다. // 2개의 버튼이 나오면 자동으로 개행하게 만든다 자동으로 정해진 버튼 수를 채우면 개행이 된 모습 계산기 실습
FrameLayoutFrameLayout은 레이아웃에 포함된 뷰들을 같은 영역에 배치할 때 사용. Tab 구조에서 특히 잘 사용된다. Tab화면 구현(TapHost)TabHost: 탭 전체 영역TabWidget: 탭 버튼이 들어갈 영역FrameLayout: 탭 버튼 클릭시 나올 화면 영역 .xml // TabWidget이 끝난 것에 주목하자. LinearLayout의 두 구성요소인 TabWidget과 FrameLayout은 // 동등한 관계이므로 중첩을 시키지 않는다.// 후에 .java에서 spec에 의해 TabWidget과 FrameLayout은 묶이게 된다. .Javapackage com.kimjungkwon.tabhosttestnew; import android.support.v4.content...
RelativeLayoutRelativeLayout은 화면에 이미 배치된 뷰를 기준으로 다른 뷰의 위치를 지정하는 레이아웃이다. layout_above, layout_below, layout_toLeftOf, layout_toRightOf 이렇게 네 개로 상대적 위치를 지정한다. 상대적 위치를 지정하는 레이아웃인 만큼 먼저 기준이 될 뷰를 인식해야 하므로 id 부여는 필수이다. align상대적인 위치를 설정하고 나서 화면을 깔끔하게 하기 위해서는 정렬을 해야한다. 즉, 왼쪽 변을 맞추든 윗 변을 맞추든 선을 맞춤으로써 UI가 더 깔끔해 질 수 있고 이는 align을 이용한다 alignParentXXX부모 뷰의 면적에서 원하는 위치에 배치하는 기능을 한다 RelativeLayout 실습 // 부모 뷰의 면..
LinearLayout레이아웃에 포함된 뷰를 가로나 세로로 나열하는 레이아웃이고 이는 orientation으로 제어한다. layout_gravity vs gravity vs LinearLayout의 gravityLinearLayout내에서 뷰의 위치를 변경하고 싶으면 뷰 내에서 layout_gravity 속성을 활용하고 뷰 내에서 컨텐츠(내용)의 위치를 변경하고 싶으면 마찬가지로 뷰 내에서 gravity를 사용한다. 단, orientation의 설정에 따라서 뷰에서의 layout_gravity는 적용이 안되는 경우가 발생한다. 예를 들어 orientation에서 horizontal설정이 되어 있다면 뷰 내에서의 layout_gravity에서 center_horizontal을 설정해도 적용이 되지 않는다...
실습1) 텍스트 내에서 autoLink 기능 사용2) strings.xml에서 긴 텍스트 호출하여 원하는 줄 수만큼 출력 후 길면 요약3) 폰트 변경4) 이미지 뷰 출력 후 가로세로 비율 맞추도록 설정5) EditText 뷰 출력하여 다이얼 패드로 전화번호 입력받기6) 체크박스 출력 후 터치 시 이벤트 처리하여 텍스트 변경 .xml // autoLink로 클릭시 바로 이동할 수 있도록 처리 // 끝에 ... 으로 줄여지도록 함 // 짧으니까 stirngs.xml말고 직접 여기에 씀 Strings.xml UITestFinal 미래 핵심 기술로 꼽히는 거래 내역 분산 저장, 즉 블록체인 방식도 이미 공개된 기술이라 6천만 원이면 새 이름의 가상화폐를 만들 수 있는데도 수천억 원 규모로 거래된다는 겁니다. 실..
화면에 버튼 두 개 생성(자바코드로 UI구성)public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout linear = new LinearLayout(this); Button bt1 = new Button(this); bt1.setText("Button 1"); linear.addView(bt1); Button bt2 = new Button(this); bt2.setText("Button 2"); linear.addView(bt2); setContentView(linea..
- 파편화 vs 개방성운영체제의 소스 코드, 라이브러리 코드 등이 모두 공개되어 있으므로 이를 사용해 각 스마트폰 제조사들이 조금씩 변경을 하기 때문에 파편화가 이뤄지는 단점이 있다. 그만큼 개방되어 있다는 것이기도 하다. - iOS와 다른점iOS는 특정 9개 앱의 기능을 운영체제가 책임져 주는 것이지 실제로 둘 이상의 앱이 동시에 돌아가지는 않는다. 이런 의미에서 안드로이드는 멀티태스킹을 지원하고 iOS는 그렇지 않다고 할 수 있다. - ART(Android Runtime)일반적으로 .java는 java파일을 .class파일로 컴파일하고 이를 JVM에서 돌렸었다. 안드로이드는 .java를 .class로 컴파일 하는 것은 동일하지만 .class를 다시 .dex 파일로 컴파일 한 후 이를 ART상에서 돌린..