소셜 미디어 조각을 사용하여 Android 앱 프로그래밍 방법 - 인형

조각을 사용하여 Android 앱 프로그래밍 방법 - 인형

비디오: 하얀고양이 프로젝트 초반 핵심 가이드! [모바일 게임] 白猫プロジェクト - 기리 2024

비디오: 하얀고양이 프로젝트 초반 핵심 가이드! [모바일 게임] 白猫プロジェクト - 기리 2024
Anonim

여기에 사용 된 Android 앱 예제의 사용자 인터페이스에는 항목 목록, 목록에서 선택된 항목을 설명하는 세부 정보 패널 깊이있는 세부 정보 패널 등이 있습니다. 소형 스마트 폰 화면에서 각 패널은 별도의 활동 일 수 있습니다. 그러나 가로 모드의 태블릿 화면에는 두 개 이상의 패널을위한 공간이 있습니다.

아래 이미지는 세 개의 패널 중 두 개가 표시된 앱입니다. 왼쪽 패널에는 Android SDK 구성 요소 목록이 표시됩니다. 오른쪽 패널에는 왼쪽 목록에서 선택한 구성 요소에 대한 설명이 표시됩니다. 이 설명은 실제로 구성 요소의 SDK 설명서의 처음 몇 문장입니다.이 세부 묘사 패턴은 많은 사용자 인터페이스의 일부입니다.

하나의 활동에 두 개의 단편이 첨부되었습니다.

디스플레이를 만들려면 하나의 활동을 만듭니다. 액티비티에는 왼쪽에 조각이 있고 오른쪽에 조각이 두 개 있습니다. 왼쪽 패널은 앱 실행 중에 동일한 단편을 표시하므로 해당 단편을 활동의 레이아웃 파일에 선언 할 수 있습니다. 오른쪽 패널은 한 번에 하나의 단편을 표시하지만 단편은 앱이 실행되는 동안 변경됩니다. 오른쪽 패널에 프레임 레이아웃을 선언합니다.

단편의 완전한 클래스 이름 (com. allmycode. frag. ComponentNamesFragment)의 사용은 고의적입니다. 약식 이름 (예:.ComponentNamesFragment)은 겨자를 자르지 않습니다.

궁금한 점이있는 경우 안드로이드의 내장 된 세부 사항 ElementBackground는 오른쪽 절반 (사용자가 선택한 항목에 대한 세부 정보를 표시하는 것)과 같은 항목에 대해 동일한 모양을 제공합니다.

앱의 주요 활동 코드는 인상적입니다.

package com. allmycode. 파편; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. OS. 묶음; Public 클래스 AllPurposeActivity는 Activity를 확장합니다. {@Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R.형세. main);}}

아래 코드는 ComponentNamesFragment 클래스를 포함합니다. 첫 번째 예제의 레이아웃 덕분에 Android는 장치 화면의 왼쪽에 ComponentNamesFragment를 작성합니다.

