懒得按部就班的看教程,有Java功底,有J2ME基础,其实就已经入门了。
万能开发入门程序开发模式:
选择一种布局方式-->在合适的位置放入控件(文本框、标签、按钮等)-->绑定事件监听-->找到程序起动入口(main(),onCreate() 等)-->取出前端界面的值 然后处理数据 -->把结果展示到界面上。
OK,其实入门就是知道有哪些可用的控件(andriod 上叫做Widget),然后看API有哪些属性和方法可用。这里说的只是入门。
刚开始学习Android开发,今天写了个小游戏玩玩。《猜牌游戏源码》,直接发代码:
Activity文件:GuessPokerActivity.java
public class GuessPokerActivity extends Activity implements OnClickListener {
/* 声明三张扑克 */
private ImageView imgview1, imgview2, imgview3;
/* 声明重新猜牌按钮 */
private Button reguessbt;
/* 初始化化三张扑克数组 */
private int[] pImage = { R.drawable.pa, R.drawable.p2, R.drawable.p3 };
/* 重新开始标记 游戏一次后变为1 重玩游戏后为0 */
private int a = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 取得界面各控件 */
imgview1 = (ImageView) findViewById(R.id.imageView1);
imgview2 = (ImageView) findViewById(R.id.imageView2);
imgview3 = (ImageView) findViewById(R.id.imageView3);
reguessbt = (Button) findViewById(R.id.reGuess_Bt);
/* 洗牌 */
RandSetPk();
/* 设置事件监听 */
imgview1.setOnClickListener(this);
imgview2.setOnClickListener(this);
imgview3.setOnClickListener(this);
reguessbt.setOnClickListener(this);
}
/* 实现点击事件 */
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageView1:
judgeImage(0, imgview1);
break;
case R.id.imageView2:
judgeImage(1, imgview2);
break;
case R.id.imageView3:
judgeImage(2, imgview3);
break;
case R.id.reGuess_Bt:
reStart();
break;
}
}
/**
* 判断点击的图片是否红桃A
*/
private void judgeImage(int ind, ImageView sImg) {
if (a > 0) {
return;
}
// 将三张扑克设置到界面三张图片中
imgview1.setImageResource(pImage[0]);
imgview2.setImageResource(pImage[1]);
imgview3.setImageResource(pImage[2]);
imgview1.setAlpha(100);
imgview2.setAlpha(100);
imgview3.setAlpha(100);
sImg.setAlpha(255);
// pImage[0] 即为 imgview1; pImage[1] 即为 imgview2 ...
if (pImage[ind] == R.drawable.pa) {
Toast.makeText(this, "恭喜你猜对了", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "对不起,你猜错了", Toast.LENGTH_SHORT).show();
}
a++;
}
/**
* 随机设置三张扑克的位置
*/
private void RandSetPk() {
// 随机三张扑克数组元素位置
for (int i = 0; i < pImage.length; i++) {
int temp = pImage[i];
int s = (int) (Math.random() * 2);
pImage[i] = pImage[s];
pImage[s] = temp;
}
}
/**
* 重置游戏
*/
private void reStart() {
imgview1.setImageResource(R.drawable.pback);
imgview2.setImageResource(R.drawable.pback);
imgview3.setImageResource(R.drawable.pback);
imgview1.setAlpha(255);
imgview2.setAlpha(255);
imgview3.setAlpha(255);
RandSetPk();
a = 0;
}
}
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:text="猜猜那张是红桃A" android:id="@+id/welcomestr_tv" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="19dip" android:typeface="serif" android:gravity="center"> </TextView> <RelativeLayout android:layout_height="wrap_content" android:id="@+id/relativeLayout1" android:layout_width="match_parent" android:gravity="center" android:layout_marginTop="20dip"> <ImageView android:id="@+id/imageView1" android:layout_width="71dip" android:layout_height="96dip" android:src="@drawable/pback" ></ImageView> <ImageView android:id="@+id/imageView2" android:layout_width="71dip" android:layout_height="96dip" android:src="@drawable/pback" android:layout_toRightOf="@id/imageView1" android:layout_marginLeft="10dip" ></ImageView> <ImageView android:id="@+id/imageView3" android:layout_width="71dip" android:layout_height="96dip" android:src="@drawable/pback" android:layout_toRightOf="@id/imageView2" android:layout_marginLeft="10dip" ></ImageView> </RelativeLayout> <Button android:text="重新来猜" android:id="@+id/reGuess_Bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="20dip"></Button> </LinearLayout>
效果图: