https://download.csdn.net/download/weixin_45609946/86405765

Hello 大家好,此项目是我学习Android时完成的大作业。

首先我来介绍一下此项目,此项目功能包括

实现登录注册

实现开屏动画

卡牌抽取跳转展示,震动反馈,视频播放,背景音乐,页面跳转

计时器,颜色选取,画板,笔刷粗细调节

SQL数据库,数据储存,读取,删除

流程展示

  部分源码分享

首先分享的是MySQL数据库代码

package com.example.myapplication;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;public class Mysql extends SQLiteOpenHelper {public Mysql(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);}@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "create table logins(id integer primary key autoincrement,usname text,uspwd text)";db.execSQL(sql);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}

2.注册数据源码

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import com.example.myapplication.MainActivity;public class Register extends AppCompatActivity {EditText usename,usepwd,usepwd2;Button submit;Mysql mysql;SQLiteDatabase db;SharedPreferences sp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);usename = this.findViewById(R.id.usename);             //用户名编辑框usepwd =  this.findViewById(R.id.usepwd);              //设置初始密码编辑框usepwd2 = this.findViewById(R.id.usepwd2);              //二次输入密码编辑框submit =   this.findViewById(R.id.submit);              //注册按钮mysql = new Mysql(this,"Userinfo",null,1);      //建数据库db = mysql.getReadableDatabase();sp = this.getSharedPreferences("useinfo",this.MODE_PRIVATE);submit.setOnClickListener(new View.OnClickListener() {boolean flag = true;            //判断用户是否已存在的标志位@Overridepublic void onClick(View v) {String name = usename.getText().toString();               //用户名String pwd01 = usepwd.getText().toString();               //密码String pwd02 = usepwd2.getText().toString();           //二次输入的密码//性别if(name.equals("")||pwd01 .equals("")||pwd02.equals("")){Toast.makeText(Register.this, "用户名或密码不能为空!!", Toast.LENGTH_LONG).show();}else{Cursor cursor = db.query("logins",new String[]{"usname"},null,null,null,null,null);while (cursor.moveToNext()){if(cursor.getString(0).equals(name)){flag = false;break;}}if(flag==true){                                             //判断用户是否已存在if (pwd01.equals(pwd02)) {                               //判断两次输入的密码是否一致,若一致则继续,不一致则提醒密码不一致ContentValues cv = new ContentValues();cv.put("usname",name);cv.put("uspwd",pwd01);db.insert("logins",null,cv);SharedPreferences.Editor editor = sp.edit();editor.putString("usname",name);editor.putString("uspwd",pwd01);editor.commit();Intent intent = new Intent();intent.setClass(Register.this, MainActivity.class);      //跳转到登录页面startActivity(intent);Toast.makeText(Register.this, "注册成功!", Toast.LENGTH_LONG).show();}else {Toast.makeText(Register.this, "密码不一致!", Toast.LENGTH_LONG).show();           //提示密码不一致}}else{Toast.makeText(Register.this, "用户已存在!", Toast.LENGTH_LONG).show();         //提示密码不一致}}}});}
}