package com. allmycode. 파편; 안드로이드 가져 오기. 앱. FragmentManager; 안드로이드 가져 오기. 앱. FragmentTransaction; 안드로이드 가져 오기. 앱. ListFragment; 안드로이드 가져 오기. OS. 묶음; 안드로이드 가져 오기. 전망. 전망; 안드로이드 가져 오기. 위젯. ArrayAdapter; 안드로이드 가져 오기. 위젯. 목록보기; 공용 클래스 ComponentNamesFragment는 ListFragment를 확장합니다. {final static String [] COMPONENTS = { "Activity", "Service", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (번들 savedInstanceState) {super. onActivityCreated (savedInstanceState); @Override public void onListItemClick (ListView l, View v, int index, long id) {// 인덱스가있는 조각 만들기 DocsFragment docsFragment = 새로운 DocsFragment (); 번들 args = 도우미. getBundleWithIndex (index); docsFragment. setArguments (args); // 백 스택을 지 웁니다. FragmentManager fragmentManager = getFragmentManager (); int backStackEntryCount = fragmentManager입니다. getBackStackEntryCount (); for (int i = 0; i

위 코드의 클래스는 Android의 ListFragment 클래스를 확장합니다. ListFragment는 목록을 표시하는 조각입니다. 프래그먼트의 라이프 사이클 초기에 위 코드의 코드는 프래그먼트의 목록 어댑터 (특히 ArrayAdapter)를 설정합니다. 그렇다면 조기에 "초기에"얼마나 빠릅니까?

ArrayAdapter 생성자의 첫 번째 매개 변수는 컨텍스트입니다. 하지만 기다려! 활동과 달리 단편은 컨텍스트가 아닙니다. 따라서 ArrayAdapter 생성자의 첫 번째 매개 변수에 this 키워드를 사용할 수 없습니다. 다행히 조각에는 getActivity 메소드가있다. getActivity의 호출은 프래그먼트가 첨부 된 활동을 가져옵니다. 따라서 ArrayAdapter 생성자의 첫 번째 매개 변수에 대해 getActivity를 호출 할 수 있습니다. 물론 프래그먼트가 기존 활동에 첨부 될 때까지는 getActivity를 호출 할 수 없습니다. 이것이 프래그먼트의 onActivityCreated 메소드가 오버라이드 된 이유입니다. 안드로이드는 조각을 첨부하고 활동의 onCreate 메소드를 호출 한 후 onActivityCreated를 호출합니다. 모든 것이 계획대로 작동합니다.

안드로이드. 앱. 액티비티 클래스의 조부모 클래스는 안드로이드입니다. 함유량. 문맥. 하지만 안드로이드. 앱. 프래그먼트 클래스의 상위 클래스는 보통 오래된 java입니다. 랭. 목적. 따라서 활동 코드에서 키워드 this는 컨텍스트를 나타냅니다. 그러나 조각의 코드에서 키워드 this는 문맥을 참조하지 않습니다.

위의 예에서 ArrayAdapter의 생성자에는 세 개의 매개 변수가 있습니다.

첫 번째 매개 변수는 컨텍스트입니다.이 매개 변수는 생성자를 onActivityCreated 메소드 안에 넣도록합니다.

두 번째 매개 변수는 표준 Android 레이아웃 인 simple_list_item_1입니다.

simple_list_item_ 1 레이아웃은 이미지의 왼쪽에 보이는 모양을 만듭니다. Android에는 이러한 표준 레이아웃이 많이 있습니다. 사용 가능한 레이아웃을 모으려면 Android 개발자 사이트를 방문하십시오.

세 번째 매개 변수는 목록에 나타날 항목의 모음입니다.

이 예에서 해당 항목은 동일한 예에서 선언 된 COMPONENTS 배열에서 가져온 것입니다.

ListActivity와 마찬가지로 ListFragment에는 onListItemClick 메서드가 있습니다. DocsFragment, FragmentTransaction 및 FragmentManager로 작업하여 클릭에 응답 할 수 있습니다.

DocsFragment는 위 이미지의 오른쪽을 나타냅니다.

프래그먼트 트랜잭션은 프래그먼트로 수행하는 일들의 묶음입니다. 예를 들어 하나의 조각을 다른 조각으로 교체하도록 설정하는 것은 트랜잭션입니다. 조각 관리자는 이름에서 알 수있는 것을 수행합니다. 파편의 도착과 출발을 관리합니다.

조각을 사용하여 Android 앱 프로그래밍 방법 - 인형

편집자의 선택

계획하기 - 인형

계획하기 - 인형

학습 계획 PHR 또는 SPHR 시험을 준비하는 데 사용할 수있는 도구입니다. 따라서 귀하의 학습 계획이 귀하의 필요에 맞게 이루어지기를 바랍니다. 고려해야 할 사항은 시험 날짜, 공부에 바칠 수있는 시간, 귀하의 구체적인 강점 및 목표를 포함해야합니다.

PHR / SPHR 시험을 치러야합니까? - 인형

PHR / SPHR 시험을 치러야합니까? - 인형

일부 유명한 이론가들은 시험을 치러야하거나 마지막 순간 (시험 전주 또는 밤)까지 공부를 연기하는 것은 쓸모 없다고 말합니다. 단기 기억력 증가는 종종 다른 곳에 정보가 손실되는 것을 희생합니다. 왜냐하면 심야 학습이 정상적인 수면 패턴을 위반하는 경우 특히 그렇습니다. 왜냐하면 ...

편집자의 선택

Squarespace에서 웹 사이트의 색상을 변경하는 방법 - 인형

Squarespace에서 웹 사이트의 색상을 변경하는 방법 - 인형

디자인 응용 프로그램을 사용하면 컬러 휠에서 색상을 선택할 수 있으므로 Squarespace의 스타일 편집기에서 색상을 선택하면 집에서 편안하게 느낄 수 있습니다. 그러나 컬러 휠을 한번도 본 적이 없다면 사용하기 쉽기 때문에 걱정하지 마십시오. 바퀴에서 색상을 선택하는 방법 색상을 변경하려면 ...

Squarespace에서 적절한 크기와 가치를 선택하는 방법 - 인형

Squarespace에서 적절한 크기와 가치를 선택하는 방법 - 인형

귀하의 웹 사이트의 너비와 Squarespace의 텍스트 및 이미지의 크기에 따라 작업 할 무제한 캔버스가있는 것처럼 느낄 수 있습니다. 어떤면에서 이것이 사실이지만, Squarespace는 웹 사이트의 경계를 기본 크기로 설정하는 좋은 일을합니다.

Squarespace에서 상점 설정을 조정하는 방법 - 인형

Squarespace에서 상점 설정을 조정하는 방법 - 인형

사이트 관리자 → 상거래 → 점포 설정으로 이동하면 화면 상단에 상점이 작동하지 않음을 나타내는 큰 노란색 상자가 나타납니다. 스토어를 판매하려면 스토어를 사이트에서 지불을 수락하는 데 사용되는 지불 처리 서비스 인 Stripe에 연결해야합니다. ...

편집자의 선택

이 코드 및 Minecraft - 더미

이 코드 및 Minecraft - 더미

로 무작위 인 경우 > 은 임의로 지정되며 Minecraft에서 코드를 작성할 때 임의의 정수를 사용하여 코드는 임의의 방식으로 동작합니다. 정수는 숫자입니다. LearnToMod의 임의의 정수 수학 블록은 코드가 실행될 때마다 두 숫자 (예 : 1과 10) 사이의 임의의 숫자를 선택합니다. Minecraft에서 정수 사용하기. The ...

Minecraft Minigame - dummy

Minecraft Minigame - dummy

를 디자인하면 게임을 디자인해야합니다. Gameplay Loop는 게임을 재미 있고 도전적이며 완벽하게 진행할 수있는 간단한 과정입니다. Gameplay Loop에는 네 부분으로 구성되어 있습니다. 시작 : 기본 장면을 만듭니다. 목표 : 이기기위한 방법을 추가하고 ...

Minecraft에서 물과 얼음 효과를 창조하기 - 더미

Minecraft에서 물과 얼음 효과를 창조하기 - 더미

일부 실제 물리학이 게임 내에서 작동한다는 것입니다. 예를 들어, 물을 가지고 얼음을 넣으면 얼어 붙습니다! 좋아요, 현실 세계에서 얼음을 첨가해도 물이 얼지 않을 수도 있지만 더 추워집니다. 당신은 이것을 확인하실 수 있습니다 ...