抽奖、点名App小程序体验安卓开发的意义和乐趣
目录
1.准备工作
2.搭建界面
3.实现抽奖功能
1.准备工作
- 1.写一个类:TextView/主界面(文本/颜色/字体/字号/对齐);
2.写一个类:Button/操作(显示输入内容);
3.点击按钮: 点击按钮在抽奖和暂停之间切换
4.准备候选人数组保存
5.开始抽奖
2.搭建界面
Step1.在导航栏找到如图框选的"app"->"res"->"activity_ main.xml"。
Step2.将此代码段框选部分改为"LinearLayout"(刚打开不是"LinearLayout),是线性布局的意思,我们的控件只用线性布局就够了,使用"LinearLayout"比较简单。
Step3.写一个"TextView"和"Button"类,显示主界面
<!-- 文本框-->
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="#2F2E2F"
android:gravity="center"
android:text="zZLOVEZz的幸运抽奖"
android:textColor="#FFF"
android:textSize="30sp" />
<!-- 按钮-->
<Button
android:layout_width="match_parent"
android:layout_height="90dp"
android:background="#D65489"
android:layout_marginTop="100dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:text="开始抽奖"
android:textColor="#FFF"
android:textSize="20dp"
android:onClick="start" />
3.实现抽奖功能
自定义抽奖候选人,按照预计方法:点击按钮在抽奖和暂停之间切换
具体实现:
1.此时设定为:点击“开始抽奖”,候选人名单滚动,点击“暂停”,定格一个名字;
2.候选人名单用数组创建;
3.设置“开始抽奖”和“暂停”之间的转换;
4.创建定时器,让抽奖开始后,候选人名单滚动起来,时间间隔自定义;
5.产生一个随机人名,显示到控件上。
来看看具体的的代码实现吧
public class MainActivity extends AppCompatActivity {
// 准备候选人
String[] names = new String[]{"p1","p2","p3","p4","p5","p6","p7"};
Timer timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void start(View view) {
// 将View转化为Button
Button btn = (Button)view;
// 获取当前的标题
String title = btn.getText().toString();
// 判断按钮的标题
if(title.equals("开始抽奖")){
// 设置为暂停
btn.setText("暂停");
// 创建定时器
timer = new Timer();
// 每隔一段时间去执行一个任务
timer.schedule(new TimerTask() {
@Override
public void run() {
produceOnePeople();
}
},0,100);
}else{
// 设置为抽奖
btn.setText("开始抽奖");
// 关闭定时器
timer.cancel();
}
}
//产生一个随机人名,显示到文件控件上
public void produceOnePeople(){
// 产生一个随机数
Random random = new Random();
int index = Math.abs(random.nextInt()) & names.length;
// 从数组里面取出这个名字
String name = names[index];
// 将名字显示到文本框
TextView tv = findViewById(R.id.tv_name);
tv.setText(name);
}
}
然后就是链接手机或者使用模拟器对控件进行使用了
总结
1.今天第一次感受Android开发的乐趣,就这么一个小Demo,就让我知道了有这么神奇的方法可以解决生活中各种问题,足以证明Android开发的实力和前景!
2.学习过程中很多时候是一脸懵逼的状态,第一个Demo也是跟着老师一点一点打出来的,十分不易,要想学懂学精还需要很多付出和汗水!