
Android之应用开发
产品人卫朋
左手产品,右手技术。《硬件产品经理》作者,“人人都是产品经理”专栏作家,“阿里云”开发者社区专家博主
展开
-
【Android】小白进阶之GUI设计Fragment基础浅析
作为一个底层硬件驱动开发者,边学边总结是最佳的学习方式,以项目驱动为核心。Fragment 说的直白点就是指片段,目的是与 Activity 去耦合,方便扩展开发。1、基础简介Fragment 需要依赖于 Activity,不能独立存在,一个 Activity 里可以有多个 Fragment,同时一个 Fragment 可以被多个 Activity 重用。Fragment有自己的生命周...原创 2018-08-23 17:24:27 · 1080 阅读 · 0 评论 -
【IoT】Android 各版本对 BLE 兼容支持汇总
1、Android 8.1/9在屏幕关闭之后,扫描会被暂停,如果需要在屏幕被关闭之后还继续进行扫描的话,需要在扫描配置那里,加入一个空的过滤器。如下:List<ScanFilter> filters = Collections.singletonList(new Builder().build());2、Android 8.0新的扫描方法,可以通过外设保活,http...转载 2019-03-05 14:04:40 · 3772 阅读 · 0 评论 -
【IoT】加密与安全:不同模式和填充下 AES 密文的长度
算法/模式/填充 16 字节加密后数据长度 不满 16 字节加密后长度AES/CBC/NoPadding 16 不支持AES/CBC/PKCS5Padding 32 16AES/CBC/ISO10126Padd...原创 2019-01-11 18:54:59 · 4066 阅读 · 1 评论 -
【Android】小白进阶之Button和Toast基础使用浅析
1、创建 Button// R.javapublic static final class id { public static final int btn=0x7f070012;}<Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="...原创 2018-09-06 17:05:58 · 2280 阅读 · 0 评论 -
【Android】小白进阶之回调监听机制listener
不仅是在 Android 应用层大量使用回调处理,IoT 相关硬件在设计产品时也会使用不能形式的回调处理。1、定义监听回调接口public interface OnTestListener { void onTest();}2、实例化监听接口private class OnTstListener implements OnTestListener { @Override...原创 2018-09-06 16:31:37 · 3539 阅读 · 2 评论 -
【Android】小白进阶之线程池浅析
由于项目推动,开始学习线程池相关内容,希望对你有益。1、基础概念浅析在使用线程的过程中如果并发线程数量很多,并且每个线程都是执行一个时间很短的任务就结束这样频繁创建线程就会大大降低系统的效率,而线程池就可以解决这个问题1.1、核心方法:public ThreadPoolExecutor( int corePoolSize, int maximumPoolSi...原创 2018-09-03 10:33:22 · 962 阅读 · 0 评论 -
【Android】小白进阶之单例模式浅析
1、基础简介由于最近项目需求使用到了IO操作,特意花费一定的时间研究了下单例模式,希望对你有用。定义:确保某个类只有一个实例,而且自行实例化提供给外部使用。使用场景:某个类型的对象只应该有且只有一个,或者避免创建多个对象消耗过多的资源时。例如:访问IO或数据库时要考虑单例模式。2、实现方式a、饿汉式:作为初学者,笔者在项目中多次使用该方式public cl...原创 2018-09-03 09:43:44 · 836 阅读 · 0 评论 -
【Android】小白进阶之WeakReference弱引用基础浅析
作为一枚 android 应用开发小白,工作中凡是遇到不懂的点都要做一番总结,希望对你有益。1、弱引用定义弱引用,与强引用相对,GC 在回收时会忽略掉弱引用对象(忽略掉这种引用关系)。即,就算弱引用指向了某个对象,但只要该对象没有被强引用指向,该对象也会被GC检查时回收掉2、示例2.1、以 Handler 内存泄漏为例Java使用有向图机制,通过 GC 自动检查内存中的对象...原创 2018-09-05 10:07:19 · 1815 阅读 · 0 评论 -
【Android】小白进阶之接口和抽象类的使用
1、接口类 interface接口定义:可以供别人使用的方法,接口中只有方法的定义没有实现。以 Android click 监听为例:定义:public class MyButton { private OnMyClickListener myClickListener ; public interface OnMyClickListener{ ...原创 2018-09-04 10:27:28 · 1059 阅读 · 0 评论 -
【Android】小白进阶之如何保证service不被杀死和如何结束线程基础浅析
1、保证 service 不被杀掉StartCommond 的几个常量参数简介:a、START_STICKY在运行 onStartCommand 后 service 进程被 kill 后将保留在开始状态,但是不保留传入的intent。之后 service 就会再次尝试重新创建,因为保留在开始状态,在创建 service 后将保证调用 onstartCommand,如果没有传递任何开始...原创 2018-08-31 15:34:40 · 1178 阅读 · 0 评论 -
【Android】小白进阶之如何为产品设计超时监控机制
1、背景:数据交互或设备操作如果处理不合适就不可避免要遇到异常,增加超时监控机制以便于对异常的及时处理。2、定义 Handlerprivate Handler mHandler = new Handler();3、定义线程private Runnable mTimeOutRunnable = new Runnable() { @Override public voi...原创 2018-08-30 16:13:26 · 1064 阅读 · 0 评论 -
【Android】小白进阶之基于HandlerThread的Messenger进程间通信浅析
Android开发不可避免要跨进程做数据交换,messenger便是一种较为方便的方式。1、client 客户端代码package com.snail.test.aidl.client;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;im...原创 2018-08-22 11:05:55 · 961 阅读 · 2 评论 -
【IoT】产品设计之 Android BLE 蓝牙连接异常
蓝牙 BLE 通信过程中异常很常见,大致有以下几种:1、连接连接失败可能是设备端原因,也可能是手机端原因。不同的手机来自不同的厂家,用的不同的芯片和蓝牙协议栈都会导致蓝牙功能的表现不一致,这都会导致各式各样的兼容性问题,可能有的手机连接成功率高,有的成功率低。设备端原因可能有些时候出现异常导致死机无响应,或某些参数设置得有问题。但对于 Android 应用层开发来说,能做的很有...原创 2019-05-22 09:17:01 · 3110 阅读 · 1 评论