">

제주시 맛집 어마장장


   제주 공항에 도착했는데 식사 시간이라면, 거기다 해산물 가득한 무언가를 먹고 싶다면  여기를 찾아가보는건 어떨까?

'어마장장' 이라는 곳이다. 제주시에서 차로 멀리 떨어져 있지 않은 곳에 있다. 제주도에서 맛집이라고 하는 곳이 많은데 그 중에서도 내 입에 맞는 곳을 찾기란 나에게 어려운 일이었다. 하지만 '어마장장' 이라는 가게가 나의 '아점'을 만족시켜 주었다. 


  주차장 입구는 막지 말아달라는 입간판이 보인다. 주차장은 차량이 3~4대 정도 밖에 들어가지 못할만큼 협소한데 음식 맛에 비하면 너무나도 부족한 공간이 아닐까 하는 생각이 든다. 메뉴는 '해물 뚝배기', '전복 뚝배기', '흑돼지 돈까스', '크림 전복 스프'가 있다. 제육 볶음이 기본 찬으로 나오는데 이것도 짜지도, 맵지도 않으면서 식욕을 돋우는 맛이난다. 

  좀더 시원한 국물을 맛보고 싶다면 '해물 뚝배기'를 추천한다.(아내 입맛) 하지만 개인 적으로 3천원 더 내고 '전복 뚝배기'를 먹는 것이 더 낫다고 생각한다.   어마장장에서 가장 점수를 높게 주고 싶은 부분은 저렴한 재료로 음식을 만들지 않는다는 것이고, 정직하게 음식을 만드는 느낌을 준다는 것이다. GMO 제품을 사용하지 않고, 천연 조미료를 사용한다. 인공 조미료를 사용하지 않아도 싱싱한 해산물을 사용해서 국물에는 감칠맛이 충분히 느껴진다. 재료에서 또 다른 점은 우리가 보통 접하던 새우가 아닌 좀 다르게 생긴 새우가 들어있다.(이름을 들었는데 잊어버렸음.. 아는 분은 뎃글좀..) 우리는 '해물 뚝배기'와 '전복 뚝배기'를 시켰다. 국물 맛이 미세하게 차이가 난다. 가격은 아래 그림 참조(해물 뚝배기: 1만원, 전복 뚝배기: 1.3만원 - 2017년 7월 기준)





Viewpager 쉽게 만들어 보자


구성은 MainActivity 하나에 Fragment 3개, 그리고 PagerAdapter을 생성합니다. 


프로젝트를 BlankActivity로 하나 생성합니다. 


1. gradle의 dependencies에 코드를 추가합니다. 

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:25.2.0'
}


2. TabFragment1, TabFragment2, TabFragment3 으로 Fragment를 3개 생성합니다. 

각각의 Fragment는 화면 전환이 되면 알아볼 수 있게 TextView 등을 추가합니다. 


3. MainActivity에 다음과 같이 작성합니다. 

public class MainActivity extends AppCompatActivity {

private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Adding Toolbar to the activity
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

// Initializing the TabLayout
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
tabLayout.addTab(tabLayout.newTab().setText("First"));
tabLayout.addTab(tabLayout.newTab().setText("Second"));
tabLayout.addTab(tabLayout.newTab().setText("Third"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

// Initializing ViewPager
viewPager = (ViewPager) findViewById(R.id.pager);

// Creating TabPagerAdapter adapter
TabPagerAdapter pagerAdapter = new TabPagerAdapter(getSupportFragmentManager(),
tabLayout.getTabCount());
viewPager.setAdapter(pagerAdapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

// Set TabSelectedListener
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(TabLayout.Tab tab) {

}

@Override
public void onTabReselected(TabLayout.Tab tab) {

}
});
}
}


4. TabPagerAdapter.class 파일을 하나 생성 한 뒤에 다음과 같이 작성합니다. 

