由于前文Day 3:Android基础UI界面设计已经将App的界面设计好,接下来我们要做的事情,就是开发程序了。找到项目目录里的“src”,点开其中的“MainActivity.java”,开启你的第一个Android App之旅吧!
###第一步,简化代码
最初显示的Java源代码,你可能不太明白。然而,这并不会影响你的开发进程,唯有懒惰才会。本着“不明白的代码不要胡乱粘贴”的精神,我们可以对此进行简化:
//程序所属包名
package com.example.biglottery;
//Ctrl+Shift+O:即可导入所需的API的包
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity { //继承
//重写父类的方法
@Override
protected void onCreate(Bundle savedInstanceState) {//第一阶段程序
super.onCreate(savedInstanceState); //父类的生命周期的第一阶段程序
setContentView(R.layout.activity_main); //前面的版面内容
}
}
###第二步,存取组件
有一丢丢编程基础同学都知道,要想使用某些数据,就必须先声明其类型。这里,我们是要找出Button和TextView两个组件:
private Button torich;
private TextView richnum;
接着,取出组件:
//找寻显示组件
torich=(Button)findViewById(R.id.torich); //翻译成:通过Id在界面寻找xxx
richnum=(TextView)findViewById(R.id.richnum);
###第三步,事件处理
什么叫事件处理?简而言之,App要对你对它干下的事情有所响应。而谈及处理程序,一般通过添加监听器来完成。至于这个程序,我们用到的监听器是OnClickListener:
//按钮事件处理模式
torich.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
###第四步,功能设计
每个App都有其特定的功能,我们写下了一个产生乐透号码的程序:
//产生乐透号码
private void createLottery(){
TreeSet<Integer> set=new TreeSet<Integer>();
while(set.size()<6){
set.add((int)(Math.random()*49+1));
}
richnum.setText("");
Iterator<Integer> iterator=set.iterator();
while(iterator.hasNext()){ //判断数据是否存在
int num=iterator.next();
richnum.append(num+" ");
}
###第五步,运行程序
完整代码,如下:
package com.example.biglottery;
//Ctrl+Shift+O:即可导入所需的包
import java.util.Iterator;
import java.util.TreeSet;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button torich;
private TextView richnum;
@Override
protected void onCreate(Bundle savedInstanceState) { //生命周期的第一阶段程序
super.onCreate(savedInstanceState); //父类的生命周期的第一阶段程序
setContentView(R.layout.activity_main); //前面的版面内容
//找寻显示组件
torich=(Button)findViewById(R.id.torich);
richnum=(TextView)findViewById(R.id.richnum);
//按钮事件处理模式
torich.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
createLottery();
}
});
}
//产生乐透号码
private void createLottery(){
TreeSet<Integer> set=new TreeSet<Integer>();
while(set.size()<6){
set.add((int)(Math.random()*49+1));
}
richnum.setText("");//清空
Iterator<Integer> iterator=set.iterator();
while(iterator.hasNext()){ //判断数据是否存在
int num=iterator.next();
richnum.append(num+" ");
}
}
}
运行看看结果吧:
【编辑推荐】