3.登录界面

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity9 extends AppCompatActivity implements View.OnClickListener {EditText name, pwd;Button btnlogin, btnreg;Mysql mysql;SQLiteDatabase db;SharedPreferences sp1, sp2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main9);name = this.findViewById(R.id.name);            //用户名输入框pwd = this.findViewById(R.id.pwd);              //密码输入框btnlogin = this.findViewById(R.id.login);         //登录按钮btnreg = this.findViewById(R.id.reg);               //注册按钮sp1 = this.getSharedPreferences("useinfo", this.MODE_PRIVATE);sp2 = this.getSharedPreferences("username", this.MODE_PRIVATE);name.setText(sp1.getString("usname", null));pwd.setText(sp1.getString("uspwd", null));mysql = new Mysql(this, "Userinfo", null, 1);//建数据库或者取数据库db = mysql.getReadableDatabase();btnlogin.setOnClickListener(this);btnreg.setOnClickListener(this);//登录事件}@Overridepublic void onClick(View v) {if ((v.getId() == R.id.reg)){Intent z = new Intent(this, Register.class);startActivity(z);Toast.makeText(MainActivity9.this,"前往注册!",Toast.LENGTH_SHORT).show();}if ((v.getId() == R.id.login)){String username = name.getText().toString();String password = pwd.getText().toString();                 //获取用户输入的用户名和密码//查询用户名和密码相同的数据Cursor cursor = db.query("logins",new String[]{"usname","uspwd"}," usname=? and uspwd=?",new String[]{username,password},null,null,null);int flag = cursor.getCount();                            //查询出来的记录项的条数,若没有该用户则为0条if(flag!=0){                                            //若查询出的记录不为0,则进行跳转操作//设置页面跳转SharedPreferences.Editor editor = sp2.edit();cursor.moveToFirst();                                   //将光标移动到position为0的位置,默认位置为-1String loginname = cursor.getString(0);editor.putString("Loginname",loginname);editor.commit();                                        //将用户名存到SharedPreferences中Intent x = new Intent(this, MainActivity10.class);startActivity(x);}else{Toast.makeText(MainActivity9.this,"用户名或密码错误!",Toast.LENGTH_LONG).show();//提示用户信息错误或没有账号}}}
}

4.  开屏动画源码

package com.example.myapplication;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.widget.ImageView;
import android.os.Bundle;
import android.widget.TextView;import com.example.myapplication.MainActivity;public class MainActivity10 extends AppCompatActivity {private ImageView welcomeImg = null;private SharedPreferences sp;private  TextView showhello;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main10);//ActionBar actionBar = getSupportActionBar();//消除APP该Activity界面标题栏if(actionBar!=null){ //消除APP该Activity界面标题栏actionBar.hide(); //消除APP该Activity界面标题栏} //消除APP该Activity界面标题栏welcomeImg = (ImageView) findViewById(R.id.imageView4);AlphaAnimation anima = new AlphaAnimation(0.3f, 1.0f);anima.setDuration(3000);// 设置简单动画的显示时间welcomeImg.startAnimation(anima);anima.setAnimationListener(new AnimationImpl());sp = this.getSharedPreferences("username", this.MODE_PRIVATE);  //获取sharepreferencesshowhello = this.findViewById(R.id.textView);           //显示欢迎showhello.setText("欢迎光临:"+sp.getString("Loginname",""));     //获取用户名}private class AnimationImpl implements AnimationListener {@Overridepublic void onAnimationStart(Animation animation) {welcomeImg.setBackgroundResource(R.drawable.gjok);}@Overridepublic void onAnimationEnd(Animation animation) {skip(); // 动画结束后跳转到别的页面}@Overridepublic void onAnimationRepeat(Animation animation) {}}private void skip() {startActivity(new Intent(this, MainActivity.class));//动画开屏后返回APP主界面finish(); //结束动画Activity进程}
}