public class TabPagerAdapter extends FragmentStatePagerAdapter {

// Count number of tabs
private int tabCount;

public TabPagerAdapter(FragmentManager fm, int tabCount) {
super(fm);
this.tabCount = tabCount;
}

@Override
public Fragment getItem(int position) {

// Returning the current tabs
switch (position) {
case 0:
TabFragment1 tabFragment1 = new TabFragment1();
return tabFragment1;
case 1:
TabFragment2 tabFragment2 = new TabFragment2();
return tabFragment2;
case 2:
TabFragment3 tabFragment3 = new TabFragment3();
return tabFragment3;
default:
return null;
}
}

@Override
public int getCount() {
return tabCount;
}
}


5. 빌드해서 확인하면 탭을 클릭해서도 화면 이동이 되고, 쓸어 넘겨서도 화면 이동이 가능하다. 


'프로그래밍 > Android' 카테고리의 다른 글

탭(Tab) 쉽게 만들어 보자  (2) 2017.05.19
AsyncTask 쉬운 따라하기  (0) 2017.05.15
Retrofit 단순 예제  (0) 2017.05.11
Preference  (0) 2017.05.08
리스트뷰 아이템 내용 가져오기  (0) 2017.03.21

탭(Tab) 쉽게 만들어 보자


구성을 설명하자면 뼈대가 되는 Activity 위에 Fragment로 화면을 변경해 주는 것이다.



프로젝트를 생성한다. Blank Activity로 생성!


1. gradle의 dependencies에 코드를 추가한다.

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:25.2.0'
}


2. TabFragment1, TabFragment2, TabFragment3와 BlankFragment 의 이름으로 Fragment 4개를 생성한다. 

TabFragment1, TabFragment2, TabFragment3는 화면 전환이 되면 알아 볼 수 있도록 TextView 등을 추가한다.

BlankFragment에는 빈 화면이 되도록 구성한다. 


3. MainActivity에 다음과 같이 작성한다. 

public class MainActivity extends AppCompatActivity {

private TabLayout tabLayout;

private android.support.v4.app.Fragment fragment;
private android.support.v4.app.FragmentManager fragmentManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Tab
fragmentManager = getSupportFragmentManager();

// Adding Toolbar to the activity
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

// Initializing the TabLayout
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
tabLayout.addTab(tabLayout.newTab().setText("First"));
tabLayout.addTab(tabLayout.newTab().setText("Second"));
tabLayout.addTab(tabLayout.newTab().setText("Third"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);


fragment = new TabFragment1();
fragmentManager.beginTransaction().replace(R.id.content_main, fragment).commit();

// Set TabSelectedListener
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
switch (tab.getPosition()) {
case 0:
fragment = new TabFragment1();
fragmentManager.beginTransaction().replace(R.id.content_main, fragment).commit();
break;
case 1:
fragment = new TabFragment2();
fragmentManager.beginTransaction().replace(R.id.content_main, fragment).commit();
break;
case 2:
fragment = new TabFragment3();
fragmentManager.beginTransaction().replace(R.id.content_main, fragment).commit();
break;
default:
fragment = new TabFragment1();
fragmentManager.beginTransaction().replace(R.id.content_main, fragment).commit();
}

}

@Override
public void onTabUnselected(TabLayout.Tab tab) {

}

@Override
public void onTabReselected(TabLayout.Tab tab) {

}
});

}
}


4. layout의 activity_main.xml을 다음과 같이 작성한다. 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sauce.mytablayout.MainActivity">

<!--Custom Toolbar-->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

<fragment
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.sauce.mytablayout.BlankFragment" />

</LinearLayout>



'프로그래밍 > Android' 카테고리의 다른 글

Viewpager 쉽게 만들어 보자  (0) 2017.05.25
AsyncTask 쉬운 따라하기  (0) 2017.05.15
Retrofit 단순 예제  (0) 2017.05.11
Preference  (0) 2017.05.08
리스트뷰 아이템 내용 가져오기  (0) 2017.03.21

+ Recent posts