網站首頁 編程語言 正文
本文實例為大家分享了Android自定義view課表的具體代碼,供大家參考,具體內容如下
這里是模擬課表,數據寫死了的,不過也可以通過抓包獲取教務系統課表
1.xml文件
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" ? ? xmlns:app="http://schemas.android.com/apk/res-auto" ? ? xmlns:tools="http://schemas.android.com/tools" ? ? android:layout_width="match_parent" ? ? android:background="#A5D6A7" ? ? android:fitsSystemWindows="true" ? ? android:layout_height="match_parent" ? ? tools:context=".KebiaoActivity"> ? ? <!-- ? ? ? ?<com.baidu.lbsapi.panoramaview.PanoramaView--> ? ? <!-- ? ? ? ? ? ?android:id="@+id/panorama"--> ? ? <!-- ? ? ? ? ? ?android:layout_width="match_parent"--> ? ? <!-- ? ? ? ? ? ?android:layout_height="match_parent"--> ? ? <!-- ? ? ? ? ? ?android:clickable="true" />--> ? ? <androidx.constraintlayout.widget.ConstraintLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="match_parent"> ? ? ? ? <androidx.constraintlayout.widget.ConstraintLayout ? ? ? ? ? ? android:id="@+id/constraintLayout" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="250dp" ? ? ? ? ? ? app:layout_constraintEnd_toEndOf="parent" ? ? ? ? ? ? app:layout_constraintStart_toStartOf="parent" ? ? ? ? ? ? app:layout_constraintTop_toTopOf="parent"> ? ? ? ? ? ? <ImageView ? ? ? ? ? ? ? ? android:id="@+id/back" ? ? ? ? ? ? ? ? android:layout_width="25dp" ? ? ? ? ? ? ? ? android:layout_height="25dp" ? ? ? ? ? ? ? ? android:layout_marginStart="15dp" ? ? ? ? ? ? ? ? app:layout_constraintBottom_toBottomOf="@+id/textView16" ? ? ? ? ? ? ? ? app:layout_constraintStart_toStartOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintTop_toTopOf="@+id/textView16" ? ? ? ? ? ? ? ? app:srcCompat="@mipmap/fanhui" ? ? ? ? ? ? ? ? android:layout_marginLeft="15dp" /> ? ? ? ? ? ? <TextView ? ? ? ? ? ? ? ? android:id="@+id/textView16" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="課表" ? ? ? ? ? ? ? ? android:textColor="#ffffff" ? ? ? ? ? ? ? ? android:textSize="26sp" ? ? ? ? ? ? ? ? android:layout_marginTop="10dp" ? ? ? ? ? ? ? ? app:layout_constraintEnd_toEndOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintHorizontal_bias="0.25" ? ? ? ? ? ? ? ? app:layout_constraintStart_toStartOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintTop_toTopOf="parent" /> ? ? ? ? ? ? <TextView ? ? ? ? ? ? ? ? android:id="@+id/ershou" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="本周課表" ? ? ? ? ? ? ? ? android:textColor="@color/white" ? ? ? ? ? ? ? ? android:textSize="60sp" ? ? ? ? ? ? ? ? app:layout_constraintBottom_toBottomOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintEnd_toEndOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintStart_toStartOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintTop_toTopOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintVertical_bias="0.45" /> ? ? ? ? ? ? <TextView ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="Schedule of the week" ? ? ? ? ? ? ? ? android:textColor="@color/white" ? ? ? ? ? ? ? ? android:textSize="20sp" ? ? ? ? ? ? ? ? android:layout_marginTop="10dp" ? ? ? ? ? ? ? ? app:layout_constraintEnd_toEndOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintHorizontal_bias="0.7" ? ? ? ? ? ? ? ? app:layout_constraintStart_toStartOf="parent" ? ? ? ? ? ? ? ? app:layout_constraintTop_toBottomOf="@id/ershou" /> ? ? ? ? </androidx.constraintlayout.widget.ConstraintLayout> ? ? ? ? <RelativeLayout ? ? ? ? ? ? android:id="@+id/kebiao22" ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? app:layout_constraintTop_toBottomOf="@+id/constraintLayout"> ? ? ? ? ? ? <TextView android:id="@+id/test_empty" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="11\n月" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_monday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="23日\n周一" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_empty" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_tuesday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="24日\n周二" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_monday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_wednesday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="25日\n周三" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_tuesday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_thursday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="26日\n周四" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_wednesday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_friday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="27日\n周五" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_thursday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_saturday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="28日\n周六" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_friday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <TextView android:id="@+id/test_sunday_course" ? ? ? ? ? ? ? ? android:layout_width="wrap_content" ? ? ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? ? ? android:text="29日\n周日" ? ? ? ? ? ? ? ? android:layout_toRightOf="@id/test_saturday_course" ? ? ? ? ? ? ? ? android:background="@drawable/course_text_view_bg" ? ? ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? ? ? /> ? ? ? ? </RelativeLayout> ? ? ? ? <RelativeLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="800dp" ? ? ? ? ? ? android:id="@+id/test_course_rl" ? ? ? ? ? ? app:layout_constraintTop_toBottomOf="@id/kebiao22" ? ? ? ? ? ? > ? ? ? ? </RelativeLayout> ? ? </androidx.constraintlayout.widget.ConstraintLayout> </ScrollView>
course_text_view_bg
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#ffffff"/> ? ? <stroke android:width="0.2dp" ? ? ? ? android:color="#AEAAAA"/> </shape>
2.activity代碼
public class KebiaoActivity extends AppCompatActivity {
? ? /** 第一個無內容的格子 */
? ? protected TextView empty;
? ? /** 星期一的格子 */
? ? protected TextView monColum;
? ? /** 星期二的格子 */
? ? protected TextView tueColum;
? ? /** 星期三的格子 */
? ? protected TextView wedColum;
? ? /** 星期四的格子 */
? ? protected TextView thrusColum;
? ? /** 星期五的格子 */
? ? protected TextView friColum;
? ? /** 星期六的格子 */
? ? protected TextView satColum;
? ? /** 星期日的格子 */
? ? protected TextView sunColum;
? ? /** 課程表body部分布局 */
? ? protected RelativeLayout course_table_layout;
? ? /** 屏幕寬度 **/
? ? protected int screenWidth;
? ? /** 課程格子平均寬度 **/
? ? protected int aveWidth;
? ? int gridHeight1 = 0;
? ? //(0)對應12節;(2)對應34節;(4)對應56節;(6)對應78節;(8)對應于9 10節
? ? int[] jieci = {0,2,3,5,4,6,8};
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? if (Build.VERSION.SDK_INT >= 21){
? ? ? ? ? ? View decorView = getWindow().getDecorView();
? ? ? ? ? ? decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
? ? ? ? ? ? getWindow().setStatusBarColor(Color.TRANSPARENT);
? ? ? ? }
? ? ? ? setContentView(R.layout.activity_kebiao);
? ? ? ? ImageView mImageView=findViewById(R.id.back);
? ? ? ? mImageView.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? finish();
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? //獲得列頭的控件
? ? ? ? empty = (TextView) this.findViewById(R.id.test_empty);
? ? ? ? monColum = (TextView) this.findViewById(R.id.test_monday_course);
? ? ? ? tueColum = (TextView) this.findViewById(R.id.test_tuesday_course);
? ? ? ? wedColum = (TextView) this.findViewById(R.id.test_wednesday_course);
? ? ? ? thrusColum = (TextView) this.findViewById(R.id.test_thursday_course);
? ? ? ? friColum = (TextView) this.findViewById(R.id.test_friday_course);
? ? ? ? satColum ?= (TextView) this.findViewById(R.id.test_saturday_course);
? ? ? ? sunColum = (TextView) this.findViewById(R.id.test_sunday_course);
? ? ? ? course_table_layout = (RelativeLayout) this.findViewById(R.id.test_course_rl);
? ? ? ? DisplayMetrics dm = new DisplayMetrics();
? ? ? ? getWindowManager().getDefaultDisplay().getMetrics(dm);
? ? ? ? //屏幕寬度
? ? ? ? int width = dm.widthPixels;
? ? ? ? //平均寬度
? ? ? ? int aveWidth = width / 8;
? ? ? ? //第一個空白格子設置為25寬
? ? ? ? empty.setWidth(aveWidth * 3/4);
? ? ? ? monColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? tueColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? wedColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? thrusColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? friColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? satColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? sunColum.setWidth(aveWidth * 33/32 + 1);
? ? ? ? this.screenWidth = width;
? ? ? ? this.aveWidth = aveWidth;
? ? ? ? int height = dm.heightPixels;
? ? ? ? int gridHeight = height / 10;
? ? ? ? gridHeight1 = gridHeight;
? ? ? ? //設置課表界面
? ? ? ? //動態生成10 * maxCourseNum個textview
? ? ? ? for(int i = 1; i <= 12; i ++){
? ? ? ? ? ? for(int j = 1; j <= 8; j ++){
? ? ? ? ? ? ? ? TextView tx = new TextView(KebiaoActivity.this);
? ? ? ? ? ? ? ? tx.setId((i - 1) * 8 ?+ j);
? ? ? ? ? ? ? ? //除了最后一列,都使用course_text_view_bg背景(最后一列沒有右邊框)
? ? ? ? ? ? ? ? tx.setBackgroundDrawable(KebiaoActivity.this.
? ? ? ? ? ? ? ? ? ? ? ? getResources().getDrawable(R.drawable.course_text_view_bg));
? ? ? ? ? ? ? ? //相對布局參數
? ? ? ? ? ? ? ? RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(
? ? ? ? ? ? ? ? ? ? ? ? aveWidth * 33 / 32 + 1,
? ? ? ? ? ? ? ? ? ? ? ? gridHeight);
? ? ? ? ? ? ? ? //文字對齊方式
? ? ? ? ? ? ? ? tx.setGravity(Gravity.CENTER);
? ? ? ? ? ? ? ? //字體樣式
// ? ? ? ? ? ? ? ?tx.setTextAppearance(this, R.style.courseTableText);
// ? ? ? ? ? ? ? ?//如果是第一列,需要設置課的序號(1 到 12)
? ? ? ? ? ? ? ? if(j == 1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? tx.setText(String.valueOf(i));
? ? ? ? ? ? ? ? ? ? rp.width = aveWidth * 3/4;
? ? ? ? ? ? ? ? ? ? //設置他們的相對位置
? ? ? ? ? ? ? ? ? ? if(i == 1)
? ? ? ? ? ? ? ? ? ? ? ? rp.addRule(RelativeLayout.BELOW, empty.getId());
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? rp.addRule(RelativeLayout.BELOW, (i - 1) * 8);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? rp.addRule(RelativeLayout.RIGHT_OF, (i - 1) * 8 ?+ j - 1);
? ? ? ? ? ? ? ? ? ? rp.addRule(RelativeLayout.ALIGN_TOP, (i - 1) * 8 ?+ j - 1);
? ? ? ? ? ? ? ? ? ? tx.setText("");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? tx.setLayoutParams(rp);
? ? ? ? ? ? ? ? course_table_layout.addView(tx);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? setCourseMessage(1,jieci[1],"軟件工\n程@含\n浦校區\n3508教\n室\n");
? ? ? ? setCourseMessage2(2,jieci[0],"嵌入式\n系統...\n@含浦\n校區\n3204教\n室");
? ? ? ? setCourseMessage(3,jieci[1],"計算機\n圖形\n學@含\n浦校區\n3310教\n室");
? ? ? ? setCourseMessage2(4,jieci[0],"計算機\n網絡...\n@含浦\n校區\n3311教\n室");
? ? ? ? setCourseMessage2(5,jieci[0],"嵌入式\n系統...\n@h含浦\n校區嵌入\n式實驗室");
? ? ? ? setCourseMessage(5,jieci[1],"java...\n@h含浦\n校區12\n機房\n(65)");
? ? ? ? setCourseMessage(1,jieci[3],"人工智\n能原\n理@含\n浦校區\n3306教\n");
? ? ? ? setCourseMessage2(2,jieci[2],"計算機\n網絡...\n@含浦\n校區\n2204教\n室");
? ? ? ? setCourseMessage(5,jieci[3],"操作系\n統原\n理@含\n浦校區\n12機房\n(65)");
? ? }
//菜單
// ? ?@Override
// ? ?public boolean onCreateOptionsMenu(Menu menu) {
// ? ? ? ?// Inflate the menu; this adds items to the action bar if it is present.
// ? ? ? ?getMenuInflater().inflate(R.menu.main, menu);
// ? ? ? ?return true;
// ? ?}
? ? public void setCourseMessage(int xingqi,int jieci,String courseMessage){
? ? ? ? //五種顏色的背景
? ? ? ? int[] background = {R.drawable.course_info_blue, R.drawable.course_info_green,
? ? ? ? ? ? ? ? R.drawable.course_info_red, R.drawable.course_info_zisi,
? ? ? ? ? ? ? ? R.drawable.course_info_yellow};
? ? ? ? // 添加課程信息
? ? ? ? TextView courseInfo = new TextView(this);
? ? ? ? courseInfo.setText(courseMessage);
? ? ? ? //該textview的高度根據其節數的跨度來設置
? ? ? ? RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
? ? ? ? ? ? ? ? aveWidth * 31 / 32,
? ? ? ? ? ? ? ? (gridHeight1 - 5) * 3 );
? ? ? ? //textview的位置由課程開始節數和上課的時間(day of week)確定
? ? ? ? rlp.topMargin = 5 + jieci * gridHeight1;
? ? ? ? rlp.leftMargin = 5;
? ? ? ? // 偏移由這節課是星期幾決定
? ? ? ? rlp.addRule(RelativeLayout.RIGHT_OF, xingqi);
? ? ? ? //字體劇中
? ? ? ? courseInfo.setGravity(Gravity.CENTER);
? ? ? ? // 設置一種背景
? ? ? ? Random random = new Random();
? ? ? ? courseInfo.setBackgroundResource(background[random.nextInt(5)]);
? ? ? ? courseInfo.setTextSize(12);
? ? ? ? courseInfo.setLayoutParams(rlp);
? ? ? ? courseInfo.setTextColor(Color.WHITE);
? ? ? ? //設置不透明度
? ? ? ? courseInfo.getBackground().setAlpha(222);
? ? ? ? course_table_layout.addView(courseInfo);
? ? }
? ? public void setCourseMessage2(int xingqi,int jieci,String courseMessage){
? ? ? ? //五種顏色的背景
? ? ? ? int[] background = {R.drawable.course_info_blue, R.drawable.course_info_green,
? ? ? ? ? ? ? ? R.drawable.course_info_red, R.drawable.course_info_zisi,
? ? ? ? ? ? ? ? R.drawable.course_info_yellow};
? ? ? ? // 添加課程信息
? ? ? ? TextView courseInfo = new TextView(this);
? ? ? ? courseInfo.setText(courseMessage);
? ? ? ? //該textview的高度根據其節數的跨度來設置
? ? ? ? RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
? ? ? ? ? ? ? ? aveWidth * 31 / 32,
? ? ? ? ? ? ? ? (gridHeight1 - 5) * 2 );
? ? ? ? //textview的位置由課程開始節數和上課的時間(day of week)確定
? ? ? ? rlp.topMargin = 5 + jieci * gridHeight1;
? ? ? ? rlp.leftMargin = 5;
? ? ? ? // 偏移由這節課是星期幾決定
? ? ? ? rlp.addRule(RelativeLayout.RIGHT_OF, xingqi);
? ? ? ? //字體劇中
? ? ? ? courseInfo.setGravity(Gravity.CENTER);
? ? ? ? // 設置一種背景
? ? ? ? Random random = new Random();
? ? ? ? courseInfo.setBackgroundResource(background[random.nextInt(5)]);
? ? ? ? courseInfo.setTextSize(12);
? ? ? ? courseInfo.setLayoutParams(rlp);
? ? ? ? courseInfo.setTextColor(Color.WHITE);
? ? ? ? //設置不透明度
? ? ? ? courseInfo.getBackground().setAlpha(222);
? ? ? ? course_table_layout.addView(courseInfo);
? ? }
}
3.資源文件
course_info_blue
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#4FC3F7"/> </shape>
course_info_green
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#81C784"/> </shape>
course_info_red
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#E57373"/> </shape>
course_info_zisi
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#9575CD"/> </shape>
course_info_yellow
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? > ? ? <solid android:color="#FFB74D"/> </shape>
4.運行
原文鏈接:https://blog.csdn.net/qq_46526828/article/details/111228101
相關推薦
- 2022-04-10 Blazor路由與頁面導航開發介紹_基礎應用
- 2022-12-04 Flutter之可滾動組件實例詳解_IOS
- 2023-04-07 C語言解決字符串中插入和刪除某段字符串問題_C 語言
- 2022-08-12 Qt實現拖動單個控件移動的示例代碼_C 語言
- 2022-07-06 C語言內存泄露很嚴重的解決方案_C 語言
- 2022-04-12 C語言三分鐘精通時間復雜度與空間復雜度_C 語言
- 2022-09-07 Go編寫定時器與定時任務詳解(附第三方庫gocron用法)_Golang
- 2022-08-15 基于FTP協議的文件上傳與下載
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支