Android 개발의 숨겨진 기능?


121

지금 까지 추적해온 숨겨진 기능 시리즈에 아직 Android 숨겨진 기능 게시물 이 없다는 사실에 놀랐습니다 .

숨겨진 기능 시리즈는 특정 언어를 처음 접하는 사람들에게 좋습니다. 로프와 특정 귀중한 트릭을 모두 한 곳에서 보여줍니다. 훌륭한 아이디어라고 생각합니다. 전문가조차도 들어 보지 못한 속임수를 발견하기도합니다.

저는 Android 개발을 시작하고 있으며 숨겨진 기능, 팁, 트릭 및 함정에 대해 듣고 싶습니다.

자, 다음은 Android의 숨겨진 기능 은 무엇입니까?

답변:


105

숨겨진 숨겨진 기능이 너무 많지 않기를 바랍니다.하지만 Android에서 사용할 수있는 잘 알려지지 않은 직관적이지 않은 기능 중 몇 가지가 있습니다.

  • 플랫폼 및 Google 이외의 모든 기본 앱의 모든 소스 코드를 사용하여 Android 오픈 소스 프로젝트 에서 검색, 다운로드, 대여 또는 도용 할 수 있습니다 .
  • 리소스 프레임 워크를 사용 하여 앱의 현지화 된 버전을 만드는 것은 다른 언어 (예 : 프랑스어)로 된 XML 파일이 포함 된 주석이 추가 된 새 하위 폴더 (예 : values-fr)를 추가하는 것만 큼 간단합니다. Android는 런타임에 적합한 폴더를 선택합니다.
    • 동일한 리소스 프레임 워크를 사용하면 이름이 지정된 폴더에 놓기 만하면 다양한 하드웨어 구성, 화면 픽셀 밀도 및 입력 장치에 대한 대체 레이아웃을 사용할 수 있습니다.
  • Android 1.6부터 앱에서 홈 화면 빠른 검색 창 검색 결과에 표시되는 결과를 생성 할 수 있습니다. 이를 사용자 지정 검색 제안이라고 합니다.
  • 인 텐트 및 인 텐트 필터를 사용하면 앱에서 작업 완료에 대한 익명 요청을 만들고 서비스 할 수 있습니다 (예 : Where 앱은 Open Table 앱에서 테이블 예약을 요청할 수 있음 ).
    • 어떤 애플리케이션이 해당 요청을 이행 할 수 있는지 알 필요없이 알 수없는 애플리케이션에 조치를 완료하도록 요청할 수 있습니다.
    • 앱은 알 수없는 앱의 요청을 이행하여 어떤 앱이 요청을할지 알 필요없이 작업을 완료 할 수 있습니다. 이 권리를 사용하면 '기본'Twitter 앱 또는 예약 앱 등을 만들 수 있습니다.
  • 알람 을 사용하면 앱이 실행되고 있지 않더라도 미리 정해진 시간에 작업을 완료하도록 앱을 설정할 수 있습니다.
    • setInexactRepeating 메서드를 사용하여 정기적 인 이벤트 (예 : 서버 폴링 또는 업데이트)를 예약 하면 많은 배터리 수명을 절약 할 수 있습니다 . 임시가 아니라 동시에 발생하도록 여러 앱의 알람을 동기화합니다.
  • 환경 설정 프레임 워크를 사용하여 시스템 설정과 동일한 스타일로 앱에 대한 설정 화면을 만들 수 있습니다. 시스템 설정 화면 (예 : 보안 및 위치)을 애플리케이션의 설정 계층에 통합 할 수도 있습니다.
  • 은 Using AudioTrack와 가지 audiorecord API를, 당신은에서와 PCM 오디오 버퍼에 직접 오디오 데이터를 스트리밍 할 수 있습니다.

35

은 / 도구 디렉토리에있는 도구 의 SDK는 언급을받을 자격 :

  • 우리 디자이너는 특히 draw9patch신축성있는 버튼을 디자인하는 데 도움이되었습니다. 그는 저에게 애셋을 주었고 배경색에서 9 패치 드로어 블로 변경했으며 이제 텍스트에 맞게 사용자 정의 버튼, 둥근 모서리 등을 늘 렸습니다.
  • ddms이클립스 플러그인에도 통합되어 있습니다. 엄청나게 강력하지만 스크린 샷을 찍는 데 사용합니다.
  • adb-명령 줄에서 장치 또는 에뮬레이터와 상호 작용합니다. 오작동하는 앱을 설치하고 제거하는 데 유용하다는 것을 알았지만이를 사용하여 데스크톱의 터미널 창에서 내 장치의 로그를 추적합니다.
  • sqlite3 -설치된 데이터베이스와 상호 작용하고 쿼리를 시도하는 데 적합합니다.
  • apkbuilder, zipalign, aapt- 헤드리스 실행을위한 좋은 빌드
  • monkey 앱 퍼즈 테스트를 위해.

