--- title: 'TEMI 2023' disqus: hackmd --- [Toc] # TEMI2023 ###### tags:`Project 2023` ## ==3/10:== ### 1. 安裝android studio (https://developer.android.com/studio) ### 2. 討論目的店家類型 - 目前有兩個考慮目標 - 壽司店 - 居酒屋 ### 3. 討論可能的介面、排版 ![](https://i.imgur.com/HnwWZY6.jpg) ## ==3/17:== ### 1. 決定店家類型---居酒屋 >- 原因 >>- 重複點單功能 >>- 帶位需求 >>- 人力需求大(可由機器人代替) >>- 同一單有分開結帳需求 ### 2. 實地考察(居酒屋)--港町十三番地 - 發現隱憂 - 可能會有吵雜問題,若要語音辨識可能要小心 - 機器人在走道走動時小心碰撞他人(可能有人喝醉) - 若要有送餐功能,要很小心碰撞(有湯、酒、飲料等餐點) - 可加入功能 - 讓客人可以重複點單(語音呼叫或app呼叫) - 菜單很常會有更動,可讓店家輕鬆調整菜單 ## ==3/24:== ### 1. 簡單設計介面 ![](https://i.imgur.com/1R9TT35.png) ### 2. 學習用Android studio 設計介面 https://www.youtube.com/watch?v=9nWcPPHBzMk ## ==3/31:== ### 1. 設計所有介面(6種頁面)----僅為大概,尚須微調 ![](https://i.imgur.com/JC5C1dh.png) ![](https://i.imgur.com/VGQuGZX.png) ## ==4/7:== ### 1.學習如何把程式放上Temi ### 2.找到Temi的大小為 : 2560 X 1600 ## ==4/14:== ### 期中考周暫停一次 ## ==4/21:== ### 1.由於之前解析度有誤,重新設計figma ![](https://i.imgur.com/SRroCoi.png) ![](https://i.imgur.com/pk1ia81.png) ## ==4/28:== ### 1.研究如何將程式丟上Temi(未完成) ==<font color="#f00">記得要使用筆記型電腦</font>^(因為需要與temi連同一個網路)^== #### ***第一步 - 讓電腦與Temi連到同一個區域網路(學校Wifi不適用)*** ![](https://i.imgur.com/LNYiP9H.jpg) #### ***第二步 - temi - 轉到設置 -> 開發人員工具 -> 點擊 ADB 端口打開*** ![](https://i.imgur.com/KwQ0LAs.png) #### ***第三步 - 連接ADB*** (解壓縮此檔) https://dl.google.com/android/repository/platform-tools-latest-windows.zip (用cd指令到ADB存放位置後,照機器人螢幕的第二點輸入) ![](https://hackmd.io/_uploads/H1nk2eFrh.png) (照機器人螢幕的第三點輸入) ![](https://hackmd.io/_uploads/ByhkpeYr2.png) #### ***第四步 - 在Android Studio上執行程式(完成)*** ## ==5/5:== ### 1.參考以下網址拉出初始介面 https://www.youtube.com/watch?v=pIKdHeOjYNw https://stackoverflow.com/questions/26492522/how-do-i-remove-the-title-bar-from-my-app ### 2.目前程式碼 #### ***MainActivity.java:*** ``` package fcu.project.ordersystem; import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager2.widget.ViewPager2; import android.os.Bundle; import com.google.android.material.tabs.TabLayout; public class MainActivity extends AppCompatActivity { TabLayout tabLayout; ViewPager2 viewPager2; MyTabViewAdapter myTabViewAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tabLayout = findViewById(R.id.tabLayout); viewPager2 = findViewById(R.id.view_pager); myTabViewAdapter = new MyTabViewAdapter(this); viewPager2.setAdapter(myTabViewAdapter); tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { viewPager2.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { super.onPageSelected(position); tabLayout.getTabAt(position).select(); } }); } } ``` #### ***MyTabViewAdapter.java:*** ``` package fcu.project.ordersystem; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import fcu.project.ordersystem.fragments.ChaoFragment; import fcu.project.ordersystem.fragments.FriedFragment; import fcu.project.ordersystem.fragments.KaoFragment; import fcu.project.ordersystem.fragments.PotFragment; import fcu.project.ordersystem.fragments.SahimiFragment; import fcu.project.ordersystem.fragments.SaladFragment; import fcu.project.ordersystem.fragments.SoupFragment; import fcu.project.ordersystem.fragments.SushiFragment; public class MyTabViewAdapter extends FragmentStateAdapter { public MyTabViewAdapter(@NonNull FragmentActivity fragmentActivity) { super(fragmentActivity); } @NonNull @Override public Fragment createFragment(int position) { switch (position){ case 0: return new SahimiFragment(); case 1: return new SaladFragment(); case 2: return new SushiFragment(); case 3: return new ChaoFragment(); case 4: return new KaoFragment(); case 5: return new FriedFragment(); case 6: return new SoupFragment(); case 7: return new PotFragment(); default: return new SahimiFragment(); } } @Override public int getItemCount() { return 8; } } ``` ### 3.目前成果圖 ![](https://i.imgur.com/yEaPo7z.jpg) ![](https://i.imgur.com/2xmPC6B.jpg) ## ==5/12== ### 1.將程式成功丟上Temi #### (過程補充在4/28) ### 2.遇到問題:不知道如何把程式直接放在Temi上? #### (現在只會使用Android Studio模擬的方式開啟,希望可以直接在機器人上開啟程式) ## ==5/19== **設計菜單** ``` 生魚片: 綜合生魚片 (小)150 (大)270 鮭魚 (小)140 (大)240 鮪魚 (小)150 (大)260 旗魚 (小)120 (大)220 海麗 (小)110 (大)200 海麗肚 (小)160 (大)300 鮭魚肚 (小)180 (大)320 沙拉: 生牛肉 200 和風秋葵(季節菜色) 60 和風沙拉 150 炸雞沙拉 180 龍蝦沙拉 150 壽司: 精選壽司拼盤(12貫) 650 炙燒鮭魚握壽司(3貫) 150 炙燒比目魚握壽司(3貫) 180 海苔壽司(6貫) 60 豆皮壽司(6貫) 60 握蝦壽司(3貫) 60 綜合壽司(7貫) 100 鮭魚握壽司(3貫) 120 鮪魚握壽司(3貫) 120 炒類: 鮭魚親子炒飯 180 辣椒培根炒飯 160 炒時蔬菜 130 鮮炒海蛤蜊 260 烤類: 串燒拼盤 300 碳烤豬小排 90 牛小排 200 牛肋串(2串) 120 雞肉串(2串) 70 七里香(2串) 60 牛肋串(2串) 120 雞皮(2串) 60 蔥燒豬五花(2串) 70 杏鮑菇(2串) 60 香菇(2串) 40 花枝丸(2串) 60 雞翅(4支) 80 烤飯糰(1顆) 50 香魚(公) 100 香魚(母) 200 鮭魚下巴 300 高粱香腸(2條) 80 秋刀魚 70 烤鮭魚肚 80 炸類: 綜合野菜 190 大蝦天婦羅 280 香酥豆腐 90 唐揚雞塊 170 薯條 100 牛肉可樂餅 90 湯品: 土瓶蒸(茶壺湯) 50 茶碗蒸 50 蒜頭蛤蜊湯 80 泡菜豬肉湯 80 味噌魚湯 90 麻油炸蛋湯 130 鍋物: 泡菜鍋 350 鮭魚頭味噌鍋 350 魚頭火鍋 350 燒酒烏骨雞鍋 460 海鮮鍋 320 鍋燒麵 80 飲料: 金牌 100 海尼根 130 沖繩啤酒 150 日本清酒(熱) 100 大吟釀(300ml) 450 梅酒(杯) 170 柚子酒(杯) 180 可爾必思沙瓦(400ml) 90 葡萄沙瓦(400ml) 100 紅茶沙瓦(400ml) 100 可樂 60 可爾必思 60 蘋果西打 60 白毫烏龍 60 ``` ## ==5/26== ### 設計購物車 參考 http://www.androiddom.com/2011/02/android-shopping-cart-tutorial.html ## ==6/2== ### 1.繼續完善購物車 ### 2.寫專題期末報告 ## ==6/9== ### 期末考試