简单点名小程序(伪)----android开发
生活随笔
收集整理的這篇文章主要介紹了
简单点名小程序(伪)----android开发
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
效果演示
顯示學(xué)生姓名與圖片
選擇缺勤類型
提交缺勤名單
代碼
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/textView_name"android:layout_width="168dp"android:layout_height="59dp"android:layout_marginStart="113dp"android:layout_marginTop="10dp"android:layout_marginEnd="103dp"android:layout_marginBottom="346dp"android:text="TextView"android:textSize="30sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" /><Buttonandroid:id="@+id/btn_up"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="71dp"android:layout_marginTop="360dp"android:layout_marginEnd="60dp"android:layout_marginBottom="265dp"android:text="上一個"android:textSize="20sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/btn_down"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" /><Buttonandroid:id="@+id/btn_down"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="97dp"android:layout_marginTop="360dp"android:layout_marginEnd="67dp"android:layout_marginBottom="265dp"android:text="下一個"android:textSize="18sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/btn_up"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" /><RadioGroupandroid:id="@+id/rio_group"android:layout_width="302dp"android:layout_height="150dp"android:layout_marginStart="12dp"android:layout_marginBottom="12dp"app:layout_constraintBottom_toTopOf="@+id/btn_submit"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toEndOf="@+id/btn_up"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.736"><RadioButtonandroid:id="@+id/rio_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:checked="true"android:text="出勤" /><RadioButtonandroid:id="@+id/rio_late"android:layout_width="wrap_content"android:layout_height="48dp"android:layout_weight="1"android:text="遲到" /><RadioButtonandroid:id="@+id/rio_absent"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="缺席" /><RadioButtonandroid:id="@+id/rio_leave"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="請假" /></RadioGroup><Buttonandroid:id="@+id/btn_submit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="166dp"android:layout_marginTop="259dp"android:layout_marginEnd="157dp"android:layout_marginBottom="16dp"android:text="提交"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.666"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/radioGroup" /><ImageViewandroid:id="@+id/image_stu"android:layout_width="356dp"android:layout_height="132dp"android:layout_marginStart="113dp"android:layout_marginTop="21dp"android:layout_marginEnd="125dp"android:layout_marginBottom="3dp"app:layout_constraintBottom_toTopOf="@+id/rio_group"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.48"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView_name"app:layout_constraintVertical_bias="0.857"app:srcCompat="@mipmap/f005" /></android.support.constraint.ConstraintLayout>MainActivity.java
package com.lkw.demo.demostu;import android.annotation.SuppressLint; import android.app.AlertDialog; import android.content.DialogInterface; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TextView; import android.widget.Toast;public class MainActivity extends AppCompatActivity implements OnCheckedChangeListener,View.OnClickListener, DialogInterface.OnClickListener {private Button btn_submit;private Button btn_up;private Button btn_down;private TextView textView_name;private ImageView img;private int index;private String[] name = {"夏言好", "張飛", "奧特曼", "假面騎士", "嘎子哥", "lkw"};private int[] img_stu={R.mipmap.f000, R.mipmap.f001,R.mipmap.f002,R.mipmap.f003,R.mipmap.f004,R.mipmap.f005};private boolean[] leave; //請假private boolean[] late; //遲到private boolean[] absent; //缺席private RadioGroup rio_group;private RadioButton rio_1;private RadioButton rio_late;private RadioButton rio_absent;private RadioButton rio_leave;@SuppressLint("WrongViewCast")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);rio_group = findViewById(R.id.rio_group);rio_1 = findViewById(R.id.rio_1);rio_late = findViewById(R.id.rio_late);rio_absent = findViewById(R.id.rio_absent);rio_leave = findViewById(R.id.rio_leave);img = findViewById(R.id.image_stu);rio_group.setOnCheckedChangeListener(this);rio_late.setOnClickListener(this);rio_leave.setOnClickListener(this);rio_absent.setOnClickListener(this);index = 0;/*未到的人數(shù)均設(shè)為0*/btn_up = findViewById(R.id.btn_up);btn_down = findViewById(R.id.btn_down);btn_submit = findViewById(R.id.btn_submit);textView_name = findViewById(R.id.textView_name);textView_name.setText(name[index]);late = new boolean[6];leave = new boolean[6];absent = new boolean[6];btn_up.setOnClickListener(this);btn_down.setOnClickListener(this);btn_submit.setOnClickListener(this);}@Overridepublic void onClick(View view) {if (view.getId() == btn_submit.getId()) {String lateList = this.getList(late);String leaveList = this.getList(leave);String absentList = this.getList(absent);new AlertDialog.Builder(this).setMessage("遲到:" + lateList + "缺席:" + absentList + "請假:" + leaveList).setCancelable(false).setIcon(android.R.drawable.ic_menu_edit).setTitle("缺勤名單").setPositiveButton("發(fā)送", this).setNeutralButton("取消", this).show();} else {if (view.getId() == btn_up.getId()) {index--;}if (view.getId() == btn_down.getId()) {index++;}if (index == -1) {index = 0;Toast.makeText(this, R.string.warn_name_first, Toast.LENGTH_LONG).show();}if (index == 6) {index = 5;Toast.makeText(this, R.string.warn_name_last, Toast.LENGTH_LONG).show();}textView_name.setText(name[index]);img.setImageResource(img_stu[index]);if (leave[index]) {rio_leave.setChecked(true);} else if (late[index]) {rio_late.setChecked(true);} else if (absent[index]){rio_absent.setChecked(true);}else{rio_1.setChecked(true);}}}@Overridepublic void onClick(DialogInterface dialogInterface,int i){}private String getList(boolean[]tex){String answer="";for(int i=0;i<name.length;++i){if(tex[i])answer+=" "+name[i];}answer+="\n";return answer;}@Overridepublic void onCheckedChanged(RadioGroup radioGroup, int i) {switch(i){case R.id.rio_late:absent[index] = false;leave[index] = false;late[index] = true;break;case R.id.rio_absent:leave[index] = false;late[index] = false;absent[index] = true;break;case R.id.rio_leave:late[index] = false;absent[index] = false;leave[index] = true;break;}} }總結(jié)
? ?通過第一階段的學(xué)習(xí)對Android有了一個基本的入門,光從現(xiàn)在所掌握的知識,讓我感覺現(xiàn)階段的學(xué)習(xí)和以前javaSE的圖形用戶界面很像。但要直白簡單一些。基本步驟就是添加一個視圖,往里面放東西。在后臺給這些東西綁上監(jiān)聽器,完成各種各樣的事件邏輯,實現(xiàn)一些基本的小功能。上面的那個點名小程序也暫時只能算偽的。畢竟還不能實現(xiàn)真正的提交,真正的獲取學(xué)生信息。這些都還需要后續(xù)學(xué)習(xí)的完善和實現(xiàn)。
? 上面的代碼也還存在一定的問題。學(xué)生的信息沒有單獨的封裝成一個模型類,這是我之前寫的時候沒考慮到的。這會為后續(xù)的完善埋下隱患。
? ?另外就是開發(fā)軟件給我的一些感受,Android studio的界面和idea真的賊像,大同小異。而且文件結(jié)構(gòu)也和idea javaweb項目差不多。這讓我看一遍之后就能牢記它的源文件,資源文件,配置文件都在什么位置。用起來還是蠻舒心的,沒有啥陣痛期。
?
總結(jié)
以上是生活随笔為你收集整理的简单点名小程序(伪)----android开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java大乘期(33)----java进
- 下一篇: ajax简单实战例子