diff --git a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java index 32e21ef..28a99cb 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/MainActivity.java @@ -28,11 +28,18 @@ import com.google.android.material.bottomnavigation.BottomNavigationView; +import org.ntlab.amaryllis.client.entities.Category; import org.ntlab.amaryllis.client.fragment.MapsFragment; import org.ntlab.amaryllis.client.resources.AccountsRest; +import org.ntlab.amaryllis.client.resources.CategoriesRest; import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; @@ -42,6 +49,7 @@ private static final String TAG = MainActivity.class.getSimpleName(); LocationManager locationManager; private ArrayList listeners = new ArrayList<>(); + private HashMap categories; @Override protected void onCreate(Bundle savedInstanceState) { @@ -56,6 +64,29 @@ NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); NavigationUI.setupWithNavController(navView, navController); + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/amaryllis/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final CategoriesRest categoryService = retrofit.create(CategoriesRest.class); + Call> call = categoryService.getcategories(); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + List clist = response.body(); + HashMap categories = new HashMap<>(); + for (Category c : clist){ + categories.put(c.getcId(),c); + } + MainActivity.this.categories = categories; + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); + LocationManager manager = (LocationManager) getSystemService(LOCATION_SERVICE); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { @@ -63,6 +94,7 @@ } manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); } + private void locationStart(){ Log.d("debug","locationStart()"); @@ -160,4 +192,8 @@ android.os.Process.killProcess(android.os.Process.myPid()); } + public Category getCategory(String cid){ + return categories.get(cid); + } + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/amaryllis/client/entities/Category.java b/app/src/main/java/org/ntlab/amaryllis/client/entities/Category.java index 3e44534..64656ed 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/entities/Category.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/entities/Category.java @@ -9,30 +9,28 @@ * 文字列表現された色情報 */ private String color; + + public Category(){} + public Category(String cid,String name,String color){ - this.cid=cid; - this.name=name; - this.color=color; + setcId(cid); + setName(name); + setColor(color); } public String getcId() { return cid; } - public String getName() { return name; } public String getColor(){ return color; } - public void setCid(String cid) { - this.cid = cid; - } - + public void setcId(String cid) { this.cid = cid; } public void setName(String name) { this.name = name; } - public void setColor(String color) { this.color = color; } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/entities/Voicememo.java b/app/src/main/java/org/ntlab/amaryllis/client/entities/Voicememo.java index edaa808..42852a4 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/entities/Voicememo.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/entities/Voicememo.java @@ -28,7 +28,7 @@ public Voicememo() {} - public Voicememo(String vid, String uid, Integer time, String url, double latitude, double longitude, String title, String summary) { + public Voicememo(String vid, String uid, Integer time, String url, double latitude, double longitude, String title, String summary, ArrayList categories) { Calendar upload = Calendar.getInstance(); setVid(vid); setUid(uid); @@ -39,6 +39,7 @@ setLongitude(longitude); setTitle(title); setSummary(summary); + setCategory(categories); this.times = 0; this.favos = 0; } diff --git a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java index c55f77b..6e11875 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/fragment/MapsFragment.java @@ -303,18 +303,18 @@ String data = Base64.encodeToString(byteData, 0,byteData.length, Base64.DEFAULT); - Call call = voicememosService.postVoicememos(amaryllis.getUid(),amaryllis.getToken(),10,data,35,135,"untitled",""); - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - Voicememo voicememo = response.body(); - } - - @Override - public void onFailure(Call call, Throwable t) { - - } - }); +// Call call = voicememosService.postVoicememos(amaryllis.getUid(),amaryllis.getToken(),10,data,35,135,"untitled",""); +// call.enqueue(new Callback() { +// @Override +// public void onResponse(Call call, Response response) { +// Voicememo voicememo = response.body(); +// } +// +// @Override +// public void onFailure(Call call, Throwable t) { +// +// } +// }); StartChange = 1; R_Stoping.setAlpha(1.0f); R_Playing.setAlpha(0.0f); diff --git a/app/src/main/java/org/ntlab/amaryllis/client/resources/CategoriesRest.java b/app/src/main/java/org/ntlab/amaryllis/client/resources/CategoriesRest.java index 5f26a14..debc564 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/resources/CategoriesRest.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/resources/CategoriesRest.java @@ -3,6 +3,7 @@ import org.ntlab.amaryllis.client.entities.Category; import java.util.ArrayList; +import java.util.List; import retrofit2.Call; import retrofit2.http.GET; @@ -12,7 +13,7 @@ public interface CategoriesRest { //すべてのcidを取得 @GET("categories") - Call> getcategories(); + Call> getcategories(); //指定したカテゴリを取得 @GET("categories/{cid}") diff --git a/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java b/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java index 9306f4f..eae7187 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/resources/VoicememosRest.java @@ -41,7 +41,8 @@ @Field("latitude") double latitude, @Field("longitude") double longitude, @Field("title") String title, - @Field("summary") String summary + @Field("summary") String summary, + @Field("categories") List categories ); //指定された投稿の情報を取得