diff --git a/.idea/misc.xml b/.idea/misc.xml index 8f9d4ab..9194c63 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -17,6 +17,7 @@ + diff --git a/app/src/main/java/com/example/nemophila/FriendActivity.java b/app/src/main/java/com/example/nemophila/FriendActivity.java index 718a01c..ad12256 100644 --- a/app/src/main/java/com/example/nemophila/FriendActivity.java +++ b/app/src/main/java/com/example/nemophila/FriendActivity.java @@ -10,5 +10,6 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_friend); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/LoginActivity.java b/app/src/main/java/com/example/nemophila/LoginActivity.java index 6446c87..5dd4b79 100644 --- a/app/src/main/java/com/example/nemophila/LoginActivity.java +++ b/app/src/main/java/com/example/nemophila/LoginActivity.java @@ -24,11 +24,19 @@ private Retrofit retrofit; private AccountsRest AccountsRest; + private Nemophila nemophila; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); + + nemophila = (Nemophila) this.getApplication(); +// if ((nemophila.getUid() != null) && (nemophila.getToken() != null)){ +// Intent intent = new Intent(LoginActivity.this,MainActivity.class); +// startActivity(intent); +// } + //通信の初期化 this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/") @@ -53,6 +61,11 @@ public void onResponse(Call call, Response response) { if (response.isSuccessful()) { System.out.println("通信成功:changeBelongsAndMaster"); + + nemophila.setName(response.body().getName()); + nemophila.setUid(response.body().getId()); + nemophila.setToken(response.body().getToken()); + Intent intent = new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); } else { diff --git a/app/src/main/java/com/example/nemophila/MainActivity.java b/app/src/main/java/com/example/nemophila/MainActivity.java index 36bae73..2fa42ac 100644 --- a/app/src/main/java/com/example/nemophila/MainActivity.java +++ b/app/src/main/java/com/example/nemophila/MainActivity.java @@ -55,7 +55,7 @@ binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); - + //現在地ボタン ImageButton button1 = findViewById(R.id.currentButton); // lambda式 button1.setOnClickListener( v -> { @@ -64,6 +64,14 @@ zoomMap(currentLatlng.latitude, currentLatlng.longitude); }); + ImageButton myPageButton = findViewById(R.id.myPageButton); + // lambda式 + myPageButton.setOnClickListener( v -> { + Log.d("debug", "myPageButton, マイページに画面遷移"); + Intent intent = new Intent(MainActivity.this, MyPageActivity.class); + startActivity(intent); + }); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java index a2f9074..82b4397 100644 --- a/app/src/main/java/com/example/nemophila/MyPageActivity.java +++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java @@ -60,9 +60,11 @@ AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class); Nemophila nemophila = (Nemophila) getApplication(); String uid = nemophila.getUid(); -// String name = nemophila. -// TextView name = (TextView) findViewById(R.id.name); -// TextView id = (TextView) findViewById(R.id.id); + String name = nemophila.getName(); + TextView myname = (TextView) findViewById(R.id.name); + myname.setText(name); + TextView id = (TextView) findViewById(R.id.id); + id.setText(uid); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java b/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java index b9b46be..393e666 100644 --- a/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java +++ b/app/src/main/java/com/example/nemophila/MyPageEditorActivity.java @@ -8,6 +8,7 @@ import android.view.View; import android.widget.Button; import android.widget.EditText; +import android.widget.TextView; import com.example.nemophila.viewmodels.AccountViewModel; @@ -19,6 +20,7 @@ setContentView(R.layout.activity_my_page_editor); //AccountViewModelとの通信 AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class); + EditText name = (EditText) findViewById(R.id.editName); //MyPageに戻るボタン Button backButton = (Button) findViewById(R.id.backMyPage); backButton.setOnClickListener(new View.OnClickListener() { @@ -54,5 +56,16 @@ startActivity(intent); } }); +// 削除ボタンを押したときの処理 + Button deleteAccountButton = (Button) findViewById(R.id.deleteAccount); + deleteAccountButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + Nemophila nemophila = (Nemophila) getApplication(); + String uid = nemophila.getUid(); + String token = nemophila.getToken(); + Intent intent = new Intent(MyPageEditorActivity.this, LoginActivity.class); + startActivity(intent); + } + }); } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/example/nemophila/Nemophila.java b/app/src/main/java/com/example/nemophila/Nemophila.java index 61ae16c..6b8c2be 100644 --- a/app/src/main/java/com/example/nemophila/Nemophila.java +++ b/app/src/main/java/com/example/nemophila/Nemophila.java @@ -18,21 +18,21 @@ public String getName() { if(name == null){ SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); - name = preferences.getString("name", ""); + name = preferences.getString("name", null); } return name; } public String getUid() { if(uid == null){ SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); - uid = preferences.getString("uid", ""); + uid = preferences.getString("uid", null); } return uid; } public String getToken() { if(token == null){ SharedPreferences preferences = getSharedPreferences("prefData", MODE_PRIVATE); - token = preferences.getString("token", ""); + token = preferences.getString("token", null); } return token; } diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index 7ca8ca8..01945b2 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -13,8 +13,10 @@ import android.os.Bundle; import android.view.View; import android.widget.Button; +import android.widget.TextView; import com.example.nemophila.entities.Post; +import com.example.nemophila.entities.Shop; import com.example.nemophila.viewmodels.PostsViewModel; import java.util.ArrayList; @@ -27,21 +29,42 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop); + //NemophilaからcurrentShopを取得し店名の表示 + //currentshopに何もないとgetNameとgetSidでアプリが落ちます + Shop shop; + String shopName; + String sid; + shop = ((Nemophila)getApplication()).getCurrentShop(); +// shopName = shop.getName(); +// sid = shop.getSid(); + TextView nameView = (TextView) findViewById(R.id.shopName); + //テスト用に仮店名でセット + nameView.setText("お店A"); +// nameView.setText(shopName); + //右上のボタンで投稿画面(PostActivity)へ遷移 - Button buttonToPost = (Button)findViewById(R.id.buttonToPostActivity); - buttonToPost.setOnClickListener(new View.OnClickListener(){ + Button toPostButton = (Button)findViewById(R.id.toPostAcButton); + toPostButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(getApplication(), PostActivity.class); startActivity(intent); } }); + //左上のボタンでメイン画面へ遷移 + Button returnButton = (Button)findViewById(R.id.shopAcReturnButton); + returnButton.setOnClickListener(new View.OnClickListener(){ + public void onClick(View v){ + Intent intent = new Intent(getApplication(), MainActivity.class); + startActivity(intent); + } + }); + List postsDataset = new ArrayList<>(); - - //RecyclerView + //RecyclerView(表示以外の設定) RecyclerView rv = (RecyclerView) findViewById(R.id.postsList); - ShopActivityAdapter adapter = new ShopActivityAdapter(postsDataset); +// ShopActivityAdapter adapter = new ShopActivityAdapter(postsDataset); LinearLayoutManager llm = new LinearLayoutManager(this); @@ -52,20 +75,22 @@ rv.setHasFixedSize(true); rv.setLayoutManager(llm); - //通信テスト + //PostViewModelを宣言し、LiveDataへの購読 PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class); + //通信テスト用データ(本来currentShopのsidをPostJsonに送る) postsViewModel.getShopPostJson("151347fa-2c90-44d7-ba48-f23f475b910d"); //LiveDataへの購読 postsViewModel.getShopPostLiveData().observe(this, new Observer>() { - //private List members; @Override public void onChanged(List ShopPosts) { + //postsDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット postsDataset.clear(); for (Post post: ShopPosts){ PostDataModel data = new PostDataModel(); data.setName(post.getName()); data.setDate(post.getDate()); + //intで受け取った評価を対応した星の数のStringに変換 int intRate = post.getRate(); String strRate = ""; for (int i = 0; i < 5; i++){ @@ -80,33 +105,13 @@ data.setComment(post.getComment()); postsDataset.add(data); - System.out.println("hogehoge"); - - //recyclerViewをonChangedが呼ばれるたび表示 - rv.setAdapter(adapter); - } + //RecyclerViewをonChangedが呼ばれるたび表示 + ShopActivityAdapter adapter = new ShopActivityAdapter(postsDataset); + rv.setAdapter(adapter); } }); - - } - private List kariDataset() { - - //RecyclerViewの中身の仮データ - List dataset = new ArrayList<>(); - for (int i = 0; i < 50; i++) { - PostDataModel data = new PostDataModel(); - data.setName("ネモフィラ 太郎" + i + "号"); - data.setDate("yyyy/mm/dd"); - data.setRate("★★★★★"); - data.setGenre("ラーメン, 中華, おいしい, 安い"); - data.setComment("おいしかった。"); - - dataset.add(data); - } - return dataset; - } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_friend.xml b/app/src/main/res/layout/activity_friend.xml index 560f9dd..51e2fcb 100644 --- a/app/src/main/res/layout/activity_friend.xml +++ b/app/src/main/res/layout/activity_friend.xml @@ -6,4 +6,29 @@ android:layout_height="match_parent" tools:context=".FriendActivity"> + + + + +