懒得按部就班的看教程,有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>
效果图: