안녕하세요.

국내 주요 TV 채널의 방송프로그램 편성표를 한눈에 쉽게 확인할 수 있는 안드로이드 앱을 소개합니다.


* 앱 이름 : TV편성표
* 앱 설치주소 : https://play.google.com/store/apps/details?id=com.gmail.ecogeo.tvschedule2
* 가격 : 무료


*주요 기능
ㅁ 즐겨찾는 채널의 편성정보를 모아서 보기(테이블형)
- 한 화면에서 여러 채널의 편성정보를 한번에 확인
- 원하는 채널의 선택 및 정렬 지원
- 테이블의 가로축과 세로축 전환 가능
- 테이블 확대/축소 지원(두손가락을 벌리거나 오므리는 핀치줌 이용)
- 현재 시간을 쉽게 확인하기 위한 막대표시
- 현재 방송 중인 프로그램은 색상을 다르게하여 쉽게 구분
- 현재 시간대 위치로 자동 스크롤

ㅁ 특정 채널의 편성정보만 보기(목록형)
- 해당 채널의 편성정보를 목록형태로 표시
- 화면을 좌/우로 밀어서(스와이프) 다른날짜의 편성정보를 확인
- 현재 방송 중인 프로그램을 쉽게 구분
- 현재 시간대 위치로 자동 스크롤

ㅁ전체 채널목록
- 채널이름이나 채널번호로 채널검색
- 카테고리별로 채널목록 확인
- 핀치줌 동작으로 전체 카테고리를 접거나 펼칠 수 있음
- 방송서비스제공자 선택시 채널번호 자동입력

ㅁ 방송 알림예약
- 프로그램 시작 전 미리 알림을 받을 수 있음
- 알림 반복유형 : 한번만/매일반복/매주반복
- 알림시 진동/소리 등 상세설정 지원
- 알림시각 : 정각/5분전/10분전/30분전/1시간전
- 설정된 알림목록 보기
- 알림의 수정/삭제 가능

ㅁ 그외
- 프로그램 정보검색 : 네이버, 다음
- 프로그램 제목 글자크기 변경 가능


*제공 채널
- 지상파 : KBS1, KBS2, MBC, SBS, EBS1, EBS2 및 지역지상파 채널
- 종편 : JTBC, MBN, 채널A, TV조선
- 케이블 : 약 230여 개의 채널 (채널은 계속해서 추가됩니다)

 

 

 

많은 이용을 부탁드립니다. 
감사합니다.

Posted by 에코지오
,

여러분은 [로그인 유지] 또는 [자동 로그인] 기능을 어떻게 구현하시나요? 



ID/PW 기반 방식을 폐기하고 보안이 강화된 토큰(token) 기반 방식으로 변경


ㅁ 토큰 기반 자동로그인 방식의 장점


- 사용자 비밀번호를 단말기에 저장하지 않는다.

- (단말기) 해킹을 당한 경우 해킹여부를 쉽게 파악할 수 있다.

- 해킹을 당하더라도 사용자 비밀번호는 유출되지 않는다.

- 단말기 분실시 서버측에서 해당 인증세션을 무효화할 수 있다.








http://jaspan.com/improved_persistent_login_cookie_best_practice

http://blog.naver.com/PostView.nhn?blogId=junhwen&logNo=130145534571

http://stackoverflow.com/questions/244882/what-is-the-best-way-to-implement-remember-me-for-a-website

Posted by 에코지오
,

Sonar를 통해 안드로이드 앱 소스코드의 품질을 분석하고자 하는 분을 위해 현재 제가 사용중인 Ant 빌드스크립트를 공유합니다.


처음에는 custom_rules.xml 파일에 소스분석 스크립트를 작성했었는데요, 별도의 스크립트(analysis.xml)로 분리시켰습니다. 앱 프로젝트 루트경로에 build.xml, local.properties, project.properties 파일 등과 함께 두시면 됩니다.


[analysis.xml]

<project name="my-android-app-analysis" default="sonar">

  <property file="local.properties" />

  <property file="ant.properties" />

  <loadproperties srcFile="project.properties" />

  <fail message="sdk.dir is missing... "  unless="sdk.dir" />

  <import file="${sdk.dir}/tools/ant/build.xml" />


  <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">

    <classpath path="${ant.home}/lib/sonar-ant-task-2.0.jar" />

  </taskdef>


  <target name="sonar"

          depends="-set-release-mode, -release-obfuscation-check, -compile"

          description="Sonar를 이용한 소스분석">

    <xpath input="${manifest.abs.file}"

           expression="/manifest/@android:versionName"

           output="app.version.name"

           default="1.0" />


    <property name="sonar.host.url" value="http://127.0.0.1:8888/sonar" />

    <property name="sonar.jdbc.url"

                    value="jdbc:h2:tcp://127.0.0.1:9092/sonar" />

    <property name="sonar.jdbc.username" value="sonar" />

    <property name="sonar.jdbc.password" value="sonar" />

    <property name="sonar.projectKey" value="${project.app.package}:my-android" />

    <property name="sonar.projectName" value="my-android" />

    <property name="sonar.projectVersion" value="${app.version.name}" />

    <property name="sonar.java.source" value="${java.source}" />

    <property name="sonar.java.target" value="${java.target}" />

    <property name="sonar.sourceEncoding" value="UTF-8" />

    <property name="sonar.language" value="java" />

    <!-- property name="sonar.sources" value="${source.absolute.dir},${gen.absolute.dir}" / -->

    <property name="sonar.sources" value="${source.absolute.dir}" />

    <property name="sonar.binaries" value="${out.classes.absolute.dir}" />

    <property name="sonar.libraries" value="${project.target.android.jar},${jar.libs.dir}/*.jar" />

    <property name="sonar.scm.url" value="scm:svn:svn://vcs.xxx.com/trunk/my-android" />


    <!-- 더많은 소나 파라미터 : http://docs.codehaus.org/display/SONAR/Analysis+Parameters -->


    <sonar:sonar xmlns:sonar="antlib:org.sonar.ant" />


  </target>



굵은 글씨로 나와있듯이 -set-release-mode, -release-obfuscation-check, -compile 이렇게 3개의 타겟이 미리 실행되도록 해야 문제없이 소스분석이 이루어집니다. 


이렇게 만드시고 실제 수행은 Jenkins 같은 CI서버에서 수행하시면 지속적으로 소스코드 품질을 체크하실 수 있습니다. 저는 Jenkins 서버에 앱 소스분석용 Job을 만들고 아래와 같이 analysis.xml 빌드스크립트의 sonar 타겟을 실행하게 했습니다.(보통 며칠~몇주에 한번씩 수행하도록 설정)




그러면 아래와 같이 sonar 대시보드 페이지에서 내 앱 소스의 품질지표를 확인할 수 있어서 참 좋습니다.

(부끄럽게도 junit 등의 단위테스트 케이스는 없어서 테스트 커버리지는 0 퍼센트네요 -.-)



Posted by 에코지오
,