5.主界面

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.ThemedSpinnerAdapter;import java.util.Random;
public class MainActivity extends AppCompatActivity implements MediaPlayer.OnCompletionListener,CompoundButton. OnCheckedChangeListener {private ImageView TP1, TP2, TP3;private Button BTN_START, BTN_FINISH,btr,btr1,btr2;private TextView RESULT;private CheckBox chk;static  boolean isPlay=true;private MyDatabaseHelper dbHelper;private int[] img = {R.drawable.z2, R.drawable.z3, R.drawable.z1};private MediaPlayer mper2;private MediaPlayer mper3;private MediaPlayer mper6;private MediaPlayer mper8;int HUIYE,QIANHUAN,GUJIAN,ANY,t;private Random a = new Random();//随机数private int b, c, d;private Handler handler= new Handler();private Runnable runnable=new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub//要做的事情b = a.nextInt(3);c = a.nextInt(3);d = a.nextInt(3);TP1.setImageResource(img[b]);//放置随机图片TP2.setImageResource(img[c]);TP3.setImageResource(img[d]);handler.postDelayed(this, 20);}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);show();dbHelper = new MyDatabaseHelper(this,"BooKStore.db",null,2);SQLiteDatabase db = dbHelper.getReadableDatabase();mper2 = MediaPlayer.create(this,R.raw.any1);mper2.setOnCompletionListener(this);mper2.setLooping(false);mper3 = MediaPlayer.create(this,R.raw.hy1);mper3.setOnCompletionListener(this);mper3.setLooping(false);mper6 = MediaPlayer.create(this,R.raw.gjzc);mper6.setOnCompletionListener(this);mper6.setLooping(false);PlayMusic();Intent z=new Intent(this, MainActivity2.class);Intent x=new Intent(this, MainActivity3.class);Intent v=new Intent(this, MainActivity4.class);Intent q=new Intent(this, MainActivity5.class);Intent w=new Intent(this, MainActivity6.class);Intent e=new Intent(this, MainActivity7.class);Intent r=new Intent(this, MainActivity8.class);Intent p=new Intent(this, MainActivity11.class);Intent ooo=new Intent(this, MainActivity12.class);Intent jjj=new Intent(this, MainActivity13.class);BTN_START.setOnClickListener(new View.OnClickListener() { //开始按钮监听事件@Overridepublic void onClick(View view) {handler.postDelayed(runnable, 20);//定时器启动Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);long[] pattern1 = {10,10};vibrator.vibrate(pattern1, 0);t=t+5;}});BTN_FINISH.setOnClickListener(new View.OnClickListener() { //结束按钮监听事件@Overridepublic void onClick(View view) {handler.removeCallbacks(runnable);//定时器结束if (img[b] == img[c] && img[b] == img[d] && img[c] == img[d] ){if(img[b]==img[0]){RESULT.setText("阿尼亚:哇库瓦库");ANY=ANY+3;ContentValues values=new ContentValues();values.put("ANY",ANY);db.insert("Book",null,values);values.clear();startActivity(x);Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}else if(img[b]==img[1]){RESULT.setText("古见同学想和你做朋友");GUJIAN=GUJIAN+3;ContentValues values=new ContentValues();values.put("GJTX",GUJIAN);db.insert("Book",null,values);values.clear();startActivity(v);Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}else if(img[b]==img[2]){RESULT.setText("辉夜好可爱哟耶耶耶");HUIYE=HUIYE+3;ContentValues values=new ContentValues();values.put("HYDXJ",HUIYE);db.insert("Book",null,values);values.clear();startActivity(q);Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}}elseif (img[b] == img[c]) {if(img[b]==img[0]){RESULT.setText("阿尼亚想去游乐园");ANY=ANY+2;ContentValues values=new ContentValues();values.put("ANY",ANY);db.insert("Book",null,values);values.clear();startActivity(w);mper2.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if(img[b]==img[1]){RESULT.setText("古见同学对你说:加油");GUJIAN=GUJIAN+2;ContentValues values=new ContentValues();values.put("GJTX",GUJIAN);db.insert("Book",null,values);values.clear();startActivity(e);mper6.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if(img[b]==img[2]){RESULT.setText("辉夜大小姐居然有替身???");HUIYE=HUIYE+2;ContentValues values=new ContentValues();values.put("HYDXJ",HUIYE);db.insert("Book",null,values);values.clear();startActivity(r);mper3.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}}elseif (img[b] == img[d]) {if (img[b] == img[0]) {RESULT.setText("阿尼亚想去游乐园");ANY=ANY+2;ContentValues values=new ContentValues();values.put("ANY",ANY);db.insert("Book",null,values);values.clear();startActivity(w);mper2.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if (img[b] == img[1]) {RESULT.setText("古见同学对你说:加油");GUJIAN=GUJIAN+2;ContentValues values=new ContentValues();values.put("GJTX",GUJIAN);db.insert("Book",null,values);values.clear();startActivity(e);mper6.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if (img[b] == img[2]) {RESULT.setText("辉夜大小姐居然有替身???");HUIYE=HUIYE+2;ContentValues values=new ContentValues();values.put("HYDXJ",HUIYE);db.insert("Book",null,values);values.clear();startActivity(r);mper3.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}}elseif (img[c] == img[d]) {if (img[c] == img[0]) {RESULT.setText("阿尼亚想去游乐园");ANY=ANY+2;ContentValues values=new ContentValues();values.put("ANY",ANY);db.insert("Book",null,values);values.clear();startActivity(w);mper2.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if (img[c] == img[1]) {RESULT.setText("古见同学对你说:加油");GUJIAN=GUJIAN+2;ContentValues values=new ContentValues();values.put("GJTX",GUJIAN);db.insert("Book",null,values);values.clear();startActivity(e);mper6.start();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if (img[c] == img[2]) {RESULT.setText("辉夜大小姐居然有替身???");mper3.start();HUIYE=HUIYE+2;ContentValues values=new ContentValues();values.put("HYDXJ",HUIYE);db.insert("Book",null,values);values.clear();startActivity(r);Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}}else {RESULT.setText("千花:真拿你没办法呢");QIANHUAN=QIANHUAN+3;ContentValues values=new ContentValues();values.put("QIANHUA",QIANHUAN);db.insert("Book",null,values);values.clear();startActivity(z);Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}if(QIANHUAN>=1||GUJIAN>=1||ANY>=1||HUIYE>=1) {btr1.setOnClickListener(new View.OnClickListener() { //开始按钮监听事件@Overridepublic void onClick(View view) {startActivity(jjj);}});}}});btr.setOnClickListener(new View.OnClickListener() { //开始按钮监听事件@Overridepublic void onClick(View view) { startActivity(p);}});btr1.setOnClickListener(new View.OnClickListener(){ //开始按钮监听事件@Overridepublic void onClick(View view) {}});btr2.setOnClickListener(new View.OnClickListener(){ //开始按钮监听事件@Overridepublic void onClick(View view) {startActivity(ooo);}});}private void show() {TP1 = findViewById(R.id.tp1);TP2 = findViewById(R.id.tp2);TP3 = findViewById(R.id.tp3);BTN_START = findViewById(R.id.btn_start);BTN_FINISH = findViewById(R.id.btn_finish);btr = findViewById(R.id.button8);btr1 =findViewById(R.id.button11);btr2 =findViewById(R.id.button13);RESULT = findViewById(R.id.result);chk=findViewById(R.id.checkBox);chk = findViewById(R.id.checkBox);chk.setOnCheckedChangeListener(this);}@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {}@Overridepublic void onCheckedChanged(CompoundButton compoundButton, boolean b) {if (chk.isChecked()) {mper8.pause();}else{mper8.start();}}protected void onStop(){super.onStop();if(mper8!=null){mper8.stop();}}protected void onDestroy(){super.onDestroy();if(mper8!=null){mper8.stop();mper8.release();mper8=null;}}protected void onRestart(){super.onRestart();if(isPlay=true);{PlayMusic();}}private void PlayMusic() {mper8 = MediaPlayer.create(this,R.raw.bjyy);mper8.setOnCompletionListener(this);mper8.setLooping(true);mper8.start();}
}

