-
Notifications
You must be signed in to change notification settings - Fork 2
Home
baas.io ์์๋ ์ฌ์ฉ์(ํ์) ๊ด๋ฆฌ, ํ์ผ ์ /๋ค์ด๋ก๋, Push ๋ฉ์์ง ์ก/์์ , ๊ณ ๊ฐ์ผํฐ ๋ฑ์ ๊ธฐ๋ฅ์ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด ์ค, ๊ณ ๊ฐ์ผํฐ๋ฅผ ์ฝ๊ฒ ์ด์ฉํ์ค ์ ์๋๋ก UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํด๋๋ฆฝ๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์๋ฉด, ๊ธฐ๋ณธ UI๊ฐ ๊ฐ์ถฐ์ง ๊ณ ๊ฐ์ผํฐ๋ฅผ ์ฝ๊ฒ ์ด์ฉํ์ค ์ ์์ผ๋ฉฐ, ์คํ ์์ค๋ก ์ ๊ณต๋์ด ์ํ๋ UI ํํ๋ก ์ฝ๊ฒ ์์ ํ์ฌ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค.
๊ณ ๊ฐ์ผํฐ๋ FAQ(์์ฃผํ๋ ์ง๋ฌธ)๋ฅผ ์ ๊ณตํ๋ฉฐ, FAQ์ ์๋ ๊ฒฝ์ฐ ๊ฐ๋ฐ์์๊ฒ ๋ฌธ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฐธ๊ณ ๋ก, ํ์ฌ ๊ฐ๋ฐ์์๊ฒ ๋ฌธ์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ์๋ ์ฑ์ ๋ก๊ทธ์ธ๋ ์ฌ์ฉ์๋ง ๋ฌธ์ํ ์ ์์ต๋๋ค.
- baas.io์ ๊ฐ์ ์ด ํ์ํฉ๋๋ค. baas.io ๊ฐ์ ํ์ด์ง์์ ๊ฐ์ ํ์ค ์ ์์ต๋๋ค.
- ๊ณ ๊ฐ ์ผํฐ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ baas.io Android SDK๊ฐ ํ์ํฉ๋๋ค. Android ๊ฐ๋ฐ์ ์ต์ํ์ง ์์ ๊ฐ๋ฐ์ ๋ถ๋ค์ Getting Started๋ฅผ ํตํด ๊ธฐ๋ณธ ์ค์ ์ ์๋ฃํ์๊ธธ ๊ถ์ฅํฉ๋๋ค.
- Android ADT ๋ฐ SDK๋ฅผ ํญ์ ์ต์ ์ผ๋ก ์ ์งํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๊ฐ๋ฐํด๋ก Eclipse๋ฅผ ์ด์ฉํ์๋ ๋ถ๋ค์ Installing the Eclipse Plugin ํ์ด์ง๋ฅผ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.
- Text file encoding ๋ฐฉ๋ฒ์ด UTF-8 ๊ธฐ์ค์ผ๋ก ๊ฐ๋ฐ๋์ด ์์ต๋๋ค. ์ฌ์ฉํ์๋ ๊ฐ๋ฐํด์ Text file encoding ์ค์ ์ด UTF-8๋ก ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
๊ณ ๊ฐ์ผํฐ๋ฅผ ์ด์ฉํ์๊ธฐ ์ํด์๋ ๋จผ์ ๊ฐ๋จํ ๊ธฐ๋ณธ ์ค์ ์ด ํ์ํฉ๋๋ค. ๊ด๋ จ ์ค์ ์ Getting Started๋ฅผ ์๋ฃํ์๊ณ ์๋ ์์ ์ ์งํํ์๊ธฐ ๋ฐ๋๋๋ค.
์ดํ ๊ฐ์ด๋๋, Getting Started๋ฅผ ์๋ฃํ์ฌ, ๊ฐ๋ฐํ์ค ์ฑ์ ํ๋ก์ ํธ์ baas.io SDK์ ๊ธฐ๋ณธ์ค์ ์ด ์๋ฃ๋ ์ํ์์ ๊ฐ์ ํ๊ณ ์์ต๋๋ค.
๊ณ ๊ฐ์ผํฐ๋ ์คํ ์์ค๋ก ์ ๊ณต๋ฉ๋๋ค. clone์ ๋ฐ์ผ์๊ฑฐ๋ fork๋ฅผ ํ์ ์ ์์ ๋กญ๊ฒ ์ด์ฉํ์ค ์ ์์ต๋๋ค.
git clone https://github.com/baasio/baas.io-helpcenter-android.git
์๋์ ๋งํฌ์์ zipํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ํ์๋ ์์น์ ์์ถํด์ ํฉ๋๋ค.
https://github.com/baasio/baas.io-helpcenter-android/archive/master.zip
-
"File-Import" ๋ฅผ ์ ํํฉ๋๋ค.
-
Import ๋ค์ด์ผ๋ก๊ทธ์์ "General-Existing Projects into Workspace"๋ฅผ ์ ํํ๊ณ "Next"๋ฒํผ์ ์ ํํฉ๋๋ค.
-
๋ค์ Import ๋ค์ด์ผ๋ก๊ทธ ํ๋ฉด์์ "Select root directory"์ "Browse"๋ฒํผ์ ๋๋ฌ ๋ค์ด๋ก๋ ๋ฐ์ ํด๋๋ฅผ ์ ํํ๊ณ , "Projects:"์์ ActionBarSherlock, BaasioHelpCenter, BaasioHelpCenterSampleProject ํ๋ก์ ํธ๋ฅผ ์ ํํ๊ณ "Finish"๋ฅผ ์ ํํฉ๋๋ค.
BaasioHelpCenterSampleProject ํ๋ก์ ํธ๋ ์ํ ์ฑ์ผ๋ก, ๊ณ ๊ฐ ์ผํฐ๋ฅผ ์คํํ๊ธฐ ์ํ ์ํ์ด ์ด๋ฏธ ๊ตฌํ๋์ด ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๊ธฐ๋ณธ์ค์ ์ ํ์ จ๋ค๋ฉด ์ด๋ฏธ baas.io Android SDK๊ฐ jarํ์ผ ๋๋ ํ๋ก์ ํธ๋ก Import๋์ด ์์ ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ, ๊ณ ๊ฐ์ผํฐ ํ๋ก์ ํธ์ libs ํด๋์๋ ์ด๋ฏธ baas.io Android SDK์ jarํ์ผ(baasioandroid.jar)์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์, baas.io Android SDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค๋ณต๋์ง ์๋๋ก ์ ๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
์์ฑํ์ ํ๋ก์ ํธ์ baasioandroid.jarํ์ผ๊ณผ ๊ณ ๊ฐ์ผํฐ ํ๋ก์ ํธ์ baasioandroid.jarํ์ผ์ด ๊ฐ์ ๊ฒ์ด๋ฏ๋ก, ํน๋ณํ ์์ ์์ด๋ ๋ฌธ์ ์์ด ๋์ํ ๊ฒ์ ๋๋ค.
๋ง์ฝ, baasioandroid.jar ํ์ผ์ด ๋ฌ๋ผ ์๋ฌ๊ฐ ๋๊ฑฐ๋ ์ค๋์ํ ๊ฒฝ์ฐ, ์๋ ๋งํฌ์์ ์ต์ SDK๋ฅผ ๋ฐ์ผ์ ์, ๋ ํ๋ก์ ํธ์ libs ํด๋์์ baasioandroid.jarํ์ผ์ ์ต์ ์ผ๋ก ๋ง์ถฐ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
BaasioHelpCenter ํ๋ก์ ํธ์ ์ด๋ฏธ BaasioAndroid ํ๋ก์ ํธ๊ฐ jar(baasioandroid.jar)๋ก ํฌํจ๋์ด ์์ผ๋ฏ๋ก, BaasioAndroid ํ๋ก์ ํธ๋ก ๋์ผํ๊ฒ ์ ๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
์๋์ ์์๋ก ์ ๋ฆฌํ์๊ธฐ ๋ฐ๋๋๋ค.
- BaasioHelpCenter ํ๋ก์ ํธ์ libs ํด๋์์ baasioandroid.jar ํ์ผ ์ญ์ ํฉ๋๋ค.
- BaasioHelpCenter ํ๋ก์ ํธ์ Properties > Android > Library์์ Add๋ฒํผ์ ๋๋ฌ BaasioAndroid ํ๋ก์ ํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ์์ฑํ์ ํ๋ก์ ํธ์ Properties > Android > Library์ BaasioAndroid ํ๋ก์ ํธ๊ฐ ์ถ๊ฐ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
- ActionbarSherlock > BaasioHelpCenter ์์ผ๋ก Clean Build๋ฅผ ํฉ๋๋ค.
์ด์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ BaasioHelpCenter ํ๋ก์ ํธ๋ฅผ ์ฐ๋ํ์๊ธฐ ๋ฐ๋๋๋ค.
-
์์ฑํ์ ํ๋ก์ ํธ์์ ์ค๋ฅธ์ชฝ ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ์ฌ Properties๋ฅผ ์ ํํฉ๋๋ค.
-
Properties ๋ค์ด์ผ๋ก๊ทธ์์ Android๋ฅผ ์ ํํ๊ณ ์๋์ ์๋ Library์์ Add๋ฒํผ์ ์ ํํฉ๋๋ค.
-
Projection Selection ๋ค์ด์ผ๋ก๊ทธ์์ BaasioHelpCenterํ๋ก์ ํธ๋ฅผ ์ ํํ๊ณ , "OK"๋ฅผ ์ ํํฉ๋๋ค.
AndroidMenifest.xml์ ์์ ํ์ฌ, baas.io ๊ณ ๊ฐ์ผํฐ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋ฉด์ Activity๋ฅผ ๊ฐ๋ฐํ์๋ ์ฑ์ ๋ฑ๋ก์ ํฉ๋๋ค.
baas.io ๊ณ ๊ฐ์ผํฐ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ก์ ํธ์ AndroidMenifest.xmlํ์ผ์ ์ด๋ฏธ ํด๋์ค๋ฑ๋ก์ ์์ ๊ฐ ์์ต๋๋ค. BaasioHelpCenter ํ๋ก์ ํธ์ AndroidMenifest.xmlํ์ผ์์ "<!-- ๊ณ ๊ฐ์ผํฐ -->"๋ผ๋ ์ฃผ์์ด ๋ฌ๋ฆฐ ๋ถ๋ถ์ ๊ทธ๋๋ก ๋ณต์ฌํด์ ๊ฐ๋ฐํ์๋ ์ฑ์ AndroidMenifest.xmlํ์ผ์ '๋ถ์ฌ๋ฃ๊ธฐ' ํ์๋ฉด ๋ฉ๋๋ค.
์ด๋, ๊ณ ๊ฐ์ผํฐ ํ๋ฉด์ ์คํ์์ผ์ค ํ๋ฉด์ Activity๋ฅผ ๋ฑ๋กํด ์ฃผ์ด์ผํฉ๋๋ค. <!-- ๊ณ ๊ฐ์ผํฐ๋ฅผ ์คํ์์ผ์ค ํ๋ฉด์ Activity ํด๋์ค ๋ฑ๋ก --> ์ฃผ์ ๋ถ๋ถ์ <meta-data>ํ๊ทธ์ "{๊ณ ๊ฐ์ผํฐ๋ฅผ ์คํ์์ผ์ค ํ๋ฉด์ Activityํด๋์ค์ ์ ์ฒด Package ๊ฒฝ๋ก}" ๋ถ๋ถ์ ์์ ํ์ฌ ๋ฑ๋ก์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ๊ผญ, ์ ์ฒด package ๊ฒฝ๋ก๋ก ๋ฃ์ด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์๋ฅผ๋ค์ด, "com.example.sample"์ด๋ผ๋ Package ๊ฒฝ๋ก์ TestActivity์์ ์คํ์์ผ์ค๋ค๊ณ ๊ฐ์ ํ์๋, "com.example.sample.TestActivity"๋ก ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ ์์ ์ผ๋ก ๋ฑ๋ก์ด ๋๋ฉด, ์คํ์์ ๊ณ ๊ฐ์ผํฐ ๋ฉ์ธํ๋ฉด์ ์ข์ธก์๋จ Navigate up ๋ฒํผ์ ๋๋ ์ ๋, <meta-data>ํ๊ทธ์ ๋ฑ๋ก๋ Activity์ ํด๋นํ๋ ํ๋ฉด์ผ๋ก ๋์๊ฐ๊ฒ๋ฉ๋๋ค.
<!-- ์ ์ญ ํด๋์ค ๋ฑ๋ก -->
<application
android:name="{package๋ช
}.BaasioApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
...
<!-- ๊ณ ๊ฐ์ผํฐ -->
<activity
android:name="com.kth.baasio.helpcenter.ui.HelpCenterActivity"
android:configChanges="orientation|screenSize"
android:label="@string/title_activity_help"
android:theme="@style/Theme.helpcenter"
android:windowSoftInputMode="stateHidden|adjustUnspecified" >
<!-- ๊ณ ๊ฐ์ผํฐ๋ฅผ ์คํ์์ผ์ค ํ๋ฉด์ Activity ํด๋์ค ๋ฑ๋ก -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="{๊ณ ๊ฐ์ผํฐ๋ฅผ ์คํ์์ผ์ค ํ๋ฉด์ Activityํด๋์ค์ ์ ์ฒด Package ๊ฒฝ๋ก}" />
<meta-data
android:name="android.app.default_searchable"
android:value="com.kth.baasio.helpcenter.ui.SearchableFaqActivity" />
</activity>
<activity
android:name="com.kth.baasio.helpcenter.ui.SearchableFaqActivity"
android:exported="false"
android:label="@string/title_activity_help"
android:launchMode="singleTop"
android:theme="@style/Theme.helpcenter" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.kth.baasio.helpcenter.ui.HelpCenterActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/helpcenter_searchable" />
</activity>
<activity
android:name="com.kth.baasio.helpcenter.ui.FaqDetailActivity"
android:label="@string/title_activity_help"
android:theme="@style/Theme.helpcenter" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.kth.baasio.helpcenter.ui.HelpCenterActivity" />
</activity>
</application>
์ด์ ๊ณ ๊ฐ์ผํฐํ๋ฉด์ Activity(HelpCenterActivity)๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
์๋ ์์ ๋ BaasioHelpCenterSample ํ๋ก์ ํธ์ MainActivity์ ์์ค์ฝ๋์ ๋๋ค. ์ด ์์ค์ฝ๋์ ๊ฐ์ด startActivity๋ฅผ ํตํด HelpCenterActivity๋ฅผ ํธ์ถํ์๋ฉด ๋ฉ๋๋ค.
package com.kth.baasio.helpcenter.sample;
import com.kth.baasio.helpcenter.ui.HelpCenterActivity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
Button button = (Button)findViewById(R.id.buttonHelpCenter);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ๊ณ ๊ฐ์ผํฐ ์คํ
Intent intent = new Intent(mContext, HelpCenterActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
์ด์ , ๊ณ ๊ฐ์ผํฐ๋ฅผ ์ฐ๋์ด ๋ชจ๋ ์๋ฃ๋์์ต๋๋ค.
์ถ๊ฐ๋ ํ๋ก์ ํธ๋ค์ ActionBarSherlock->BaasioHelpCenter->๊ฐ๋ฐํ์๋ ์ฑ ์์ผ๋ก "Project-Clean..."ํ์ฌ Clean Buildํ์๊ณ ์คํํ์๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๊ณ ๊ฐ์ผํฐ์ UI๋ ์ผ๋ง๋ ์ง ๋ณ๊ฒฝํ์ ์ ์ฑ์ ํ ๋ง์ ๋ง๊ฒ ์์ ํ์ค ์ ์์ต๋๋ค.
๊ณ ๊ฐ์ผํฐ ๊ด๋ จ API์ ๊ฐ์ด๋๋ ์๋ ๋งํฌ์ ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
- Android SDK
- Help Center UI Library (Wiki)
- Sample Project (Wiki)
- Startup Project (Wiki)







