自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

(~﹃~)~zZ的专栏

专注于实现基于蓝牙的温度采集系统,实现单片机与android手机间的数据通讯。采集数据可包括温度、湿度、PM2.5、紫外线强度等等。

  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 安全加密方案

安全加解密方案

2015-01-07 09:58:19 1223

原创 【做任务赚money攻略】“试客小兵”和“试玩守护”

不多说,苹果用户有用过“试客小兵”和“试玩守护”的都知道,里面做一个任务至少能得到+2元的任务奖励,一个任务至多3~5分钟搞定。任务要求:下载市场主流的APP即可,下载完试用2分钟,得到任务奖励后便可卸载!!!扫面下面关注微信公众号,按提示做任务即可!!!试客小兵:试玩守护:      上图右边都是本来注册一天后,闲暇

2016-01-07 14:48:14 7112 3

原创 众筹一元夺宝---会玩的赶紧来组团

一元夺宝q裙,489424255。十人开团!玩过一元夺宝的应该会明白,自己单独投资,中奖概率还是很低的。有没想过,组个团队,集每人的份额,投进去是不是概率是高了,虽然中将之后,奖品拾大家分,但按中将概率,多参与几期是不是很容易。进我裙里吧!

2015-11-23 22:13:11 1184

原创 USART 串口 DMA 发送和接收

串口DMA发送:发送数据的流程:前台程序中有数据要发送,则需要做如下几件事1.      在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配置中去。2.      将数据缓冲区内要发送的数据字节数赋值给发送DMA通道,(串口发送DMA和串口接收DAM不是同一个DMA通道)3.      开启DMA,一旦开启,则DMA开始发送数

2015-11-07 15:24:32 8495 1

原创 域名申请-企业网站创建-后期维护,个人全程为您定制服务

一个优秀的企业网站可以让更多的客户能看到你企业的信息,能让他们更加信服你这个公司确实是存在的。这一点对刚起步的企业的甚为重要。本人有域名申请-企业网站创建-后期维护的开发经验,也希望在此领域积累更多的经验,因此欢迎各企业前来了解创建企业网站的事宜,本人愿竭诚为大家服务。有意者可加我qq来详聊:974135698。

2015-11-03 10:39:26 685

原创 KEIL编译器错误精心整理

KEIL编译器错误精心整理

2015-01-16 14:20:08 12787 2

原创 Keil C51初始化代码 Startup.a51的中文说明

Keil C51初始化代码 Startup.a51的中文说明

2015-01-07 14:22:40 1919

原创 基于蓝牙的温度采集系统 android 单片机

实现功能就是在单片机上接上蓝牙的从机模块和温度传感器以及液晶显示屏,手机呢我自己写了一个界面(有实现蓝牙打开、搜索和连接其他蓝牙设备、接收和发送数据),单片机在温度传感器测出温度后将值通过蓝牙模块发给手机蓝牙(串口通讯原理)并在手机设计的界面显示,手机上我也做了个与单片机交互的一个小功能,就是在手机上发一串信息出去,然后单片机接收并显示到液晶屏。

2014-12-30 14:18:26 6144 4

身份证数据库(.db文件)

身份证 数据库 查询 在做安卓应用开发时碰到的,可以用来查询某个身份证号所在的具体城市。

2012-05-18

游戏动画素材

游戏动画素材

2012-05-17

炫舞吧 android 游戏开发(更新完成)

炫舞吧 android 游戏开发(更新完成)

2012-05-13

炫舞吧 android 游戏开发

