![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发
猿诗人
想做个诗人一样的程序猿,将代码写成诗
展开
-
ScrollView嵌套ListView,显示不全的问题解决方法
在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。实际上不光是ListView,其他继承自AbsListView的类也适用,包括Expandab转载 2016-01-22 17:49:14 · 1068 阅读 · 0 评论 -
Android JNI开发(10)--实例
写那么多不如来点代码实在!!! Java代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s原创 2017-12-04 16:56:14 · 414 阅读 · 0 评论 -
Android JNI开发(1)--JavaVM和 JNIEnv 动态注册本地方法
这里说的JNI不是初学Android JNI时的那种,而是使用NDK相应的API进行相应的开发工作。一、JNI中获取JavaVM和 JNIEnvJavaVM是虚拟机在JNI中的表示,一个虚拟机中只有一个JavaVM对象,这个对象是线程共享的。 JNIEnv类型是一个指向全部JNI方法的指针。该指针只在创建它的线程有效,不能跨线程传递。多线程无法共享。 使用JNI_OnLoad方法,原创 2017-09-18 18:03:35 · 1752 阅读 · 0 评论 -
Android JNI开发(2)--native方法调用Java方法
很多时候,我们在JNI代码中获取到了我们想要的值,需要返回到Java层,简单的情况下可以使用return某个值来实现。但是复杂情况下,我们需要不断地获取JNI中返回的值,我们就可以在JNI中主动去找Java中的方法,然后调用,并把JNI中的值作为Java方法的参数传入。如下://native方法将调用Java方法JNIEXPORT void JNICALL nativeCallJava(JNIEn原创 2017-09-19 16:35:45 · 1013 阅读 · 0 评论 -
Google Map for Android 官方API 学习与解析
一、Getting the Last Known Location(获取上一次已经获取过的位置信息)(1)首先权限如下:android:name="android.permission.INTERNET" />android:name="android.permission.ACCESS_NETWORK_STATE" />android:name="android.permissi原创 2016-01-23 15:04:56 · 584 阅读 · 0 评论 -
Android事件散发机制
触摸事件类型用户触摸屏幕所产生的Touch Event在Android里是用一个MotionEvent对象来传递和处理的,我们最关注的是MotionEvent里的action,可以看到有ACTION_DOWN, ACTION_UP,ACTION_MOVE,ACTION_CANCEL,ACTION_POINTER_DOWN,ACTION_POINTER_UP等等很多种,在这里面最需要关注的是转载 2016-01-12 10:05:47 · 450 阅读 · 0 评论 -
Android M 新的运行时权限开发者需要知道的一切
翻译的国外一篇文章。android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问题。这是今天我写这篇博客的原因。这里有一切关于android运行时权限你需要知道的,包括如何在代码中实现。现在亡羊补牢转载 2016-02-23 11:30:13 · 559 阅读 · 0 评论 -
Android:onNewIntent()触发机制及注意事项
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:?转载 2016-02-23 11:31:57 · 384 阅读 · 0 评论 -
Android BLE项目中相应的超时处理机制
最近的BLE项目中,需要处理各种超时,做一个小小的总结。1、蓝牙扫描超时处理蓝牙在扫描过程中是非常耗电的,需要在扫描一段时间后自动停止。这时候就可以借助一个Handler对象发送一个延时消息实现,如下://这里是发送一个延时任务mHandler.postDelayed(new Runnable() { @Override public原创 2016-11-30 11:58:13 · 9056 阅读 · 1 评论 -
Android BLE 通信处理过程---串行通信
这文章主要是对工作的笔记。总结提高。 首先,手机和BLE设备的通信过程,可以有串行通信和并行通信。 串行通信:就是手机每次发送一条命令到BLE设备,直到BLE设备处理完毕,并回复手机处理结果后,手机才能发送下一条命令。 并行通信:手机可以同时发送多条命令给BLE设备,然后,BLE设备可以串行处理,也可以并行处理,每处理完一条命令就回复手机一次。 因为手机和BLE设备通信并不是非常的频繁,一次原创 2016-11-30 18:05:51 · 2508 阅读 · 1 评论 -
在应用程序中使用shell命令完成某项功能
在应用程序中使用shell命令前段时间工作中有这样一个需求,在公司的某种基于Android系统的产品上有4个mic,假如我们需要打开其中的一个mic来录音,Android标准API并没有提供这样的接口。这个时候,我们就可以在应用程序中直接获取相应的权限(比如su权限),然后执行相应的shell命令,打开这个mic来录音。 首先,我们需要和framework层同事和底层驱动层同事商量好,让他们提供s原创 2016-12-08 16:09:35 · 647 阅读 · 0 评论 -
Android自定义相机实践记录
Android自定义相机实践记录前段时间的工作有这样一个需求,就是打开Android系统的摄像头,在预览模式Priview模式下获取原生的帧数据,这篇文章先不管这些。做完那个需求后,不过瘾,我就继续完善相机,实现了一个自定义的相机。写篇文章记录一下,总结一下相机应用的开发。1、前置、后置摄像头的判断一般手机都会有前置和后置摄像头,但是这里还是介绍一下判断的方法。/*** 判断是否有前置摄像头*/原创 2016-12-16 19:16:44 · 774 阅读 · 0 评论 -
Android自定义相机--2
CameraActivity.classpublic class CameraActivity extends AppCompatActivity implements SurfaceHolder.Callback,View.OnClickListener,View.OnTouchListener{ private static final String TAG = "CameraActivi原创 2016-12-19 12:17:38 · 525 阅读 · 0 评论 -
Android应用监听来电、短信等方法
这功能最好放在一个Service中,在需要的地方启动这个Service即可。直接上代码吧:/** * 检测来电、短信 */public class NotificationMonitorService extends Service { private static final String TAG = "NotificationMonitor"; private static原创 2017-01-04 19:39:25 · 2243 阅读 · 2 评论 -
Java数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 1、byte: byte数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的原创 2017-01-05 11:19:04 · 215 阅读 · 0 评论 -
BLE传输字符串和传输图片
如果做一个有关BLE的应用的话,就有可能涉及到将一段字符串(短信内容、联系人名字、号码串)或者一张图片发送到BLE设备上面。1、传输字符串字符串也是需要转成byte数组,然后再进行传输String textContent = "你好,Android BLE";textContent.getBytes("UTF-8");//这里设置编码格式,可以根据需求进行设置通过上面的代码,我们就可以把任意字符串原创 2017-02-04 16:25:23 · 3140 阅读 · 0 评论 -
Android Camera生成bmp格式的图片
Android Camera拍照默认会生成jpg格式的图片,这是一种有损压缩后的图片格式。前段时间项目需要生成一张无压缩的bmp格式的图片,这就不能通过拍照来实现,而是需要通过预览时的某一帧数据来生成这样的图片。这个过程暂时可以简单的概括为 yuv—-》rgb—-》bmp。 首先,需要进行相机的开发工作,在Android自定义相机实践记录可以完整的看到开发一个相机的过程。 然后,在预览模式下获取原创 2017-01-10 10:28:30 · 2533 阅读 · 1 评论 -
Android变录音边转换为mp3格式的声音---libmp3lame库的使用
Android录音支持的格式有amr、aac、3gp,但这三种音频格式在跨平台上表现并不好。而mp3格式是跨平台最好的音频格式,所以如果能转成mp3格式的音频文件,那是极好的。 那转成mp3格式又有两种方式: 一、录音完毕再转,再将amr、aac、3gp三种音频文件转成mp3格式的文件。 二、边录边转,使用libmp3lame直接转为mp3格式。 这里先主要介绍第二种,即 使用lame转载 2017-01-10 14:44:22 · 10825 阅读 · 0 评论 -
Android camera生成bmp格式的图片
前段时间,一个项目需要生成bmp格式的图片,对图片进行检测,看设备的相机是否有问题。这就要Camera捕获的图像不能进行压缩处理,这就需要保存为bmp格式的图片。 首先,相机在预览的情况下可以获取到YUV格式的帧数据,然后转成RGB格式的数据,然后再转成bmp格式的数据,有了这些数据还需要保存到本地,实现图片的保存。 这里假设数据为NV21格式,它是YUV格式的一种。直接上代码:原创 2017-03-06 10:40:25 · 1776 阅读 · 1 评论 -
Android JNI开发(3)--引用类型
NDK开发中的引用类型分为三种:局部引用(Local Reference)、全局引用(Global Reference)、弱全局引用(Weak Global Reference)1、 局部引用通过NewLocalRef和各种JNI接口创建(FindClass、NewObject、GetObjectClass和NewCharArray等)。会阻止GC回收所引用的对象,不能跨函数使用,不能跨线程使用。函原创 2017-09-20 10:41:34 · 414 阅读 · 0 评论