6.抽卡存放数据库

package com.example.myapplication;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;public class MyDatabaseHelper extends SQLiteOpenHelper {public static final String CREATE_BOOK ="Create table book("+"id integer Primary key autoincrement,"+"ANY real," +"QIANHUA real," +"GJTX real," +"HYDXJ real)";public static final String CREATE_CATEGORY ="Create table Category("+"id integer Primary key autoincrement,"+"Category_name text,"+"category_code text)";private Context mContext;//必须要有context才能对数据库进行操作
//name数据库名
//返回一个自定义的Cursor 一般传入null
//当前数据库的版本号 可以对数据库进行操作public MyDatabaseHelper( Context context,  String name,  SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);mContext = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_BOOK);db.execSQL(CREATE_CATEGORY);Toast.makeText(mContext,"success",Toast.LENGTH_SHORT).show();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists Book");db.execSQL("drop table if exists Categeory");onCreate(db);}
}

7.跳转页面

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;public class MainActivity2 extends AppCompatActivity implements View.OnClickListener{private VideoView videoView;private MediaController mediaController;private Button btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);videoView = findViewById(R.id.QHSJ);mediaController = new MediaController(this);String uri = "android.resource://" + getPackageName() + "/" + R.raw.qhsp;videoView.setVideoURI(Uri.parse(uri));videoView.setMediaController(mediaController);mediaController.setMediaPlayer(videoView);videoView.start();btn=findViewById(R.id.button);btn.setOnClickListener(this);}@Overridepublic void onClick(View view) {finish();}
}

