記事
0 comment

AndroidからParseを使う

Parse_Logo_HiRes-copy

バージョン情報

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

コメントを残す

Required fields are marked *.