나는에 대한 세 가지 설계 골라도 것 성능 , 응답 성완벽 성 , 그러나 나는 또한 같은 제 4 추가 할 것 (배터리) 생명에 대한 코딩을 .

Javadoc은 때때로 약간 희박 할 수 있지만 소스를 바로 볼 수있는 것은 없습니다 .

또한 Google 직원작성한 샘플 앱 을 많이 보유하고있는 것도 매우 유용 합니다.


1
또 다른 멋진 도구 레이아웃을 놓쳤습니다.
100rabh

내가 항상 사용하는 또 다른 좋은 점은 hierarchyviewer입니다.
Artem Russakovskii 2011 년

25

그럼 시작하겠습니다.


내가 생각하기에 좋은 숨겨진 기능은 Android 문서의 모범 사례입니다. 반응 형 및 빠른 앱을 디자인하기위한 많은 유용한 팁이 나열되어 있습니다.

모범 사례 섹션은 다음과 같습니다.

  • 다중 화면 지원 (다양한 크기 및 해상도)
  • UI 지침
    • 아이콘 디자인
    • 앱 위젯 디자인
    • 활동 및 작업 설계
    • 메뉴 디자인
  • 성능을 고려한 설계
  • 반응성을 고려한 설계
  • 원활한 설계

또 다른 숨겨진 기능은 이러한 문서를 SDK의 일부로 오프라인에서 사용할 수 있다는 것입니다. 처음에는 아침 기차 타기를 위해 매일 몇 페이지를로드했지만 SDK 디렉토리에서 찾은 후에는 더 이상 그렇게 할 필요가 없었습니다.


Eclipse를 사용하는 경우 XML 파일의 형식을 잘 지정하지 않고 그렇게 할 때 매우 일관성이 없음을 알 수 있습니다 (때로는 속성을 새 줄로 분할하고 때로는 그렇지 않음). 이를 수정하려면 Ctrl-Shift-F (자동 포맷)를 누르십시오. Ctrl-Shift-F가 사용하는 규칙은 Window-> Preferences-> XML-> XML Files-> Editor에 있습니다.


1
마지막 작업은 확실히 내 작업 흐름의 일부가 될 것입니다. 이것은 지난주 동안 나를 짜증나게했다 ... 감사합니다 !!
Mikle

14

Android는 <shape>SVG와 유사한 드로어 블로 사용할 수있는 XML을 지원합니다 . 불행히도 그들에 대한 문서가 없습니다. 이것이 내가 찾을 수있는 최고의 정보입니다.

http://escomic.net/217


4
셰이프에 대한 모든 xml 기능에 대한 전체 문서가 포함 된 idunnolol.com/android/drawables.html 도 있습니다 . 클릭하면 색상이 변경되는 둥근 코너 배경을 수행하거나 사용자 정의 배경 드로어 블 대신 XML 정의 그라디언트를 만드는 데 모양이 매우 중요 할 수 있습니다.
Janusz

하나의 xml 문서에 여러 모양을 추가 할 수 있습니까? 예를 들어 두 개의 원과 직사각형?
skyfoot 2010

13

또한 모범 사례와 관련하여 Android 코딩 스타일을 확인하는 것이 좋습니다.

http://source.android.com/source/code-style.html

이클립스 코드와 개발 / ide / eclipse의 플랫폼 소스 코드에있는 포매터 (android-formatting.xml, android.importorder)를 가져옵니다.


2
Eclipse 포맷터 용 코드를 얻기 위해
건너

7

/ tools의 hierarchyviewer 를 사용하면 패딩, 위치 지정, 뷰 계층 구조 등 뷰 레이아웃을 디버그 / 분석 할 수 있습니다.

사물이 왜 그대로 배치되었는지 알아 내려고 할 때 많은 시간을 절약했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.