
Android
NULL____
学源于思,思源于疑。小疑则小进,大疑则大进。
展开
-
ListView控件
一、简单用法 1、在Activity_main.xml中加入如下代码: <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/list_view"> 2,、修改MainActivity代码 借原创 2015-07-09 18:09:46 · 725 阅读 · 0 评论 -
Android读取联系人的姓名及电话号码
Android中联系人的信息是通过ContentProvider来供外部应用获取的,我们使用时只需根据系统联系人ContentProvider的Uri即可获取所需数据。下面讲解如何获取联系人的姓名及电话号码,别的数据如邮箱、照片等数据的获取都可使用此方式。原创 2017-05-09 16:34:15 · 25848 阅读 · 2 评论 -
使用Android Studio制作NinePatch图片(9.png)
最近制作.9.png时发现,发现sdk的tools文件夹竟然没有draw9patch.bat了,原来Google把它集成到了Android Studio里面,使用起来更方便了。原创 2017-05-19 11:23:26 · 1268 阅读 · 0 评论 -
Android Camera2教程之打开相机、开启预览、实现PreviewCallback、拍照
转载请注明出处: http://blog.youkuaiyun.com/lb377463323/article/details/52740411Android API 21新增了Camera2,这与之前的camera架构完全不同,使用起来也比较复杂,但是功能变得很强大。在讲解开启预览之前,首先需要了解camera2的几个比较重要的类:CameraManager: 管理手机上的所有摄像头设备,它的...原创 2016-10-05 20:32:48 · 73514 阅读 · 34 评论 -
Android JNI反射调用Java构造方法、成员方法和静态方法
Android开发中一般讲Java接口调用放在APP层,但是如果想对外隐藏Java接口调用,应该怎么办呢?我们可以将接口调用放在JNI层,通过反射调用所需接口,之后打包成.so库,这样既可对外隐藏所有调用细节。原创 2017-07-18 14:12:37 · 7627 阅读 · 0 评论 -
Android JNI开发流程
很多人想学习jni和NDK,但又不敢学习,觉得这一块内容太难,其实难的不是jni和NDK,而是C/C++语言,jni和NDK只是个工具,很容易学习的。原创 2017-07-14 14:57:34 · 1601 阅读 · 0 评论 -
Android隐藏状态栏和标题栏
在onCreate()方法中添加如下代码//隐藏状态栏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);原创 2015-07-01 15:44:42 · 1020 阅读 · 0 评论 -
无Root权限的Android手机访问Sqlite数据库等私有数据
adb shell //进入命令模式run-as 包名 //获取查看非root设备debug应用的沙盒数据的权限原创 2017-05-18 16:33:44 · 4330 阅读 · 0 评论 -
Android Camera的预览回调接口PreviewCallback使用
首先定义一个类实现Camera.PreviewCallback接口,然后在它的onPreviewFrame(byte[] data, Camera camera)方法中即可接收到每一帧的预览数据,也就是参数data。原创 2016-11-25 17:54:49 · 27848 阅读 · 4 评论 -
Android JNI获取上下文Context
当在JNI调用Android自带的类时,经常需要传入Context参数,那怎么在JNI层获取Context呢?我们知道Application和Activity是Context的子类,由于每个Activity对应的Context是不一样的,所以一般情况下我们使用Application的Context,它在整个程序中只有一个实例。所以现在问题就变成了怎么在JNI中获取Application呢?原创 2017-07-18 18:07:38 · 12100 阅读 · 5 评论 -
Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)
本系列教程会有三篇文章讲解Android平台滤镜的实现方式,第三篇以后应该很多人会需要,这三篇写完,看情况是否升级到OpenGL ES 3.0来实现,毕竟OpenGL ES 2.0和3.0虽然有些差别,但差别不算太大。原创 2017-08-10 19:24:43 · 26224 阅读 · 20 评论 -
Android Binder机制 - interface_cast和asBinder源码分析
研究Android底层代码时,尤其是Binder跨进程通信时,经常会发现interface_cast和asBinder,很容易被这两个函数绕晕。原创 2017-10-29 15:45:27 · 8775 阅读 · 1 评论 -
Android Binder机制 - defaultServiceManager()源码分析
Android 使用Binder进程间通信时,需要先使用defaultServiceManager方法获取ServiceManager,通过ServiceManager的addService或getService来与Binder驱动程序进行交互。原创 2017-10-18 17:52:42 · 1458 阅读 · 0 评论 -
Android Camera API 2使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)
本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读前面两篇文档。原创 2017-09-21 17:43:07 · 11811 阅读 · 4 评论 -
Android 7.0 Camera架构源码分析1 - CameraService启动
本系列教程主要讲解Camera从APP层到HAL层的整个流程,第一篇先讲解CameraService的启动,后面会讲解open、preview、takepicture的流程。原创 2017-12-13 21:12:21 · 18068 阅读 · 4 评论 -
Android Handler消息机制源码分析
我们知道子线程发送消息给主线程是使用Handler的,基本用法就是在主线程中创建Handler、在子线程通过handler.sendMessage()发送消息、handlerMessage()中处理消息。原创 2017-02-22 22:43:44 · 511 阅读 · 0 评论 -
Android Bitmap内存计算
Bitmap内存 = 图片长度 x 图片宽度 x 一个像素点占用的字节数;图片长宽即为图片的分辨率,一个像素点占用的字节数则是由Bitmap.Config决定的。原创 2017-05-12 15:59:35 · 1257 阅读 · 1 评论 -
Android Camera.ErrorCallback使用
首先定义一个Camera.ErrorCallback,可以使用下述方式直接new一个,当然也可以定义一个类继承Camera.ErrorCallback,当Camera出现错误时会回调onError()方法原创 2016-11-25 15:54:17 · 3967 阅读 · 0 评论 -
Android studio 启动另一个activity
1,在layout中新建一个布局文件 新建的布局文件如下将layout绑定为my_layout,如下图:2 在OnCreate里面建立点击事件findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() { @Override publi原创 2015-07-02 14:23:04 · 3373 阅读 · 0 评论 -
Nine-Patch使用方法
传统UI开发中,如果背景的大小不一样,一般需要为每种大小都制作一张图片,这在button中尤为明显。当然我们也可以一小块一小块水平重复的画,也可 以垂直的话。在android中专门有一种叫nine patch图片(以 9.png结尾)来解决背景大小不一样时,只用一张背景图片。 用自带的tools/draw9patch.bat 打开一张png图片,我们可以在png图片最外面的空格画一个像转载 2015-07-10 14:36:32 · 1961 阅读 · 0 评论 -
Button代码小写,运行时大写
需添加一行android:textAllCaps="false"XML Attributes(XML属性) android:autoLink 是否自动链接网址或邮箱地址;android:autoText 自动检测错误;android:bufferType 决定getText()返回的类型android:capitalize 指定使用类型android:c原创 2015-07-10 10:51:34 · 1568 阅读 · 0 评论 -
Android studio引入百度地图时的bug
1,28716-28716/hkhz.zhhb E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: hkhz.zhhb, PID: 28716 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.原创 2015-08-01 16:08:32 · 820 阅读 · 0 评论 -
Android studio用WiFi连接adb
1,电脑和手机连接同一个WiFi,并且手机通过USB连接到电脑上2,获取手机的IP地址,这个应该都会吧3,打开终端(Terminal),输入以下命令4,adb devices 此命令验证设备处于调试状态,显示如下F:\Android\NiceWeather>adb devicesList of devices attached0038c97e958d381e原创 2015-08-07 09:57:18 · 2053 阅读 · 0 评论 -
RecyclerView学习
简介:RecyclerView是ListView的一个更高级和灵活的版本。使用RecycleView必须指定一个adapter(适配器)和一个layout manager(布局管理器)。创建一个adapter继承自RecycleView.Adapter类layout manager用于RecyclerView里面视图的定位和确定未显示的视图的重新显示。RecyclerV原创 2015-08-27 10:50:29 · 700 阅读 · 0 评论 -
Android Studio中使用*.jar,*.aar和*.so文件
1,*.jar:拷贝到:libs目录dependencies { compile fileTree(include: ['*.jar'], dir: 'libs')}2,aar文件为: ”libvlc.aar“第一步:拷贝到:libs目录第二步:build.gradle 配置文件中更改为repositories { flatDir {原创 2015-09-12 21:24:16 · 2394 阅读 · 0 评论 -
Android Studio更改包名
Android Studio默认目录层次结构是合并在一层的,如下图所示,这时我想把包名”com.airhockey.android”改为”com.brian.particles”,应该怎么做呢?这种情况我们直接右键Refactor -> Rename是不行的,这样只能改最外层的名称,中间的名称是改不了的,我们通过下面的步骤来修改原创 2017-03-26 12:28:03 · 936 阅读 · 1 评论 -
Android 7.0 Gallery图库源码分析8 - 加载专辑缩略图
在[Android 7.0 Gallery图库源码分析3 - 数据加载及显示流程](http://blog.youkuaiyun.com/lb377463323/article/details/69569133)一文最后讲了AlbumSetSlidingWindow的onContentChanged方法,专辑缩略图和缩略图下面的label的加载就是在此方法中完成的。原创 2017-04-28 11:10:39 · 3727 阅读 · 2 评论 -
Android中使用Color类将颜色分解为单独分量
Android中使用四个分量ARGB表示一个颜色,其中Alpha表示透明度,Red表示红色,Green表示绿色,Blue表示蓝色。每个分量的值在0-255之间,一般用十六进制表示,比如Color.RED = 0xFFFF0000;当我们想获取这个颜色的RAGB四个分量的单独值,应该怎么计算呢?原创 2017-03-26 15:07:06 · 2746 阅读 · 0 评论 -
申请百度地图API KEY
1,首先注册成为一名开度开发者,登录捏到百度账号,打开http://developer.baidu.com/user/info,在此填写注册信息2,登录百度地图首页,右上角有地图API选项,点进去3,网页往下拉可以看到“申请密钥”,点进去4,点创建应用5,填写内容6,重点讲下如何获取Android studio的安全码 首先打开AS中的Ter原创 2015-07-31 15:35:05 · 14424 阅读 · 1 评论 -
Android studio 使用Menu(菜单)
1,打开res目录下的mune文件夹,如下图2,在menu_main.xml中添加如下代码:menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://原创 2015-07-02 10:11:02 · 18645 阅读 · 1 评论 -
Android Camera使用OpenGL ES 2.0和TextureView对预览进行实时二次处理(黑白滤镜)
本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读下述第一篇文档,因为第一篇讲过的知识,本文并不会细讲了。原创 2017-08-11 13:45:19 · 14528 阅读 · 4 评论