eatwhatApp开发实战(一)
2024-09-05 10:07:48
开发背景:
当你想用抛硬币来决定事情的时候,那么硬币抛起的瞬间,你就有答案了。一样的,吃啥?eatwhat点开,按钮一点,你就可以知道你中午要吃啥。
话不多说,项目开发走起
ADT点开,New==>Android Application Project ==>
首先确定布局,第一版我们就做简单的功能,视图中有两个控件,一个文本(TextView)用来输出店家名称,一个按钮(Button)用来让用户点击进行店家名称的随机切换。在android开发中有两种方式来实现布局,今天我们先讲用配置文件.xml来实现。
在android项目目录下res/layout/中有一个activity_main.xml的布局文件,我们在其中将其自带的默认的TextView进行设置:
<TextView
android:id="@+id/shop_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/shop_name"
android:layout_centerInParent="true"
android:textSize="18sp" />
接着设置Button按钮:
<Button
android:id="@+id/random_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="@string/random_btn_text"/>
这就是我们通过.xml创建出来的布局:
这其中有两点要注意的是两个控件的文本我们都是通过res/values/strings.xml进行设置,这样在后续开发中便于修改以及对应的做国际化
<string name="shop_name">店名</string>
<string name="random_btn_text">点我</string>
界面设置完,我们就来处理业务逻辑:
在mainactivity.java中定义一个方法init()对控件进行初始化和设置监听:
private void init() { //定义一个数组用来存放我们要的几个店名
shop = new String[]{
"食莆记","谷之味","王大妈水饺","兰州拉面","惠兴饭店"
}; //初始化控件textview
shop_name = (TextView) findViewById(R.id.shop_name); //初始化控件button
random_btn = (Button) findViewById(R.id.random_btn);
//注册按钮点击监听
random_btn.setOnClickListener(new RandomBtnClick());
}
定义一个内部类RandomBtnClick来实现点击监听:
class RandomBtnClick implements OnClickListener{ @Override
public void onClick(View v) { //随机数,区间以之前定义的店家的数组为长度
Random random = new Random();
int num = random.nextInt(shop.length); //textview显示以该随机数为下标对应的商家数组的名字
shop_name.setText(shop[num]);
}
}
这样,最基本的随机事件就完成了,想吃什么,随意,那就点开eatwhat,听天由命。。。
最新文章
- jdk 设计模式
- clob型不能用 distinct,以及转换clob类型方法
- ZOJ 3279
- uva 11294
- Phalanx--hdu2859(dp 最大对称子图)
- javascript之css常用属性
- CentOS+Apache+php无法访问redis的解决方法
- C# 异步操作
- java多线程基本概述(四)——死锁
- Linux信号实践(1) --Linux信号编程概述
- 使用node.js &; live server在移动端测试网站
- 一种隐蔽性较高的Java ConcurrentModificationException异常场景
- 【第八篇】SAP ABAP7.5x新语法之F4增强【续】
- (1.15)mysql锁问题之InnoDB锁
- VS2015 WPF Prism Xaml Designer error
- hdu 6395 Sequence (简单矩乘)
- linux diff 命令
- Warning -27077: The ";vuser_init"; section contains web function(s) when the ";Simulate a new user on each iteration"; Run-Time Setting is ON.
- Spring3.2.3+Quartz2.2.1 整合配置
- malefile