8. 收集卡片

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity12 extends AppCompatActivity implements View.OnClickListener {private MyDatabaseHelper dbHelper;private TextView QH,HY,GJ,AY;private Button btr12,btr14;private ImageButton gj,any,hy,qh;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main12);dbHelper = new MyDatabaseHelper(this,"BooKStore.db",null,2);QH = findViewById(R.id.QH);HY = findViewById(R.id.HY);GJ = findViewById(R.id.GJ);AY = findViewById(R.id.AY);AY.setText("");QH.setText("");HY.setText("");GJ.setText("");btr12 =findViewById(R.id.button12);btr14 =findViewById(R.id.button14);gj = findViewById(R.id.gjaj);gj.setOnClickListener(this);any = findViewById(R.id.anyaj);any.setOnClickListener(this);hy = findViewById(R.id.hyaj);hy.setOnClickListener(this);qh = findViewById(R.id.qhaj);qh.setOnClickListener(this);btr12.setOnClickListener(this);btr14.setOnClickListener(this);SQLiteDatabase db = dbHelper.getReadableDatabase();Cursor cursor = db.query("Book",null,null,null,null,null,null);if(cursor.moveToFirst()){do{@SuppressLint("Range") int ANY = cursor.getInt(cursor.getColumnIndex("ANY"));@SuppressLint("Range") int GJTX = cursor.getInt(cursor.getColumnIndex("GJTX"));@SuppressLint("Range") int QIANHUA = cursor.getInt(cursor.getColumnIndex("QIANHUA"));@SuppressLint("Range") int HYDXJ = cursor.getInt(cursor.getColumnIndex("HYDXJ"));if(ANY>0)AY.setText(""+ANY);if(QIANHUA>0)QH.setText(""+QIANHUA);if(HYDXJ>0)HY.setText(""+HYDXJ);if(GJTX>0)GJ.setText(""+GJTX);}while (cursor.moveToNext());}}@Overridepublic void onClick(View v) {if ((v.getId() == R.id.button12)) {SQLiteDatabase db = dbHelper.getReadableDatabase();ContentValues values = new ContentValues();values.put("ANY", 0);values.put("GJTX", 0);values.put("QIANHUA", 0);values.put("HYDXJ", 0);db.update("Book", values, null, null);Cursor cursor = db.query("Book", null, null, null, null, null, null);if (cursor.moveToFirst()) {do {@SuppressLint("Range") int ANY = cursor.getInt(cursor.getColumnIndex("ANY"));@SuppressLint("Range") int GJTX = cursor.getInt(cursor.getColumnIndex("GJTX"));@SuppressLint("Range") int QIANHUA = cursor.getInt(cursor.getColumnIndex("QIANHUA"));@SuppressLint("Range") int HYDXJ = cursor.getInt(cursor.getColumnIndex("HYDXJ"));AY.setText("" + ANY);QH.setText("" + QIANHUA);HY.setText("" + HYDXJ);GJ.setText("" + GJTX);} while (cursor.moveToNext());}}if ((v.getId() == R.id.button14)){finish();}if ((v.getId() == R.id.gjaj)){Intent t=new Intent(this, MainActivity4.class);startActivity(t);}if ((v.getId() == R.id.anyaj)){Intent x=new Intent(this, MainActivity3.class);startActivity(x);}if ((v.getId() == R.id.hyaj)){Intent q=new Intent(this, MainActivity5.class);startActivity(q);}if ((v.getId() == R.id.qhaj)){Intent z=new Intent(this, MainActivity2.class);startActivity(z);}}
}

