android
SeekerYao
练武不练功,到头一场空!
展开
-
低功耗蓝牙Ble的详细使用流程
概述中心角色和外围角色 在BLE中存在两个角色,一个是中心角色(Central),一个是外围角色(Peripheral),蓝牙设备或手机都可以单独作为Central或Peripheral角色。外设角色的作用是为中心角色提供各种数据,中心角色可以扫描并接收多个外设角色数据( 外围角色中的设备进行广播,中心角色的设备扫描寻找广播),数据以服务(Service)和特征(Characteristic)的形式呈现。其中Ble中心角色的API在Android 4.3得到支持,而外围角色的API在Android 5转载 2021-07-08 12:06:35 · 3457 阅读 · 0 评论 -
Android 检查权限总是 PERMISSION_GRANTED
申请授权样例的代码如下, 不想用V4包中的ContextCompat 这些, 直接用系统的API。public void onCreate(){ if(Build.VERSION.SDK_INT >= 23){ // 6.0及以上需要动态申请定位权限 int chkPermission = checkSelfPermission(permission.ACCESS_FINE_LOCATION); if(PackageManager.PERMISSION_G原创 2021-04-27 16:20:07 · 5977 阅读 · 0 评论 -
如何快速的在 title上加一个按钮
Activity中加上如下代码就Ok @Override public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.add("Exit"); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); item.setIcon(android.R.drawable.ic_delete); item.原创 2021-03-09 13:44:39 · 525 阅读 · 0 评论 -
Camera2使用方法例子代码
public class Cam2 { String tag = "seeker"; CameraManager camMgr; String sCameraID = ""; CameraDevice cam ; public void init(Context ctx){ camMgr = (CameraManager) ctx.getSystemService(Context.CAMERA_SERVICE); t.原创 2021-02-23 15:10:56 · 823 阅读 · 0 评论 -
MQTT创建安全的连接
mqtt是一个轻量的消息订阅/发布协议。公司项目中 MQTT 服务器使用了免费的 emq x broker,https://www.emqx.cn/products/broker。不需要任何开发,安装即可。 android端使用mqtt的库org.eclipse.paho.client.mqttv3-1.2.0.jar。使用库创建mqtt连接的代码如下:MyMqttClient.javaimport java.io.BufferedReader;import java.io.IOEx...原创 2021-01-29 11:19:36 · 1835 阅读 · 1 评论 -
创建WindowManager窗口
1. 需要获得焦点,点击,输入等,代码如下:public abstract class SystemWindowWidget { private Context mContext; private WindowManager mSysWindowMgr; private WindowManager.LayoutParams mLytParams; private View mContentView; public SystemWindowWidget(Conte原创 2021-01-29 11:04:22 · 188 阅读 · 0 评论 -
@SuppressLint 或其他 android lint 保存或build后没工作怎么办?
eclipse中, project名右键选择android tools中,手动 运行Android lint。原创 2020-09-29 10:56:39 · 101 阅读 · 0 评论 -
Sqlite中给查询结果加上序号
1. 表格增加一列 autoincrement 的整形字段。2. 查询的语句中制定里一个列未序号,SQL语句如下:select *,(select count(*) from IDs b where b.autoIndex <= a.autoIndex ) as indexxx from IDs a where ID like '4221212121212'.........原创 2020-09-27 14:06:43 · 6024 阅读 · 0 评论 -
Android简单无资源文件浏览器
项目需要文件浏览器,但是不想加入资源,不想再Manifest新注册Activity,写了一个没有资源文件的简单文件浏览器。Activity中Dailog方式调用方式:public class MainActivity extends Activity{ FileExplorerDialog fileExp; TextView txtNotice; @Override protected void onCreate(Bundle savedInstanceState)原创 2020-07-28 16:16:02 · 144 阅读 · 0 评论 -
Java的文件拷贝和文件删除
java没有拷贝函数,不能删除含有文件目录,需要自己实现。 public static boolean fileCopy(File src, File destDir){ if(!destDir.exists()){ destDir.setWritable(true); destDir.setReadable(true); boolean res = destDir.mkdirs();原创 2020-05-30 15:59:54 · 255 阅读 · 0 评论 -
Android unZip
坑点1. 使用自带的 java.util.zip , 比支持文件名中文,文件名是乱码。2. 使用 ZipInputStream 文件名不能有空格,否则解码错误。3. 使用org.apache.tools.zip, 可解决1,2问题, 但文件zip.getEntries() 文件顺序由点乱。使用org.apache.tools.zip 的代码如下: public st...原创 2020-04-20 15:55:42 · 1472 阅读 · 1 评论 -
纯数字ID后加一个防止手动输入错误的数字校验位
需求是输入一个纯数字ID,最后一个位是数字的校验位,做输入错误的校验。采用简单的异或校验,对任意2数字做异或测试,发现异或结果在区间 [0,15]中,写如下代码解决: public static String appendChecksum(String str) { char[] base36dic = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '1', '3', '5', '7', '9', '0' };原创 2020-05-20 15:31:34 · 431 阅读 · 0 评论 -
关于sendMessage前先把对应消息 removMessage 的做法。
1. 之前看到公司的代码中看到这种写法,觉得多此一举,知道自己遇到问题:最后用下面的代码解决。 @Override public void onConnected(WebSocket websocket, Map<String, List<String>> headers) throws Exception { super.onConnected(websocket, headers); Log.d("ws", "onConnect原创 2020-05-09 16:54:29 · 355 阅读 · 0 评论