한글로 주석을 작성하고  javac로 컴파일할 때 인코딩 문제 때문에

다음과 같은 에러 메시지를 볼 수 있다.


unmappable character for encodig MS949


해결방법 : javac의 기본 인코딩 설정을 ms949에서 utf-8로 바꿔주면 된다.


예시 : javac Project1.java -encoding UTF-8








ArrayAdapter<String>을 이용해 ListView에 String배열 데이터를 넣고
커스텀뷰를 적용한 사례이다.


리스트뷰의 글자크기나 요소간 간격(item height / element height)도 조절할 수 있다..


listView1은 activity_main.xml에서 배치한 리스트뷰의 아이디이다
소스파일(*.java)에서 ListView객체와 String배열을 정의한다
ListView view = (ListView)findViewById(R.id.listView1); 
String[] values = new String[LIST_NUM]; 
for(int i=0; i<LIST_NUM; i++) {
    values[i] = i;
}
그리고 어레이어댑터를 만들어 뷰에 적용.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_text_view, values);
view.setAdapter(adapter);

바로 위의 코드에서 my_text_view는 임의로 이름 붙인 커스텀뷰인데, 이제 이것을 만들어야 한다
프로젝트 경로에서 res\layout(메인액티비티 레이아웃이 있는 폴더)에 새로운 xml 파일을 만든다.
이름은 위 코드에서 쓴 것과 같아야 한다.(여기서는 my_text_view.xml)

실제로 적용했었던 코드를 그대로 옮겨보면,
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:gravity="center_vertical"
    android:paddingStart="2dip"  //패딩(테두리 여백)
    android:textSize="21sp"  //글자 크기
    android:textColor="#EEEEEE"  //글자색
    android:minHeight="34dp"  //리스트 요소 폭
/>



다음과 같은 레아이웃이 적용된 리스트가 표시된다.

(https://play.google.com/store/apps/details?id=com.zetagate.pitchspeed)



윈도우에서 Android SDK Manager를 실행했는데 실행이 되지 않고 바로 꺼져버린다면

다음과 같은 환경변수를 추가하면 해결될 수 있다.


변수 : JAVA_HOME

값 : JDK(Java Development Kit)가 설치된 디렉터리




1. 내컴퓨터를 우클릭하여 속성 - 고급설정으로 들어간다.






2. JAVA_HOME환경변수로 jdk설치경로를 지정한다.






+ Recent posts