Richard Fulcher, Chris Nesladek, Jim Palmer, Christian Robertson Android: State of the UI Application UI design patterns Making Android apps look good Building a great Android app 5 UI Design Patterns Dashboard Action Bar Search Bar Quick Actions Companion Widget
리스트 화면이 사라졌어요. 개발할 때 많이 쓰는 것 중 하나인 리스트 뷰 배경은 희색, 글자색은 검정색으로 설정했는데 리스트를 스크롤 하면 리스트뷰가 검은색이 되면서 아무것도 보이지 않는다. 뭐니 이게??? 화면을 유심히 들여다 보니 구분선은 흐릿하게 보였다. 아무래도 스크롤시 배경색이 검은색으로 바뀌는 것 같다... 어찌할꼬??? 음..다행이 이 상황은 많은 사람들이 겪는 문제인가 보다. Android developer 사이트에 이 문제에 대한 해결책이 나와있다. 한 번 살펴보자.^^(난번역...ㅠㅠ;;) ListView Backgrounds: An Optimization ListView 에서 가장 많이 발생되는 공통적인 문제 중 하나는 사용자정의 백그라운드를 사용할 때 이다. 많은 안드로이드 위젯들처..
왜!! 레이아웃이 화면에 꽉 차지 않는 거야??? 나의 스마트폰은 HTC 센세이션~ 어플을 테스트 하려고 보니...어 이상타... 레이아웃이 화면에 꽉 차지 않는것이다... 왜!!! 원인은 고해상도?? HTC 센세이션 해상도는 QHD 960X540 이다. 따라서 고해상도를 맞춰줄 작업이 필요한 것이다. !! 해상도에 따른 확장, 축소 적용하기 /AndroidManifest.xml 결과화면 적용전 적용후 화면 해상도 얻기 DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int width = displayMetrics.widthPixels; ..
커스텀 타이틀 바를 사용하기 위해 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 호출했더니 생긴 에러 07-05 11:02:45.955: ERROR/AndroidRuntime(16969): Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content setContentView(R.layout.a_calendar); 전에 호출해준다.
타이틀바를 내 취향대로 변경하고 싶다. 안드로이드 3.0부터 제공하는 action bar에서 이것저것 기능을 추가할 수 있는 것 같은데...아무튼 내 개발버전 2.3 에 맞게 커스텀 타이틀바를 만들어 사용하겠다. 타이틀바 레이아웃 그리기어플리케이션 관리자에 공용으로 사용할 커스텀 타이트바 세팅 함수 만들기 액티비티에 커스텀 타이틀바 달기타이틀바에 테마 적용하기 타이틀바 레이아웃 그리기 어플리케이션 관리자에 공용으로 사용할 커스텀 타이트바 세팅 함수 만들기 public void customTitleBar(String title, Activity activity){ activity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.sample1..
웹 접근성 지침에 대해 파악하고 관련 도구에 대해 알아본다. 웹 접근성 지침 웹 접근성 검사 도구 웹 접근성 지침 Web Content Accessibility Guidelines (WCAG) 2.0 웹 콘텐츠 접근성 지침 2.0 영문 지침서 국문 지침서 인터넷 웹 콘텐츠 접근성 지침1.0 1) 인식의 용이성 지침1 : 이미지의 의미나 목적을 이해할 수 있도록 적절한 대체 텍스를 제공해야 한다. 지침2 : 배경 이미지가 의미를 갖는 경우, 배경 이미지의 의미를 이해할 수 있도록 대체 콘텐츠를 제공해야 한다. 지침3 : 동영상, 음성 등 멀티미디어 콘텐츠를 이해할 수 있도록 대체 수단(자막, 원고 또는 수화)을 제공해야 한다. 지침4 : 색상 배제시 원하는 내용을 전달할 수 있도록, 색상 이외에 명암, 패..
Android 4.0 (Ice Cream Sandwich) dual-core 1.2GHz or 1.5GHz CPU 720p HD “monster-sized” screen 물리적인 단축 버튼 없음 4G LTE radio 1GB of RAM 1080p HD video capture and playback 1-megapixel front-facing camera 5-megapixel rear camera 참고자료 안드로이드 4.0 탑재 첫 구글 넥서스 4G 나온다…아이폰 5와 '맞불' Exclusive: Google Nexus 4G detailed – 720p display, 4G LTE, Android 4.0 Google’s next Nexus Android phone to be a 4G powerhouse?
안드로이드에서는 어댑터라는 객체가 있어서 뷰와 데이타를 연결해준다. 간단하게 문자열 리스트를 리스트뷰에 보여주도록 어댑터를 설정할 수 있다. 기본적으로 제공되는 어댑터 외에 내 입맛에 맞는 어댑터를 정의하여 리스트 뷰에 보여주고자 한다. 커스텀 항목 뷰 그리기 커스텀 어댑터 클래스 구현 커스텀 항목 뷰 그리기 커스텀 레이아웃을 XML로 디자인한다. 커스텀 어댑터 클래스 구현 어떤 정보를 레이아웃의 어느 위젯에 출력할지 지정하는 역할은 어댑터가 담당한다. BaseAdapter를 상속받아 추상 메서드를 재정의 한다. public class MyAdapter extends BaseAdapter { static final String TAG = "SheduleListAdapter"; private Context..
06-13 07:47:23.406: ERROR/AndroidRuntime(11931): Caused by: java.lang.RuntimeException: Binary XML file line #44: You must supply a layout_width attribute. layout_width 속성값이 있었음에도 에러가 떨어졌다. 원인은 android:layout_weight 값을 선언하지 못해서 일어난 현상...
Layout XML 정의하기 SQLiteOpenHelper 구현하기 Activity 생성하기 Layout XML 정의하기 > SQLiteOpenHelper 구현하기 SQLiteOpenHelper 를 상속받아서 DB에 관련된 기능을 구현한다. public class MyDBHelper extends SQLiteOpenHelper { private static final String TAG = "MyDBHelper"; private static final int DATABASE_VERSION = 1; private static final String DB_NAME = "db_sample10"; public MyDBHelper(Context context, CursorFactory factory) { supe..
06-10 08:54:19.741: ERROR/AndroidRuntime(579): Caused by: android.database.sqlite.SQLiteException: near "AUTOINCREMENT": syntax error: CREATE TABLE schedule(_id INTEGER PRIMARY AUTOINCREMENT, content TEXT); SQL 문을 잘 못 작성하였다... SQLite Manager를 이용하여 SQL을 검증한 후에 사용한다.
추상클래스 이므로 서브 클래스를 파생하여 사용하는 DB에 맞게 메서드들을 재정의하고 적절한 스크립트를 작성해 넣어야 한다. SQLiteOpenHelper(Context context, String name, CursorFactory factory, int version) 생성자 Context context DB를 생성하는 컨텍스트, 보통 메인 액티지티를 전달한다. String name DB 파일의 이름 CursorFactory factory 커스텀 커스를 사용하고자 할 때 지정, 표준 커서를 사용할 때는 null int version DB 파일의 버전 DB 업데이트에 사용 public void onCreate(SQLiteDatabase db) DB가 처음 만들어질 때 호출된다. 여기서 테이블을 만들고 초..