好久没来了(ps:放寒假了,我是农村娃,家里没网),开学了,学完了java 的相关知识,开始接触了安卓开发,下面介绍一下我第一个小项目吧。
第一个小程序:倒计时
页面布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/inputtime"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10" >
</EditText>
<Button
android:id="@+id/gettime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="获取倒计时时间" >
</Button>
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
<Button
android:id="@+id/starttime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始计时" >
</Button>
<Button
android:id="@+id/stoptime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止计时" >
</Button>
</LinearLayout></span>
这是基本的一个布局文件。
<span style="font-size:14px;color:#ff0000;">package com.xY;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class CountTimeActivity extends Activity implements OnClickListener {
private EditText inputet;
private Button getTime, startTime, stopTime;
private TextView time;
private int i = 0;
private Timer timer = null;
private TimerTask task = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
}
private void initView() {
inputet = (EditText) findViewById(R.id.inputtime);
getTime = (Button) findViewById(R.id.gettime);
startTime = (Button) findViewById(R.id.starttime);
stopTime = (Button) findViewById(R.id.stoptime);
time = (TextView) findViewById(R.id.time);
getTime.setOnClickListener(this);
startTime.setOnClickListener(this);
stopTime.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.gettime:
time.setText(inputet.getText().toString());
i = Integer.parseInt(inputet.getText().toString());
break;
case R.id.starttime:
startTime();
break;
case R.id.stoptime:
stopTime();
break;
}
}
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
time.setText(msg.arg1 + "");
startTime();
}
};
public void startTime() {
timer = new Timer();
task = new TimerTask() {
public void run() {
i--;
Message message = mHandler.obtainMessage();
message.arg1 = i;
mHandler.sendMessage(message);
}
};
timer.schedule(task, 1000);
}
public void stopTime() {
timer.cancel();
}
}
做完这一切之后咋eclipse的虚拟安卓机上运行感觉蛮开心的,至少学了这么久可以弄一个实实在在的可以安装在自己手机上装逼的小程序,接下来的学习也增强了很大的自信心,先解释一下自己对这段代码的认识吧:
首先在布局文件中布局需要显示的界面样式,输入文本框(EditText),按钮(Button),文本框(TextView)等,还有很多组件用来布局的。最终要的还有LinerLayout这个线性布局,在这里的xml文件设置了各种各样的显示文本之后,设置的id会自动在R文件中生成id地址,然后再主avtivity中获取你所需要的内容。在activity中用到了线程相关的知识,由于之前学会java的一些知识,所以理解起来相对容易一点。就这样实现了倒计时这个小程序。
第一次在自己的手机上运行,我调试了半天没有成功,最后用重新写了一遍成功了,最后检查是第一个代码有点小问题的原因(ps:eclipse没有报错,建议第一次和手机连接时需要好好看一下代码).总之第一次学习安卓,还不错,加油