안드로이드: 196개의 글
네비게이션 드로어와 프래그먼트를 사용하다 보면, 현재 사용중인 프래그먼트에 해당하는 메뉴(액션 아이템)을 표시해야 할 때가 있습니다. (사실, 앱을 만들다 보면 아주 간단한 앱이 아닌 이상 프래그먼트 별로 각각 다른 메뉴를 제공하는 것이 일반적이죠) 이번 포스트에서는 네비게이션 드로어와 프래그먼트를 사용하면서, 프래그먼트에 포함된 메뉴를 처리하는 방법을 알아보겠습니다.이전 포스트 (2014/06/02 - 네비게이션 드로어 활용 - (1) 프래그먼트와 연동하기)에 이어서 진행되는 내용이므로, 이전 포스트에서 구현한 내용은 추가로 설명하지 않습니다. 궁금하신 분들은 이전 포스트를 참고해 주세요. 프래그먼트에 메뉴 구현하기 프래그먼트가 소개되지 않았던 예전에는 액티비티에 직접 메뉴를 구현했습니다. 하지만, 프..
네비게이션 드로어(Navigation drawer)는 최근 출시되는 대다수의 안드로이드 애플리케이션에서 사용하고 있는 UI 구성 요소입니다. 이전 포스트(2013/11/05 - 네비게이션 드로어(Navigation Drawer) 사용하기)에선 네비에게이션 드로어 자체에 대한 내용을 주로 다루었는데, 이번 포스트에서는 프래그먼트와 네비게이션 드로어를 함께 사용하여 실제 애플리케이션에 적용하는 방법에 대해 알아보겠습니다. 화면에 표시할 프래그먼트 생성 예제 프로젝트에선 다음 두 프래그먼트를 네비게이션 드로어와 연결하여 사용할 것입니다. TextFragment (문자열을 표시하는 프래그먼트)ImageFragment (이미지를 표시하는 프래그먼트) 텍스트를 표시하는 프래그먼트인 TextFragment를 먼저 생..
네비게이션 드로어(Navigation drawer)는 액션바와, 프래그먼트와 함께 애플리케이션의 깊이(Depth)를 크게 줄이고,사용자에게 조금 더 직관적인 UI를 제공할 수 있는 UI 요소입니다. 네비게이션 드로어의 주요 구성요소 및 주된 상호작용 방법을 그림으로 요약하면 다음과 같습니다. 네비게이션 드로어를 구성하기 위한 절차는 크게 다음과 같습니다. 1. 레이아웃 구성2. 드로어 내 메뉴 리스너 구현하기3. 액션바 토글 구현하기 (드로어 열림/닫힘 상태 감지 및 앱 아이콘을 이용한 열기/닫기 지원) 레이아웃 구성 네비게이션 드로어를 사용하려면 DrawerLayout을 최상위 뷰로 사용해야 합니다. DrawerLayout은 안드로이드 표준 플랫폼이 아닌 Support Library v4에 포함된 클래..
구글 플레이 스토어와 같이 三 이렇게 생긴 버튼을 클릭하거나, 왼쪽 부분을 가운데로 드래그 하면 navigation drawer가 나타납니다. 아래는 해당 예제 스크린샷입니다.
activity_main.xml MainActivity.java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTabHost = (TabHost) findViewById(android.R.id.tabhost); setupTab(new TextView(this), "Tab 1"); setupTab(new TextView(this), "Tab 2"); setupTab(new TextView(this), "Tab 3"); } private void setupTab(final View view, final String tag) { ..
MainActivity.javaimport android.app.TabActivity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.widget.ImageView;import android.widget.TabHost;import android.widget.TextView; public class MainActivity extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat..
MainActivity.javapackage com.example.com.test; import android.app.TabActivity;import android.content.Intent;import android.os.Bundle;import android.widget.TabHost; public class MainActivity extends TabActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ..
Handler handler = new Handler(); // 핸들러 사용 하기 위해 핸들러 객체를 생성하였다. Runnable run = new Runnable() // Runnable 인터페이스를 을 통하여 동작을 구성해야 한다. { @Override public void run() { Intent intent = new Intent( MainActivity.this, SubActivity.class); startActivity(goMain); finish(); // 현재 intent를 종료시킨다. } }; handler.postDelayed(run, 5000); // postDelayed() 메소드를 이용하면 일정 시간이 지난후에 함수를 동작시킬 수 있다. //위 예제의 경우 5초 후에 액티비티를..
HttpClient 사용하기 - AndroidStudioAndroid SDK API 23부터는 HttpClient를 더이상 지원하지 않아 HttpClient 를 사용하기 위해서는 추가적인 작업이 필요합니다.useLibrary 추가 하기버전 다운그레이드 하기 useLibrary 추가 하기build.gradle(Module:app)에useLibrary'org.apache.http.legacy' 항목을 추가해 주세요android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.tistory.codedragon.a52newsxml" minSdkVersion 15 targetSdkVersion 23 versio..
스튜디오 쓰다보면 아파치 jar 포함해도안되고.... 기본으로도 아파치 없다고 하고.. 그럼... 해결방법import org.apache.http.client.HttpClient;해결방법app 내에 build.gradle 파일을 열자======================================================================================apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "패키지명" minSdkVersion 11 targetSdkVersion 23 versionCod..