登录
首页 » Android » bluetooth1

bluetooth1

于 2022-04-21 发布 文件大小:938.89 kB
0 143
下载积分: 2 下载次数: 1

代码说明:

蓝牙

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Android实现二维码扫描和生成
    Android实现的二维码扫描功能和生成功能,导入ZXing。
    2023-01-12 04:15:05下载
    积分:1
  • 悬浮窗效果 MyApplication2
    悬浮窗效果,无论应用处于前台还是后台,都会显示。(Suspension window effect, whether the application is in the foreground or background, will be displayed.)
    2020-06-20 05:20:02下载
    积分:1
  • Android手机 蓝牙Bluetooth 与单片机通信的程序源码
    自己写的实现手机蓝牙与单片机通信的程序源码,亲测可用,使用eclipse框架搭建Android开发环境,实现手机蓝牙与单片机通过蓝牙模块进行链接通信。附件中有两个文件,一个是程序源码,另一个是自己整理的程序的说明以及在写程序时遇到的问题急需要注意的地方。
    2023-05-19 16:35:04下载
    积分:1
  • brasil
    说明:  Smali source code for HTV Box app.
    2019-03-24 08:42:36下载
    积分:1
  • LED显示通知屏
    通过gridview分类显示消息通知,自定义每行的列数,字体
    2022-03-31 06:19:16下载
    积分:1
  • vomc
    使用matlab软件里面的simulink仿真OFDM系统(simulation of the ofdm system using the simulink in the matlab software)
    2019-03-27 15:08:09下载
    积分:1
  • 《嵌入式Linux应用程序开发详解》随书源代码下载
    目录第1章 linux快速入门. 1.1 嵌入式linux基础 1.2 linux安装 1.3 linux文件及文件系统 1.4 实验内容——安装linux操作系统 本章小结 思考与练习 第2章 linux基础命令 2.1 linux常用操作命令 2.2 linux启动过程详解 2.3 linux系统服务 2.4 实验内容 本章小结 思考与练习 第3章 linux下的c编程基础 3.1 linux下c语言编程概述 3.2 进入vi 3.3 初探emacs 3.4 gcc编译器 3.5 gdb调试器  .3.6 make工程管理器 3.7 使用autotools 3.8 实验内容 本章小结 思考与练习 第4章 嵌入式系统基础 4.1 嵌入式系统概述 4.2 arm处理器硬件开发平台 4.3 嵌入式软件开发流程 4.4 实验内容——使用jtag烧写nandflash 本章小结 思考与练习 第5章 嵌入式linux开发环境的搭建 5.1 嵌入式开发环境的搭建 5.2 u-boot移植 5.3 实验内容——移植linux内核 本章小结 思考与练习 第6章 文件i/o编程 6.1 linux系统调用及用户编程接口(api) 6.2 linux中文件及文件描述符概述 6.3 不带缓存的文件i/o操作 6.4 嵌入式linux串口应用开发 6.5 标准i/o开发 6.6 实验内容 本章小结.. 思考与练习 第7章 进程控制开发 7.1 linux下进程概述 7.2 linux进程控制编程 7.3 linux守护进程 7.4 实验内容 本章小结 思考与练习 第8章 进程间通信 8.1 linux下进程间通信概述 8.2 管道通信 8.3 信号通信 8.4 共享内存 8.5 消息队列 8.6 实验内容 本章小结 思考与练习 第9章 多线程编程 9.1 linux下线程概述 9.2 linux线程实现 9.3 实验内容——“生产者消费者”实验 本章小结 思考与练习 第10章 嵌入式linux网络编程 10.1 tcp/ip协议概述 10.2 网络基础编程 10.3 网络高级编程 10.4 ping源码分析 10.5 实验内容——ntp协议实现 本章小结 思考与练习 第11章 嵌入式linux设备驱动开发 11.1 设备驱动概述 11.2 字符设备驱动编写 11.3 lcd驱动编写实例 11.4 块设备驱动编写 11.5 中断编程 11.6 键盘驱动实现 11.7 实验内容——skull驱动 本章小结 思考与练习 第12章 qt图形编程 12.1 嵌入式gui简介 12.2 qt/embedded开发入门 12.3 实验内容——使用qt编写“hello,world”程序 本章小结..
    2017-07-01下载
    积分:1
  • 个人用安卓写的小程序,是一个记事本,适合入门。
    个人用android写的一个小程序,是一个记事本,适合入门。-Personal use android to write a small program is a notepad, suitable for entry.
    2022-05-23 01:08:20下载
    积分:1
  • android 仿微信浏览相册图片例子源码下载
    [实例简介] 仿微信浏览相册图片, 相册浏览 [实例截图] [核心代码]import java.io.File;import java.io.FilenameFilter;import java.util.ArrayList;import java.util.Arrays;import java.util.HashSet;import java.util.List;import android.app.Activity;import android.app.ProgressDialog;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.provider.MediaStore;import android.util.DisplayMetrics;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.view.WindowManager;import android.widget.GridView;import android.widget.PopupWindow.OnDismissListener;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast;import com.zhy.bean.ImageFloder;import com.zhy.imageloader.ListImageDirPopupWindow.OnImageDirSelected;public class MainActivity extends Activity implements OnImageDirSelected{ private ProgressDialog mProgressDialog; /** * 存储文件夹中的图片数量 */ private int mPicsSize; /** * 图片数量最多的文件夹 */ private File mImgDir; /** * 所有的图片 */ private List mImgs; private GridView mGirdView; private MyAdapter mAdapter; /** * 临时的辅助类,用于防止同一个文件夹的多次扫描 */ private HashSet mDirPaths = new HashSet(); /** * 扫描拿到所有的图片文件夹 */ private List mImageFloders = new ArrayList(); private RelativeLayout mBottomLy; private TextView mChooseDir; private TextView mImageCount; int totalCount = 0; private int mScreenHeight; private ListImageDirPopupWindow mListImageDirPopupWindow; private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { mProgressDialog.dismiss(); // 为View绑定数据 data2View(); // 初始化展示文件夹的popupWindw initListDirPopupWindw(); } }; /** * 为View绑定数据 */ private void data2View() { if (mImgDir == null) { Toast.makeText(getApplicationContext(), "擦,一张图片没扫描到", Toast.LENGTH_SHORT).show(); return; } mImgs = Arrays.asList(mImgDir.list()); /** * 可以看到文件夹的路径和图片的路径分开保存,极大的减少了内存的消耗; */ mAdapter = new MyAdapter(getApplicationContext(), mImgs, R.layout.grid_item, mImgDir.getAbsolutePath()); mGirdView.setAdapter(mAdapter); mImageCount.setText(totalCount "张"); }; /** * 初始化展示文件夹的popupWindw */ private void initListDirPopupWindw() { mListImageDirPopupWindow = new ListImageDirPopupWindow( LayoutParams.MATCH_PARENT, (int) (mScreenHeight * 0.7), mImageFloders, LayoutInflater.from(getApplicationContext()) .inflate(R.layout.list_dir, null)); mListImageDirPopupWindow.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss() { // 设置背景颜色变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = 1.0f; getWindow().setAttributes(lp); } }); // 设置选择文件夹的回调 mListImageDirPopupWindow.setOnImageDirSelected(this); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DisplayMetrics outMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(outMetrics); mScreenHeight = outMetrics.heightPixels; initView(); getImages(); initEvent(); } /** * 利用ContentProvider扫描手机中的图片,此方法在运行在子线程中 完成图片的扫描,最终获得jpg最多的那个文件夹 */ private void getImages() { if (!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { Toast.makeText(this, "暂无外部存储", Toast.LENGTH_SHORT).show(); return; } // 显示进度条 mProgressDialog = ProgressDialog.show(this, null, "正在加载..."); new Thread(new Runnable() { @Override public void run() { String firstImage = null; Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; ContentResolver mContentResolver = MainActivity.this .getContentResolver(); // 只查询jpeg和png的图片 Cursor mCursor = mContentResolver.query(mImageUri, null, MediaStore.Images.Media.MIME_TYPE "=? or " MediaStore.Images.Media.MIME_TYPE "=?", new String[] { "image/jpeg", "image/png" }, MediaStore.Images.Media.DATE_MODIFIED); Log.e("TAG", mCursor.getCount() ""); while (mCursor.moveToNext()) { // 获取图片的路径 String path = mCursor.getString(mCursor .getColumnIndex(MediaStore.Images.Media.DATA)); Log.e("TAG", path); // 拿到第一张图片的路径 if (firstImage == null) firstImage = path; // 获取该图片的父路径名 File parentFile = new File(path).getParentFile(); if (parentFile == null) continue; String dirPath = parentFile.getAbsolutePath(); ImageFloder imageFloder = null; // 利用一个HashSet防止多次扫描同一个文件夹(不加这个判断,图片多起来还是相当恐怖的~~) if (mDirPaths.contains(dirPath)) { continue; } else { mDirPaths.add(dirPath); // 初始化imageFloder imageFloder = new ImageFloder(); imageFloder.setDir(dirPath); imageFloder.setFirstImagePath(path); } int picSize = parentFile.list(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { if (filename.endsWith(".jpg") || filename.endsWith(".png") || filename.endsWith(".jpeg")) return true; return false; } }).length; totalCount = picSize; imageFloder.setCount(picSize); mImageFloders.add(imageFloder); if (picSize > mPicsSize) { mPicsSize = picSize; mImgDir = parentFile; } } mCursor.close(); // 扫描完成,辅助的HashSet也就可以释放内存了 mDirPaths = null; // 通知Handler扫描图片完成 mHandler.sendEmptyMessage(0x110); } }).start(); } /** * 初始化View */ private void initView() { mGirdView = (GridView) findViewById(R.id.id_gridView); mChooseDir = (TextView) findViewById(R.id.id_choose_dir); mImageCount = (TextView) findViewById(R.id.id_total_count); mBottomLy = (RelativeLayout) findViewById(R.id.id_bottom_ly); } private void initEvent() { /** * 为底部的布局设置点击事件,弹出popupWindow */ mBottomLy.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mListImageDirPopupWindow .setAnimationStyle(R.style.anim_popup_dir); mListImageDirPopupWindow.showAsDropDown(mBottomLy, 0, 0); // 设置背景颜色变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = .3f; getWindow().setAttributes(lp); } }); } @Override public void selected(ImageFloder floder) { mImgDir = new File(floder.getDir()); mImgs = Arrays.asList(mImgDir.list(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { if (filename.endsWith(".jpg") || filename.endsWith(".png") || filename.endsWith(".jpeg")) return true; return false; } })); /** * 可以看到文件夹的路径和图片的路径分开保存,极大的减少了内存的消耗; */ mAdapter = new MyAdapter(getApplicationContext(), mImgs, R.layout.grid_item, mImgDir.getAbsolutePath()); mGirdView.setAdapter(mAdapter); // mAdapter.notifyDataSetChanged(); mImageCount.setText(floder.getCount() "张"); mChooseDir.setText(floder.getName()); mListImageDirPopupWindow.dismiss(); }}
    2015-04-08下载
    积分:1
  • 数据库的事务 - android入门视频35
    数据库的事务 - android入门视频35
    2015-12-03下载
    积分:1
  • 696518资源总数
  • 105559会员总数
  • 1今日下载