안드로이드 개발 정보
(글 수 568)
안녕하세요.
목돌이님의 "업데이트 내역 표시하기"을 참조하여 작업한 것인데요.
http://www.androidpub.com/698317
위 글에서 내용을 추가한 것이므로 먼저 윗글 먼저 보세요.
업데이트 내역을 표시하다 보니가 2가지 아쉽더라구요.
업데이트 내역이 무자게 많아서 한 화면을 넘어가는 경우에 대한 처리와
프로그램 실행할 때 한번 띄우는 것도 좋은데,
설정에서 원하는 시점에 띄우는 것도 추가하면 좋겠더라구요.
먼저 strings.xml 파일에 출력할 내용을 넣어둡니다.
위 예는 제 프로그램의 일분 정보를 가져 왔답니다^^
아무튼 업데이트 내역이 무자가 많습니다.
한국어 외에 다른나라 언어도 지원하시면, 각 언어별로 넣어주셔야 겠지요.
이거 번역하는게 문제라서 안 넣으려고 했는데, 의외로 이거 알고 싶어하시는 분들이 꽤 되더라구요.
다음은 이 내용을 출력할 layout 파일을 하나 만드는데요.
layout 파일을 이용해서 AlertDialog 에서 스크롤 기능을 제공하게 됩니다.
위 파일은 update.xml 이름으로 layout 디렉토리에 넣은 파일 입니다.
이제 업데이트 출력하는 함수를 만들어 줍니다.
어떤 클래스에 포함하는 것은 마음대로 하셔도 됩니다.
위 ShowUpdate() 가 2개의 파라미터를 받는데요.
첫번째 것은 호출하는 Activity 클래스 를 받고, 두번째 것을 무조건 띄울 것인지
버전을 확인해서 달라진 경우만 띄울 것인지를 판별하는 변수 입니다.
이제 호출하는 곳은
프로그램의 Main Activity 의 OnCreate() 에서 아래와 같이 추가해 줍니다.
다음으로 설정화면 특정한 곳(클릭했을 때 출력을 원하는 곳) 에도 아래와 같이 추가해 줍니다.
이렇게 호출해 주시면,
이런식으로 화면이 나온답니다. ^^
수고하세요 ^^
목돌이님의 "업데이트 내역 표시하기"을 참조하여 작업한 것인데요.
http://www.androidpub.com/698317
위 글에서 내용을 추가한 것이므로 먼저 윗글 먼저 보세요.
업데이트 내역을 표시하다 보니가 2가지 아쉽더라구요.
업데이트 내역이 무자게 많아서 한 화면을 넘어가는 경우에 대한 처리와
프로그램 실행할 때 한번 띄우는 것도 좋은데,
설정에서 원하는 시점에 띄우는 것도 추가하면 좋겠더라구요.
먼저 strings.xml 파일에 출력할 내용을 넣어둡니다.
<string name="update_title">업데이트 정보</string> <string name="update_details">* ver 4.8\n - DB목록보기 모드에서 영화가 없을 때, 폴더목록으로가면 No Images 이미지가 보이는 문제 수정.\n - 업데이트 정보 표시 화면 추가\n\n * ver 4.7\n - 표시이름 변경 : Soul Movie\n - 자막 가독성 개선\n - 컨트롤바 UI 변경\n - 일본어 추가\n - 중국어 추가\n\n * ver 4.6\n - 안드로이드 1.5 지원\n\n * ver 4.5\n - 안드로이드 2.2 에서 SD카드로 이동할 수 있도록 수정.\n\n * ver 4.4\n - 모든 파일에 대해서 이어보기 되도록 수정.\n - 이어보기 방법을 고를 수 있도록 추가.\n\n * ver 4.3\n - 통합자막 모두보기에서 "한글, 영어, 영어, 한글" 순으로 나오는경우, 한글이 먼저 사라지는 문제 수정.\n\n * ver 4.2\n - 모토로이 이어보기 안되는 문제 수정.\n\n * ver 4.1\n - 자막싱크이동 버튼 교체\n - 버튼들 위치를 관련버튼들 끼리 모아둠\n\n * ver 4.0\n - AdMob 추가\n - 갤럭시S의 일부에서 죽는 문제 수정.\n\n </string>
위 예는 제 프로그램의 일분 정보를 가져 왔답니다^^
아무튼 업데이트 내역이 무자가 많습니다.
한국어 외에 다른나라 언어도 지원하시면, 각 언어별로 넣어주셔야 겠지요.
이거 번역하는게 문제라서 안 넣으려고 했는데, 의외로 이거 알고 싶어하시는 분들이 꽤 되더라구요.
다음은 이 내용을 출력할 layout 파일을 하나 만드는데요.
layout 파일을 이용해서 AlertDialog 에서 스크롤 기능을 제공하게 됩니다.
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/updateview" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:scrollbarAlwaysDrawVerticalTrack="true" android:id="@+id/instructions_view" > <TextView android:id="@+id/updatetext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/update_details"/> </LinearLayout> </ScrollView>
위 파일은 update.xml 이름으로 layout 디렉토리에 넣은 파일 입니다.
이제 업데이트 출력하는 함수를 만들어 줍니다.
어떤 클래스에 포함하는 것은 마음대로 하셔도 됩니다.
public static void ShowUpdate(Context context, boolean bForce) { SharedPreferences pref = context.getSharedPreferences("VER", 0); try{ PackageManager pm = context.getPackageManager(); PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0); int VERSION = packageInfo.versionCode; int old_Ver = pref.getInt("version", 0); if(old_Ver<VERSION || bForce){ SharedPreferences.Editor edit = pref.edit(); edit.putInt("version", VERSION); edit.commit(); new AlertDialog.Builder(context) .setTitle(R.string.update_title) .setView(LayoutInflater.from(context).inflate(R.layout.update,null)) .setPositiveButton(R.string.details_ok, null) .show(); } } catch(Exception e){} }
위 ShowUpdate() 가 2개의 파라미터를 받는데요.
첫번째 것은 호출하는 Activity 클래스 를 받고, 두번째 것을 무조건 띄울 것인지
버전을 확인해서 달라진 경우만 띄울 것인지를 판별하는 변수 입니다.
이제 호출하는 곳은
프로그램의 Main Activity 의 OnCreate() 에서 아래와 같이 추가해 줍니다.
ShowUpdate(this, false);
다음으로 설정화면 특정한 곳(클릭했을 때 출력을 원하는 곳) 에도 아래와 같이 추가해 줍니다.
EditPreferences.ShowUpdate(EditPreferences.this, true);
이렇게 호출해 주시면,
이런식으로 화면이 나온답니다. ^^
수고하세요 ^^
업댓 정보를 앱 소개 페이지에 다 쓰면 되겠거니 했는데 텍스트 제한때문에 ㅠㅠ 이 방법을 써야겠군요 ''!