9. 隐藏模式

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity13 extends AppCompatActivity {private TextView QH,HY,GJ,AY;private Button btr14;int i;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main13);QH = findViewById(R.id.QIANHUA);HY = findViewById(R.id.HUIYE);GJ = findViewById(R.id.GUJIAN);AY = findViewById(R.id.ANY);btr14=findViewById(R.id.button14);btr14.setOnClickListener(new View.OnClickListener(){ //开始按钮监听事件@Overridepublic void onClick(View view) {i+=1;if (i==1) {GJ.setText("我每周四都更新哦,大家不要忘记来看啦");}if (i==2){AY.setText("阿尼亚周六更新哦");}if (i==3){HY.setText("我也是周六更新哦");}if (i==4){QH.setText("啊,我和辉夜是在一起哒大家一定要来哦");}if (i==5){GJ.setText("哎,不知道HYF大人会不会来呢");}if (i==6){AY.setText("阿尼亚最喜欢HYF哥哥啦");}if (i==7){HY.setText("Σ(っ °Д °;)っ,HYF大人会来看么!");}if (i==8){QH.setText("辉夜你不要社长了嘛");}if (i==9){HY.setText("咳咳,好吧,大家不要错过我们更新就好了,一定要来看哦");}}});btr14.setOnLongClickListener(new View.OnLongClickListener(){ //开始按钮监听事件@Overridepublic boolean onLongClick(View view) {
finish();
return true;}});}}

