心得感悟
今天终于开始用Android Studio写东西了,第一天跟着东哥视频磕磕绊绊地把这个抽奖App完成了,弄完之后,第一件事就是去装*,把demo发给了几个学医的同学(就是欺负他们不懂,哈哈哈),真的超级有成就感。总结今天学的内容:
- 学会在Android Studio中创建项目
- 学会设置定时器
- 学会创建基本的界面
- 学会随机产生数字
但因为才刚刚开始Java学习,在类中的好多方法都不知道,只能跟着写
内容概述
一、activity_main.xml中的内容
二、MainActivity中源代码
三、AVD Manager的下载
一、activity_main.xml中的内容
<LinearLayout 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"
android:orientation="vertical ">
- linearLayout 是线性布局,从上到下,方向由orientation的方向确定。
- orientation="vertical" 是指纵向的排列
<!--加注释 Ctrl+/-->
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#2F2E2F"
android:text="抽奖系统"
android:textColor="#FFF"
android:textSize="30sp"
android:gravity="center"
/>
- TextView 显示文本
- andriod:id="@+id/<name>",在R.java上有对应的代码,对应为R.id.<name>
<Button
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="60dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="#D225F3"
android:text="开始抽奖"
android:textSize="30dp"
android:onClick="start"
/>
</LinearLayout>
- 增加一个新的控件Button
二、MainActivity中源代码
实现4个步骤
- 点击按钮:切换按钮的标题,在“开始抽奖”和“暂停”之间切换
- 准备候选人,用数组进行保存
- 开始抽奖,产生随机数Random random = newRandom();
- 设置定时器,令人名能够持续滚动
public class MainActivity extends AppCompatActivity {
// 准备候选人 用数组保存
String[] names = new String[]{"酒中人", "alex", "甜心", "阿惠", "雾中的大海", "逞强美", "时瑾", "命宿迁"};
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() {
produceOnePerson();
}
},0,100);
}else{
// 设置为开始抽奖
btn.setText("开始抽奖");
// 关闭定时器
timer.cancel();
}
}
// 产生一个随机的人名 显示到文本控件上
public void produceOnePerson(){
// 产生一个随机数
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);
}
}
三、AVD Manager的下载
最终效果如下