일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- listview
- ListView.builder
- Flutter 강좌
- 반석천
- ListTile
- Image.network
- HTTP
- Networking
- flutter
- node.js
- navigator
- AppBar
- Row Widget
- Flutter Tutorial
- sqlite
- Snackbar
- Scaffold
- Cached Image
- Column Widget
- Row
- WillPopScope
- MainAxisAlignment
- Flutter 예제
- Flutter 앱 배포
- Flutter Example
- InkWell
- Load Image
- FutureBuilder
- CrossAxisAlignment
- Hello World
- Today
- Total
목록Development/Android (44)
꿈꾸는 시스템 디자이너
GUI를 구성할 때 롤오버 기능을 넣으면 보다 다이나믹한 느낌을 줄 수 있다.주로 객체를 터치할 때 반응하도록 하는데, 객체의 배경색을 바꾸거나 객체 내의 텍스트의 색상을 바꾸게 된다. 일반적으로 XML을 통해 Layout을 구성할 때 텍스트 색상은 android:textColor 속성을 이용해서 설정하고, 배경색은 android:background 속성을 이용해서 설정한다.롤 오버 기능을 이용하려면 위의 두 속성에 selector를 작성해서 연결해 주면 된다. 위의 소스를 보면, 라인 21, 28, 46, 54 에서 TextView의 textColor 속성을 값으로 "@color/selector_button"이란 값을, 라인 11, 54 에서 LinearLayout의 background 속성의 값으로 ..
한 Activity내에 GUI의 구성이 복잡할 때 이를 모듈화할 때 Fragment가 사용된다. 즉 한 Activity를 구성할 GUI 조각들의 집합이다.우선 Layout의 구성부터 살펴보자. MainActivity 엑티비티를 구성하는 activity_main.xml의 내용으로 두개의 프레그먼트를 가지고 있다. line 16,17첫번째 프레그먼트의 id와 name 등을 정의하고 있다. - id: 참조를 위한 id이며, 동시에 프레그먼트의 레이아웃 xml 파일명- name: 프레그먼트를 구현한 패키지 및 클래스명line 32,33윗 내용을 참고하면, 두번째 프레그먼트는 com.example.fragmenttest 패키지내에 TailFragment.java 파일로 구현될 것이며, 프레그먼트의 레이아웃은 la..
앞서 설명한 SQLite 예제(http://here4you.tistory.com/49)를 이용하면 쉽게 DB관련 작업을 수행할 수 있다. 다만 해당 예제에서는 DB관련한 코드들이 Activity 코드에 포함되어야 한다는 단점이 있다. 별도의 DB관리 코드를 만들어서 재사용하고 싶을 때에는 SQLiteOpenHelper를 이용하면된다. import java.util.ArrayList; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.databas..
SQLite를 이용한 DB생성, Table 생성/삭제, Data 추가/업데이트/삭제/읽기 예제이다.아래의 블로그를 참조했음을 밝힌다.http://hatti.tistory.com/9 DB를 한번이라도 다뤄본적이 있다면 이해할 수 있는 예제이므로 설명을 생략..다만 DB를 생성하고 열기위한 openOrCreateDatabase() 메소드의 호출은 Activity상에서만 가능하다는 제약이 있다. (추가) 이러한 제약을 해결하기 위해서는 SQLiteOpenHelper를 이용해야 하는데 그 방법은 별도(http://here4you.tistory.com/50)로 정리해두었다. package com.example.databasetest; import android.os.Bundle; import android.app..
어플리케이션이 동작하는 도중에 긴 시간의 I/O 작업이라던지 사용자로부터 확인 명령을 받아야 할때와 같은 경우 현재 엑티비티 상에 새로운 다이얼로그를 표시할 필요가 있다. ProgressDialog는 I/O 작업과 같이 잠시 엑티비이의 상태를 동결시킬 때 사용되고, AlertDialog는 사용자로부터 확인 명령을 받을 때 사용된다. public class MainActivity extends Activity { ProgressDialog progressDialog; // ProgressDialog AlertDialog.Builder alertDialog; // AlertDialog Button btShowDialog; Button btAlert; public static int TIME_OUT = 100..
사용하는 갤럭시넥서스에 최신 젤리빈 4.2.2 소스를 빌드어하여 사용중인데, 구글맵이 필요하여 알아봤더니 구글 플레이 스토어를 먼저 깔아야 한다. 또 구글 플레이 스토어를 설치하려면 GMS(Google Mobile Service)라는 것을 먼저 설치해야 한다고 한다. http://goo.im/gapps/ 위의 사이트에서 적당한 GSM을 다운로드한다. 본인은 gapps-jb-20130301-signed.zip을 다운로드 했다. 적당한 곳에 압축을 풀고 확인해보면 시스템 디렉토리가 존재한다. 1. adb를 리마운트 $ adb remount 2. system 디렉토리를 개발폰의 /system 디렉토리로 갱신한다. $ adb push system /system 3. 개발폰을 리부팅한다. $ adb reboot ..
안드로이드 단말이 현재 위치를 확인하는 방법은 GPS를 통한 방법과 기지국을 통한 방법이 있다.LocationManager를 이용하여 LocationProvider를 세팅하는 방식으로 위치를 확인 방식을 설정할 수 있다. GPS를 이용하는 방식은 정확도가 높지만, 실내에서는 사용이 불가능하다는 단점이 있고, 기지국을 이용하는 방식은 실내 사용이 가능하지만 정확도가 떨어진다. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // LocationManager 객체 생성 locationManager = (LocationManage..
메인 엑티비티에서 새로운 엑티비티나 서비스를 실행 시키는 방법과, 엑티비티 실행 결과를 확인하는 방법은 다음과 같다. package com.example.startactivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { Intent serviceIntent; private int requestCode = 10; protected void onCreate(Bundle savedInstanceState) { super...