10.你画我猜

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.os.Vibrator;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.TextView;import java.util.Random;
public class MainActivity11 extends AppCompatActivity{Paint paint;Canvas canvas;ImageView imageview;Bitmap bitmap;TextView tv_stroke,XIANS;Chronometer ch;int startX, startY, endX, endY;private Random a = new Random();//随机数private int b;int i=0;private Handler handler= new Handler();private Runnable runnable=new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubb = a.nextInt(4);handler.postDelayed(this, 20);if (b==0){XIANS.setText("辉夜大小姐");}if (b==1){XIANS.setText("藤原千花");}if (b==2){XIANS.setText("古见同学");}if (b==3){XIANS.setText("阿尼亚");}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main11);tv_stroke = findViewById(R.id.tv_stroke);XIANS = findViewById(R.id.WENTI);LinearLayout ll_layout = findViewById(R.id.ll_layout);RadioGroup rg_color = findViewById(R.id.rg_color);ch=findViewById(R.id.JSQ);ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {@Overridepublic void onChronometerTick(Chronometer chronometer) {if(SystemClock.elapsedRealtime()-ch.getBase()>=10000){ch.stop();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);long[] pattern1 = {100,100,100};vibrator.vibrate(pattern1, 0);}}});// 循环遍历单选按钮for (int i = 0;i<rg_color.getChildCount();i++){RadioButton rb = (RadioButton) rg_color.getChildAt(i);rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {  // 为单选按钮注册选中响应事件@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (buttonView.isChecked()){paint.setColor(buttonView.getTextColors().getDefaultColor());  // 获取单选按钮颜色并将颜色设置}}});}imageview = findViewById(R.id.imageview);Log.i("MyPaintToolsActivity",imageview.getWidth()+" "+imageview.getHeight());Point point = new Point();getWindowManager().getDefaultDisplay().getSize(point);Log.i("MyPaintToolsActivity",point.x+" "+point.y);bitmap = Bitmap.createBitmap(800,1000,Bitmap.Config.ARGB_8888);  // 创建一张空白图片canvas = new Canvas(bitmap);    // 创建一张画布,并图片放在画布上面canvas.drawColor(Color.WHITE);   // 设置画布背景颜色为白色paint = new Paint(Paint.ANTI_ALIAS_FLAG);paint.setStyle(Paint.Style.STROKE);paint.setStrokeWidth(5);paint.setAntiAlias(true);paint.setColor(Color.RED);paint.setStrokeCap(Paint.Cap.ROUND);canvas.drawBitmap(bitmap,new Matrix(),paint);  //把灰色背景画在画布上imageview.setImageBitmap(bitmap);         // 把图片加载到ImageView上// 注册触摸监听事件imageview.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch(event.getAction()){case MotionEvent.ACTION_DOWN:Log.i("MyPaintToolsActivity","ACTION_DOWN");// 获取鼠标按下时的坐标startX = (int) (event.getX()/1.4);startY = (int) (event.getY()/1.4);break;case MotionEvent.ACTION_MOVE:Log.i("MyPaintToolsActivity","ACTION_MOVE");// 获取鼠标移动后的坐标endX = (int) (event.getX()/1.4);endY = (int) (event.getY()/1.4);//在开始和结束之间画一条直线canvas.drawLine(startX,startY,endX,endY,paint);// 实时更新开始坐标startX = (int) (event.getX()/1.4);startY = (int) (event.getY()/1.4);// 更新ImageView上的画布图片imageview.setImageBitmap(bitmap);break;case MotionEvent.ACTION_UP:Log.i("MyPaintToolsActivity","ACTION_UP");break;}imageview.invalidate();return true;}});// 清除Button btn_clear = findViewById(R.id.btn_clear);btn_clear.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 清空画布的方法:// 方法一:// canvas.drawColor(0,PorterDuff.Mode.CLEAR);// 方法二:// canvas.drawColor(Color.TRANSPARENT,PorterDuff.Mode.CLEAR);// 方法三:Paint paint = new Paint();paint.setAntiAlias(true);paint.setStrokeCap(Paint.Cap.ROUND);paint.setStyle(Paint.Style.STROKE);paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));canvas.drawPaint(paint);paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));imageview.invalidate(); //显示到布局文件中的ImageView控件上}});Button btn_save = findViewById(R.id.btn_save);btn_save.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {i+=1;ch.start();ch.setFormat("%s");ch.setBase(SystemClock.elapsedRealtime());handler.postDelayed(runnable, 20);//定时器启动if(i%2==0){handler.removeCallbacks(runnable);//定时器结束}}});Button btn_FH = findViewById(R.id.TC);btn_FH.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v){finish();Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);vibrator.cancel();}});// 擦除Button btn_eraser = findViewById(R.id.btn_eraser);btn_eraser.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {paint.setColor(Color.rgb(250,250,250));paint.setStrokeWidth(30);}});// Progress进度条 ,调节画笔粗细SeekBar sb_stroke = findViewById(R.id.sb_stroke);sb_stroke.setProgress(5);  //进度条初始大小值为5sb_stroke.setMax(30);sb_stroke.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {paint.setStrokeWidth(progress);tv_stroke.setText("画笔粗度为:"+progress);}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}});}}

Android Studio 抽卡小游戏相关推荐

  1. 用C语言写了一个明日方舟的简略的抽卡小游戏

    明日方舟抽卡小游戏 目录 明日方舟抽卡小游戏 第一步 创建菜单 游戏的实现 头文件的声明 写这个程序的灵感来来自于<每天都要学一点哦>,本人不怎么完原神,就自己做了个明日方舟版的 过程和猜 ...

  2. 利用switch语句制作的抽卡小游戏。

    标题:利用switch语句制作的抽卡小游戏. 输出效果: 代码部分: 基本只用了switch的嵌套来完成 //该游戏是使用switch语句开发的数字小游戏,作者:initial.M //抽卡游戏规则介 ...

  3. Android Studio实现五子棋小游戏

    项目目录 一.项目概述 二.开发环境 三.详细设计 1.布局设计 2.验证码 3.AI人机 4.背景音乐 四.运行演示 五.项目总结 六.源码获取 一.项目概述 五子棋是一种两人对弈的策略型棋类游戏, ...

