目次
バージョン情報
OS X Yosemite 10.10.4
Android Studio 1.3
Nexus 5 API 22 x86(Virtual Device)
1. サンプルプロジェクトの作成
Blank Activityのフォームを作成する
2. 問い合わせフォームの作成
2.1 Viewファイルの作成
res/layout/activity_main.xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/TextViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/feedbacktitle"
android:textSize="10pt"></TextView>
<EditText
android:id="@+id/EditTextName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/feedbackname"
android:inputType="textPersonName"></EditText>
<EditText
android:id="@+id/EditTextEmail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/feedbackemail"
android:inputType="textEmailAddress"></EditText>
<Spinner
android:id="@+id/SpinnerFeedbackType"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/feedbacktypelist"
android:prompt="@string/feedbacktype"></Spinner>
<EditText
android:id="@+id/EditTextFeedbackBody"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/feedbackbody"
android:inputType="textMultiLine"
android:lines="5"></EditText>
<CheckBox
android:id="@+id/CheckBoxResponse"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/feedbackresponse"></CheckBox>
<Button
android:id="@+id/ButtonSendFeedback"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sendFeedback"
android:text="@string/feedbackbutton"></Button>
</LinearLayout>
</ScrollView>
2.2 文字の追加
res/values/strings.xml
<resources>
<string name="feedbacktype1">最高</string>
<string name="feedbacktype2">不満</string>
<string name="feedbacktype3">要望</string>
<string name="feedbacktype4">バグ</string>
<string-array name="feedbacktypelist">
<item>@string/feedbacktype1</item>
<item>@string/feedbacktype2</item>
<item>@string/feedbacktype3</item>
<item>@string/feedbacktype4</item>
</string-array>
<string name="feedbacktitle">フィードバックフォーム</string>
<string name="feedbackname">名前</string>
<string name="feedbackemail">メールアドレス</string>
<string name="feedbacktype">タイプ</string>
<string name="feedbackbody">メッセージ</string>
<string name="feedbackbutton">送信</string>
<string name="action_settings">アクション</string>
<string name="app_name">HelloParse</string>
<string name="feedbackresponse">この内容で送信しますか</string>
</resources>
2.2 送信メソッドの実装
java/me.shingaki.helloparse/MainActivity
public void sendFeedback(View button) {
final EditText nameField = (EditText) findViewById(R.id.EditTextName);
String name = nameField.getText().toString();
final EditText emailField = (EditText) findViewById(R.id.EditTextEmail);
String email = emailField.getText().toString();
final EditText feedbackField = (EditText) findViewById(R.id.EditTextFeedbackBody);
String feedback = feedbackField.getText().toString();
final Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerFeedbackType);
String feedbackType = feedbackSpinner.getSelectedItem().toString();
final CheckBox responseCheckbox = (CheckBox) findViewById(R.id.CheckBoxResponse);
boolean bRequiresResponse = responseCheckbox.isChecked();
Log.d("名前", name);
Log.d("メールアドレス", email);
Log.d("メッセージ", feedback);
Log.d("タイプ", feedbackType);
Log.d("チェックボックス", Boolean.toString(bRequiresResponse));
}
2.3 起動確認
3. Parseアカウントの登録
サインアップURL : https://www.parse.com/signup
3.1 Parse SDKのダウンロード
プロジェクトを作成後、SDKをダウンロード
https://parse.com/docs/downloads
libsディレクトリを作成。
ViewをProjectに設定すると確認できるようになる。
Tools > Android > Sync Project with Gradle Files (補完が効くようになる)
3.2 Parseのセットアップ
ここに書いてある設定をする。
https://www.parse.com/apps/quickstart#parse_data/mobile/android/native/existing
java/me.shingaki.helloparse/MainActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize Crash Reporting.
ParseCrashReporting.enable(this);
// Enable Local Datastore.
Parse.enableLocalDatastore(this);
Parse.initialize(this, "あなたのきー", "あなたのきー");
}
manifests/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.shingaki.helloparse" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
4.確認
再度エミュレータ(もしくはデバイス)から投稿してみると、Parseにデータが保存されている。
5. 参考リンク
Android Essentials: Creating Simple User Forms http://code.tutsplus.com/tutorials/android-essentials-creating-simple-user-forms–mobile-1758
Parse
https://www.parse.com