模仿qq炫舞游戏做出的单机版游戏 package cn.itcast.game; import java.io.InputStream; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.SoundPool; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.Display; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.SurfaceHolder.Callback; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; import android.widget.RadioGroup.OnCheckedChangeListener; public class MainActivity extends Activity { AnimView mAnimView = null; public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // 检测屏幕的方向:纵向或横向 if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // 当前为横屏, 在此处添加额外的处理代码 } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 当前为竖屏, 在此处添加额外的处理代码 } } public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); android.os.Process.killProcess(android.os.Process.myPid()); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // 强制为横屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); Display display = getWindowManager().getDefaultDisplay(); // 显示自定义的游戏View mAnimView = new AnimView(this, display.getWidth(), display.getHeight()); setContentView(mAnimView); } public boolean onTouchEvent(MotionEvent event) { // 获得触摸的坐标 int x = (int) event.getX(); int y = (int) event.getY(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: mAnimView.UpdateEvent(x, y); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; } return false; } public class AnimView extends SurfaceView implements Callback, Runnable { private Paint mpaint = null; private Bitmap bitmap = null; private Context mContext = null; private Canvas mCanvas = null; private boolean mIsRunning = false; private Thread mthread = null; private SurfaceHolder mSurfaceHolder = null; private Bitmap bitmap_main_1 = null; private Bitmap bitmap_main_2 = null; private Bitmap bitmap_main_3 = null; private Bitmap bitmap_main_4 = null; private int temp = 0; private int bitmap_main_1_Width = 0; private int bitmap_main_1_Height = 0; private int bitmap_main_2_Width = 0; private int bitmap_main_2_Height = 0; private int bitmap_main_3_Width = 0; private int bitmap_main_3_Height = 0; private int bitmap_main_4_Width = 0; private int bitmap_main_4_Height = 0; private MediaPlayer mMediaPlayer = null; private SoundPool mSoundPool = null; private int button_sound = 0; private Bitmap bitmap_up = null; // 屏幕尺寸 private int mScreenWidth = 0; // private int mScreenHeight = 0; // 炫舞吧 图片尺寸 private int bitmap_up_width = 0; private Handler handler = new Handler() { public void handleMessage(Message msg) { try { Log.e("MainActivity", "wenxi11111"); dialog_show(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; private RadioGroup m_RadioGroup = null; private RadioButton m_Radio2 = null; private RadioButton m_Radio1 = null; private RadioButton m_Radio3 = null; protected int choose_music = 1; protected int music_play = 0; public int start_music = 0; protected int now_checkid = 0; public AnimView(Context context, int width, int height) { super(context); mScreenWidth = width; // mScreenHeight = height; mContext = context; mpaint = new Paint(); /** 获取mSurfaceHolder **/ mSurfaceHolder = getHolder(); mSurfaceHolder.addCallback(this); init(); } public void dialog_show() { Log.e("MainActivity", "wenxi2222222"); AlertDialog.Builder builder = new AlertDialog.Builder(mContext); Log.e("MainActivity", "wenxi2222223"); LayoutInflater inflater = LayoutInflater.from(mContext); Log.e("MainActivity", "wenxi2222224"); final View textEntryView = inflater.inflate(R.layout.music, null); Log.e("MainActivity", "wenxi2222225"); builder.setIcon(R.drawable.xiyangyang_1); builder.setTitle("请选择背景音乐"); builder.setCancelable(false); builder.setView(textEntryView); Log.e("MainActivity", "wenxi2222226"); m_RadioGroup = (RadioGroup) textEntryView .findViewById(R.id.RadioGroup01); m_Radio1 = (RadioButton) textEntryView .findViewById(R.id.RadioButton1); m_Radio2 = (RadioButton) textEntryView .findViewById(R.id.RadioButton2); m_Radio3 = (RadioButton) textEntryView .findViewById(R.id.RadioButton3); // now_checkid = m_RadioGroup.getCheckedRadioButtonId(); m_RadioGroup.check(now_checkid); m_RadioGroup .setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId == m_Radio1.getId()) { Log.e("MainActivity", Integer .toString(checkedId)); Log.e("MainActivity", Integer.toString(m_Radio1 .getId())); choose_music = 1; Toast toast = Toast.makeText(mContext, "你选择了music1", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_HORIZONTAL, toast.getXOffset(), toast.getYOffset()); toast.show(); } else if (checkedId == m_Radio2.getId()) { choose_music = 2; Toast toast = Toast.makeText(mContext, "你选择了music2", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_HORIZONTAL, toast.getXOffset(), toast.getYOffset()); toast.show(); } else if (checkedId == m_Radio3.getId()) { choose_music = 3; Toast toast = Toast.makeText(mContext, "你选择了music3", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER_HORIZONTAL, toast.getXOffset(), toast.getYOffset()); toast.show(); } now_checkid = checkedId; } }); builder.setPositiveButton("保存", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel();// 取消弹出框 if (choose_music == 1) { mMediaPlayer.release(); /** 创建MediaPlayer对象 **/ mMediaPlayer = MediaPlayer.create(mContext, R.raw.bgmusic_1); /** 设置为循环播放 **/ mMediaPlayer.setLooping(true); mMediaPlayer.start(); } else if (choose_music == 2) { mMediaPlayer.release(); /** 创建MediaPlayer对象 **/ mMediaPlayer = MediaPlayer.create(mContext, R.raw.bgmusic_2); /** 设置为循环播放 **/ mMediaPlayer.setLooping(true); mMediaPlayer.start(); } else if (choose_music == 3) { mMediaPlayer.release(); mMediaPlayer = MediaPlayer.create(mContext, R.raw.bgmusic_3); /** 设置为循环播放 **/ mMediaPlayer.setLooping(true); mMediaPlayer.start(); } } }); builder.setNegativeButton("放弃", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel();// 取消弹出框 choose_music = start_music; } }); builder.create().show(); } private void init() { // 主界面静态图 bitmap = ReadBitmap(mContext, R.drawable.main_2_picture); bitmap_up = ReadBitmap(mContext, R.drawable.xuanwuba); bitmap_up_width = bitmap_up.getWidth(); bitmap_main_1 = ReadBitmap(mContext, R.drawable.main_1); bitmap_main_2 = ReadBitmap(mContext, R.drawable.main_2); bitmap_main_3 = ReadBitmap(mContext, R.drawable.main_3); bitmap_main_4 = ReadBitmap(mContext, R.drawable.main_4); bitmap_main_1_Width = bitmap_main_1.getWidth(); bitmap_main_1_Height = bitmap_main_1.getHeight(); bitmap_main_2_Width = bitmap_main_2.getWidth(); bitmap_main_2_Height = bitmap_main_2.getHeight(); bitmap_main_3_Width = bitmap_main_3.getWidth(); bitmap_main_3_Height = bitmap_main_3.getHeight(); bitmap_main_4_Width = bitmap_main_4.getWidth(); bitmap_main_4_Height = bitmap_main_4.getHeight(); // 主界面一个动态图显示 // mAnimation = new Animation(mContext,new int // []{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h,R.drawable.i,R.drawable.j},true); // mAnimation = new Animation(mContext,new int // []{R.drawable.a_1,R.drawable.a_2,R.drawable.a_3,R.drawable.a_4,R.drawable.a_5,R.drawable.a_6,R.drawable.a_7,R.drawable.a_8,R.drawable.a_9,R.drawable.a_10,R.drawable.a_11,R.drawable.a_12,R.drawable.a_13,R.drawable.a_14,R.drawable.a_15,R.drawable.a_16,R.drawable.a_17,R.drawable.a_18,R.drawable.a_19,R.drawable.a_20},true); // mAnimation = new Animation(mContext,new int // []{R.drawable.b_1,R.drawable.b_2,R.drawable.b_3,R.drawable.b_4,R.drawable.b_5,R.drawable.b_6,R.drawable.b_7,R.drawable.b_8,R.drawable.b_9,R.drawable.b_10, // R.drawable.b_11,R.drawable.b_12,R.drawable.b_14,R.drawable.b_15,R.drawable.b_16,R.drawable.b_17,R.drawable.b_18,R.drawable.b_19,R.drawable.b_20, // R.drawable.b_21,R.drawable.b_22,R.drawable.b_23,R.drawable.b_24,R.drawable.b_25,R.drawable.b_26,R.drawable.b_27,R.drawable.b_28,R.drawable.b_29,R.drawable.b_30, // R.drawable.b_31,R.drawable.b_32,R.drawable.b_33 // },true); /** 创建MediaPlayer对象 **/ mMediaPlayer = MediaPlayer.create(mContext, R.raw.bgmusic_2); /** 设置为循环播放 **/ mMediaPlayer.setLooping(true); /** 创建一个声音播放池 **/ // 参数1为声音池同时播放的流的最大数量 // 参数2为播放流的类型 // 参数3为音乐播放效果 setmSoundPool(new SoundPool(2, AudioManager.STREAM_MUSIC, 100)); } public void UpdateEvent(int x, int y) { temp = IsClick(x, y); switch (temp) { case 1: button_sound++; Intent intent = new Intent(MainActivity.this, MenuActivity.class); startActivity(intent); break; case 2: button_sound++; if (button_sound % 2 == 1) { mMediaPlayer.setVolume(0, 0); } else { mMediaPlayer.setVolume(2, 2); } break; case 3: handler.sendMessage(new Message()); start_music = choose_music; mIsRunning = false; break; case 4: mMediaPlayer.release(); android.os.Process.killProcess(android.os.Process.myPid()); break; } } private int IsClick(int x, int y) { int a = 0; if (x >= 170 + 20 && x <= 170 + bitmap_main_1_Width - 20 && y >= 110 + 20 && y <= 110 + bitmap_main_1_Height - 20) a = 1; else if (x >= 170 + 35 && x <= 170 + bitmap_main_2_Width - 35 && y >= 160 + 20 && y <= 160 + bitmap_main_2_Height - 20) a = 2; else if (x >= 170 + 20 && x <= 170 + bitmap_main_3_Width - 40 && y >= 210 + 20 && y <= 210 + bitmap_main_3_Height - 20) a = 3; else if (x >= 170 + 40 && x <= 170 + bitmap_main_4_Width - 35 && y >= 260 + 20 && y <= 260 + bitmap_main_4_Height - 20) a = 4; return a; } private void Draw() { mCanvas.drawBitmap(bitmap, 0, 0, mpaint); mCanvas.drawBitmap(bitmap_up, (mScreenWidth - bitmap_up_width) / 2, 5, mpaint); mCanvas.drawBitmap(bitmap_main_1, 170, 110, mpaint); mCanvas.drawBitmap(bitmap_main_2, 170, 160, mpaint); mCanvas.drawBitmap(bitmap_main_3, 170, 210, mpaint); mCanvas.drawBitmap(bitmap_main_4, 170, 260, mpaint); mMediaPlayer.start(); mMediaPlayer.setVolume(2, 2); } private Bitmap ReadBitmap(Context context, int id) { BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.RGB_565; opt.inPurgeable = true; opt.inInputShareable = true; InputStream is = context.getResources().openRawResource(id); return BitmapFactory.decodeStream(is, null, opt); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub mIsRunning = true; mthread = new Thread(this); mthread.start(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub mIsRunning = false; } @Override public void run() { while (mIsRunning) { synchronized (mSurfaceHolder) { mCanvas = mSurfaceHolder.lockCanvas(); Draw(); mSurfaceHolder.unlockCanvasAndPost(mCanvas); } try { Thread.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); } } } public void setmSoundPool(SoundPool mSoundPool) { this.mSoundPool = mSoundPool; } public SoundPool getmSoundPool() { return mSoundPool; } } }

2012-05-05

Linux基本命令操作实验报告

本人归纳的所有Linux基本命令操作,并有详细操作截图和思路。适合初学者下载学习。

2012-03-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除