  4. Android Studio实现数独小游戏,休闲益智

    文章目录 一.项目概述 二.开发环境 三.详细设计 3.1 界面设计 3.2 逻辑设计 四.运行演示 五.源码获取 一.项目概述 数独是一种逻辑解谜游戏,它规则稍复杂,解题过程富有挑战性.本次安卓数独 ...

  5. 第52篇 Android Studio实现生命数字游戏(七)ListView与适配器

    第52篇 Android Studio实现生命数字游戏(七)ListView与适配器 1.ListView 1.1.适配界面 1.2.适配器 1.ListView 在布局中直接添加. 没有什么好说明, ...

  6. 第46篇 Android Studio实现生命数字游戏(一)数据分析

    第46篇 Android Studio实现生命数字游戏(一)数据分析 1.数据 1.1.生日 1.2.生日数 1.3.天赋数 1.4.命数 1.5.星座数 2.数字对应的解析 1.数据 数据是在生命数 ...

  7. 解决一个Android Studio gradle的小问题

    解决一个Android Studio gradle的小问题 参考文章: (1)解决一个Android Studio gradle的小问题 (2)https://www.cnblogs.com/xzha ...

  8. 第50篇 Android Studio实现生命数字游戏(五)计算星座数

    第50篇 Android Studio实现生命数字游戏(五)计算星座数 1.变量说明: 1.1.统计圈数 2.计算命数 2.1.使用的数据 2.2.星座对应日期和数字 2.3.说明 2.4.代码 1. ...

  9. Android 实现扑克牌动画,Android扑克牌猜点小游戏源码

    Android扑克牌猜点小游戏源码分享. 该游戏是简单的猜点游戏, 1点为正确的点数 点重新开始后进行洗牌 每次牌的顺序不同 Java代码: package com.mrzhu.test0109_pr ...

最新文章

  1. Spring Boot 集成 Swagger-Bootstrap-UI,非常棒的解决方案
  2. 北京实习总结——记住牛人那些话
  3. mysql 代理作业_查看SQLServer 代理作业的历史信息
  4. 人工智能的概念和知识构架_概念验证:玩! 构架
  5. 「浏览器插件」非常好用的JSON-View
  6. 命令行运行jmeter脚本
  7. 『TensorFlow』分布式训练_其二_单机多GPU并行GPU模式设定
  8. 锤子濒危、金立倒闭,华米 OV 们如何艰难求生?
  9. 如何修改maven默认仓库(即repository)的路径
  10. 计算机组成原理与汇编语言试题,2069电大《计算机组成原理与汇编语言》试题和答案2005...
  11. 数据结构 栈的结构特点及基本操作
  12. 解决Kafka-1194问题
  13. 关于如何有效锻炼肌肉的十个小贴士(转)
  14. 平均年薪50万,人才缺口30.8万,职场人拿下这个法律证书有多香!
  15. [Python]阴阳师-抗检测多功能护肝辅助脚本
  16. Verilog语言之结构语句:if、case
  17. 利用js制作的简单网页小游戏
  18. Couldn‘t store trigger ‘‘ for ‘‘ job:Couldn‘t retrieve job because the BLOB couldn‘t be deserialized
  19. bim综合软件:一次性快速解锁所有轴网,生成轴网
  20. 矩阵的乘法口诀(一)

热门文章

  1. 第一节 红帽认证培训 开班仪式+介绍Linux
  2. [转载]CSDN怎么转载别人的博客
  3. [Python图像处理] 六.图像缩放、图像旋转、图像翻转与图像平移
  4. 中国电信SIP账号在FreePBX 13中的中继设置
  5. pdm系统是归档服务器吗,PDM系统与档案管理系统集成方法研究
  6. 蒙牛开启元宇宙世界,成功发布首个二次元员工形象
  7. ES6数组方法find()、findIndex()的总结
  8. 视频剪辑:如何在视频里面添加自己喜欢的图片作为封面
  9. 7款最常用的PHP本地测试环境
  10. CV2简单阈值函数:cv2.threshold()