From 9137542bbdb782d4b97aff418707fbdc79f479c8 Mon Sep 17 00:00:00 2001 From: Yusuke Iwaki Date: Mon, 21 Dec 2015 19:11:17 +0900 Subject: [PATCH] =?UTF-8?q?message=20=E3=82=B9=E3=83=88=E3=82=A2=E3=82=92?= =?UTF-8?q?=E5=88=A9=E7=94=A8=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hogehogeworks/HogeHogeActivity.java | 86 +++++++++++++++++++ app/src/main/res/layout/main.xml | 2 +- 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/jp/co/crowdworks/hogehogeworks/HogeHogeActivity.java b/app/src/main/java/jp/co/crowdworks/hogehogeworks/HogeHogeActivity.java index e25e7c6..961b046 100644 --- a/app/src/main/java/jp/co/crowdworks/hogehogeworks/HogeHogeActivity.java +++ b/app/src/main/java/jp/co/crowdworks/hogehogeworks/HogeHogeActivity.java @@ -1,17 +1,40 @@ package jp.co.crowdworks.hogehogeworks; import android.os.Bundle; +import android.support.annotation.IdRes; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.TextView; +import com.nifty.cloud.mb.core.DoneCallback; +import com.nifty.cloud.mb.core.FindCallback; +import com.nifty.cloud.mb.core.NCMBException; +import com.nifty.cloud.mb.core.NCMBObject; +import com.nifty.cloud.mb.core.NCMBQuery; import com.nifty.cloud.mb.core.NCMBUser; +import java.util.List; + public class HogeHogeActivity extends AppCompatActivity { + + private static final String MESSAGE_STORE = "message"; + private ArrayAdapter mAdapter; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); + mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1); + + ListView listview = (ListView) findViewById(R.id.listview); + listview.setAdapter(mAdapter); + + setupComposer(); } @Override @@ -25,6 +48,69 @@ protected void onResume() { } else { new UserLogoutDialogFragment().show(getSupportFragmentManager(), "logout"); + loadMessageList(); } } + + private void loadMessageList(){ + + NCMBQuery query = new NCMBQuery<>(MESSAGE_STORE); + query.findInBackground(new FindCallback() { + @Override + public void done(List list, NCMBException e) { + if(e!=null) { + Log.e("HogeHogeWorks","error",e); + return; + } + + mAdapter.clear(); + + for (NCMBObject obj : list) { + String username = obj.getString("username"); + String content = obj.getString("content"); + + mAdapter.add(username+": "+content); + } + } + }); + } + + private void setupComposer() { + findViewById(R.id.btn_send).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String content = getTextString(R.id.txt_content); + if(TextUtils.isEmpty(content)) return; + + sendMessage(content); + } + }); + } + + private String getTextString(@IdRes int txt) { + return ((TextView) findViewById(txt)).getText().toString(); + } + + private void sendMessage(String content) { + NCMBUser user = NCMBUser.getCurrentUser(); + + // TODO: すごくてきとう + if(user==null || TextUtils.isEmpty(user.getUserName())) return; + + NCMBObject obj = new NCMBObject(MESSAGE_STORE); + obj.put("username", user.getUserName()); + obj.put("content", content); + obj.saveInBackground(new DoneCallback() { + @Override + public void done(NCMBException e) { + if(e!=null) { + Log.e("HogeHogeWorks","error",e); + return; + } + + loadMessageList(); + ((TextView) findViewById(R.id.txt_content)).setText(""); + } + }); + } } diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml index 53b0d03..56673a0 100644 --- a/app/src/main/res/layout/main.xml +++ b/app/src/main/res/layout/main.xml @@ -15,7 +15,7 @@ android:layout_height="?attr/actionBarSize" android:orientation="horizontal">