【android】
月疯
得到你最想要的东西,最保险的办法,那就是你能配得上你最想要的东西。机会是留给有准备的人,运气是留给有天赋的努力者。
展开
-
画布 Canvas
Android Framework 提供了一些2D 画图的 API,android.graphics 包就是其中之一。为了画一些东西,需要4个元素(或称组件)协同来完成: 位图:Bitmap 来保持(hold)那些像素 画布:Canvas 来响应画画(draw)的调用(并将其写入 bitmap) 画笔:paint 描述画画的颜色和样式等 “颜料“:drawing...转载 2019-06-10 15:30:03 · 419 阅读 · 0 评论 -
android的AIDL的调用
首先我们新建两个工程文件:Server和Client,这里两个工程可以不创建Layout文件,因为这个实例中没用到图形化界面。在Server工程中,我们先要把目录结构由默认的Android改为Project,Android目录结构便于开发但是目录结构很不清晰,而一会儿为了让Client工程能够调用我们在Server工程中编写的服务则必须要将aidl目录整个拷贝到Client完全一样的位置,所以...转载 2019-06-10 19:12:31 · 245 阅读 · 0 评论 -
android文本与布局
1、字符串资源里变量替换如项目中 values 下的 strings.xml其实,在 android 中也有这样的东西,那就是 XLIFF,全称叫 XML 本地化数据交换格式,英文全称 XML Localization Interchange File Format。 <string name="page">第%1$s页</string> 程序中只要给...原创 2019-06-10 15:20:32 · 688 阅读 · 0 评论 -
PreferenceActivity和PreferenceFragment实现设置界面
在进行Android开发的过程中,有时需要实现一个设置界面,就像下面的系统的显示设置。这样的界面自己实现起来略显繁琐,好在Android中已经实现了这样的设置界面,那就是PreferenceActivity。并且PreferenceActivity还有一个莫大的好处,配置信息会自动使用SharedPreferences进行保存,无需我们自己实现。将PreferenceActivity和Pr...转载 2019-06-10 15:05:38 · 435 阅读 · 0 评论 -
FaceDetector(人脸识别)
微软的 how-old.net 把人脸识别技术又大大的火了一把。通过大数据和复杂的算法,能够神奇的预测出照片中人物的性别和年龄。虽然错误率也不低,但是大家都抱着玩一玩乐一乐的心态把照片传上去让机器来鉴定一下自己的颜龄。Android 早已提供了 FaceDetector 类,今天就来看看如何使用这个类人脸检测吧。流程:1.打开文件夹选择照片2.将照片加载到 bitmap 中并缩...转载 2019-06-10 16:33:13 · 7422 阅读 · 1 评论 -
AccessibilityService(无障碍辅助服务)
深入AccessibilityService使用1、创建服务编写自己的服务类,需要继承AccessibilityService类.其中要实现onAccessibilityEvent(AccessibilityEvent event)及onInterruput()两个重要的方法:public class RobService extends AccessibilityService {...转载 2019-06-10 16:50:48 · 4331 阅读 · 0 评论 -
AccessibilityService的具体应用场景
1、抢红包插件先回顾一下抢红包的的流程:状态栏出现"[微信红包]"的消息提示,点击进入聊天界面 点击相应的红包信息,弹出抢红包界面 在抢红包界面点击"开",打开红包 在红包详情页面,查看详情,点击返回按钮返回微信聊天界面.以上是不在微信聊天界面时的流程.如果你所在的微信聊天窗口出现红包,则不会执行步骤1,而是直接执行2,3,4.如果是在微信好友列表时,收到红包,则会在列表项中显示[...转载 2019-06-10 16:59:27 · 747 阅读 · 0 评论 -
Android开发之PreferenceActivity和PreferenceFragment
在PreferenceActivity中,给我们提供了四个选项集成控件:ListPreference,EditTextPreference,CheckBoxPreference和RingtonePreference。注意:通过PreferenceActivity生成的XML文件,命名方式是定死了的,生成的XML文件在data/data/<工程名>/shared_prefs/下,...原创 2019-06-10 14:53:54 · 644 阅读 · 0 评论 -
RecognizerIntent(语音识别)
过程如下:1、启动语音识别 Activity2、这里处理语音(传到 google 服务器处理)3、结果以 Acitivity 的结果返回(onActivityResult)主要用到的类为android.speech.RecognizerIntentpackage com.linc; import java.util.ArrayList; impor...原创 2019-06-10 15:57:54 · 1523 阅读 · 2 评论 -
activity绑定service
第一步:启动一个service//开始绑定 Intent intent = new Intent(Activity1.this,Service1.class); bindService(intent, conn, Context.BIND_AUTO_CREATE);第二步:实现ServiceConnectionprivate Service1 myservice = nul...转载 2019-06-10 18:38:00 · 1722 阅读 · 1 评论 -
进程包活
因为ios在杀死app后都可以接收到通知,所以不懂的人就会觉得那Android应该都是可以的啊,解决方法:1、比如说什么搞两个service互相拉起,不可以2、APP杀死,收不到极光推送,网上说在mainfest注册自己的 recevice时,写入这两个就可以<action android:name="android.intent.action.BOOT_COMPLETED...转载 2019-06-10 17:32:50 · 184 阅读 · 0 评论 -
Unsupported Modules Detected: Compilation is not supported for following modules: app, library. Unfo
1.file-Sync Project With Gradle Files解决掉了。如果还不行试试下面的。2.File - > Invalidate Caches / Restart - > Invalidate Caches&3.如上都不行 1-结束项目 2-关闭Android工作室 3-删除.IDEA目录 4-删除所有.iml文件 5-打开android studio并导入该项目...原创 2021-06-29 17:40:19 · 403 阅读 · 0 评论 -
android studio的一个bug
Could not find com.android.tools.build:gradle:4.1.首先打开android studio的安装目录直接找到gradle的目录:D:\android3.2\gradle\m2repository\com\android\tools\build\gradle发现里面没有4.1的gradle修改成上面已经存在的g...原创 2019-05-22 21:13:56 · 174 阅读 · 0 评论 -
Android中MediaRecorder.stop()报错 java.lang.RuntimeException: stop failed.
E/AndroidRuntime(7698):Causeby:java.lang.RuntimeException:stopfailed.if(mediarecorder!=null){mediarecorder.stop();mediarecorder.release();mediarecorder=null;if(mCamera!=null){...原创 2021-06-29 18:54:39 · 1658 阅读 · 0 评论 -
androidwear环境搭建以及android进入之后出现(Error:Failed to resolve: com.android.support:support-v4:26.0.0)
1、Support Annotations 简介:Android support library 不断地引入新的注解库,它包含很多有用的元注解,你能用它们修饰你的代码,帮助你发现bug。Support library 自己本身也用到了这些注解,所以作为 support library 的用户,Android Studio已经基于这些注解校验了你的代码并且标注其中潜在的问题。Support Anno...原创 2018-03-21 19:06:43 · 21946 阅读 · 0 评论 -
RecycleView的Item Decoration间隔样式
RecyclerView通过addItemDecoration()方法添加item之间的分割线。Android并没有提供实现好的Divider,因此任何分割线样式都需要自己实现。自定义间隔样式需要继承RecyclerView.ItemDecoration类,该类是个抽象类,官方目前并没有提供默认的实现类,主要有三个方法。onDraw(Canvas c, RecyclerView paren...转载 2018-11-07 16:02:06 · 673 阅读 · 0 评论 -
RecycleView的Item Animator动画
RecyclerView能够通过mRecyclerView.setItemAnimator(ItemAnimator animator)设置添加、删除、移动、改变的动画效果。RecyclerView提供了默认的ItemAnimator实现类:DefaultItemAnimator。如果没有特殊的需求,默认使用这个动画即可。// 设置Item添加和移除的动画mRecyclerView.s...转载 2018-11-07 16:19:10 · 3865 阅读 · 0 评论 -
RecycleView的网格样式
网格样式RecyclerView展示的样式由布局管理器LayoutManager来控制。网格样式的管理器是GridLayoutManager,看一下它最常用的两个构造函数以及参数含义。GridLayoutManager(Context context, int spanCount) spanCount,每列或者每行的item个数,设置为1,就是列表样式 该构造函数默认是竖直方向的网...转载 2018-11-07 16:22:18 · 506 阅读 · 0 评论 -
NestedScrollView、RecycleView、ViewPager 嵌套常见问题
在开发中我们经常会用到 NestedScrollView 和 RecycleView,一般情况下这两种布局是不需要进行嵌套的,很多情况下 RecycleView 就可以自行解决,但是毕竟是一般情况,因此超出一般情况外的,我们可能就需要进行嵌套了,虽然 Google 大大也不鼓励我们这样使用。这样使用可能会带来一些问题,一如当年的 ScrollView 和 ListView 的矛盾一样。这里就出现...转载 2018-11-10 11:33:43 · 1910 阅读 · 0 评论 -
android 传感器的学习
在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。01 #define SENSOR_TYPE_ACCELEROMETER 1 //加速度 02 #define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 03 #define SENSOR_TYPE_ORIENTATION ...转载 2018-11-14 09:22:36 · 175 阅读 · 0 评论 -
Android工程的目录说明
目录结构1)src目录为源文件2)gen目录里的R.java文件为Eclipse自动生成文件,不必手动修改3)Android Library,应用运行的Android库4)assets目录,在这个目录里主要放置多媒体等一些文件5)res目录,这个目录主要放置应用用到的资源文件。drawable目录,这个目录里边主要放置应用到的图片资源layout目录,主要放置用到的布局文件。格式都是...原创 2018-11-20 10:53:38 · 213 阅读 · 0 评论 -
assets和res/raw的用法
操作工程中assets和res/raw目录下的文件,那么这两个目录有什么用呢?assets和res/raw工程目录下都可以存放一些小于1M(2.3版本以前要求,否则将不能读出数据。),这些文件将被打包到APK中供应用使用。assets目录下的文件将不做任何处理被打包,而res/raw目录下的文件,有些文档说会编译为二进制,有些文档说不会。有一个原则就是最好不要将过大的文件打包到APK中,如果你的资...转载 2018-11-20 10:55:20 · 847 阅读 · 1 评论 -
android系统下多媒体播放
播放音频和视频的源文件可以是一下三种:源文件(即res/raw下或assets下)文件系统(即sdcard)流媒体(即网络) 1、播放音频文件播放音频文件可以用MediaPlayer类或SoundPool类。下面我们来介绍这两个类。1.1、MediaPlayer从源文件(即res/raw下或asserts下)播放音频mMediaPlayer = MediaPlayer.cr...转载 2018-11-20 10:58:50 · 201 阅读 · 0 评论 -
Android BLE新手进入
我们提到了中央设备(central)和外围设备(peripheral),在这里我们可以这样简单的理解:中央设备(central):收到外围设备发出的广播信号后能主动发起连接的主设备,例如我们给摩拜单车开锁时我们的手机就是作为中央设备连接单车并进行开锁等一系列操作的,通常情况下同一时间一台中央设备只能与最多7台外围设备建立连接。外围设备(peripheral):能被中央设备连接的从设备,...转载 2018-12-20 23:46:57 · 433 阅读 · 0 评论 -
google的开源项目WebRTC音视频通讯,为什么大家都在使用
WebRTC虽然冠以“web”之名,但并不受限于传统互联网应用或浏览器的终端运行环境。实际上无论终端运行环境是浏览器、桌面应用、移动设备(Android或iOS)还是IoT设备,只要IP连接可到达且符合WebRTC规范就可以互通。这一点释放了大量智能终端(或运行在智能终端上的app)的实时通信能力,打开了许多对于实时交互性要求较高的应用场景的想象空间,譬如在线教育、视频会议、视频社交、远程协助、远...转载 2019-02-15 18:43:28 · 3219 阅读 · 0 评论 -
Java无所不能的反射在Android中需要熟练的知识
什么是反射?反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性 简而言之,通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所以我们可以通过反射机制直接...原创 2019-05-06 15:19:19 · 114 阅读 · 0 评论 -
List列表的万能的适配器
ListView的万能适配器:https://github.com/JoanZapata/base-adapter-helper首先介绍QuickAdapter.VH的实现:static class VH extends RecyclerView.ViewHolder{ private SparseArray<View> mViews; private V...转载 2018-11-07 15:58:41 · 406 阅读 · 0 评论 -
RecycleView的LayoutManager
Layout Manager布局管理器四大组成RecyclerView的四大组成是:Layout Manager:Item的布局。 Adapter:为Item提供数据。 Item Decoration:Item之间的Divider。 Item Animator:添加、删除Item动画。Layout Manager布局管理器在最开始就提到,RecyclerView 能够支持各...转载 2018-11-07 10:23:34 · 509 阅读 · 0 评论 -
ListView和RecycleView的性能比对
ListView相比RecyclerView,有一些优点:addHeaderView(), addFooterView()添加头视图和尾视图。 通过”android:divider”设置自定义分割线。 setOnItemClickListener()和setOnItemLongClickListener()设置点击事件和长按事件。这些功能在RecyclerView中都没有直接的接口,要自...转载 2018-11-09 15:57:30 · 2258 阅读 · 0 评论 -
simpleAdapter和ArrayAdapter实现
什么是适配器? 适配器是一个连接数据和AdapterView的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。将数据源的数据适配到ListView中的常用适配器有:ArrayAdapter、SimpleAdapter 和 SimpleCursorAdapter。ArrayAdapter最为简单,只能展...原创 2018-10-25 10:29:37 · 449 阅读 · 0 评论 -
listview的简单实现
1、listView的xml2、listVIew的每各Item的布局xml3、创建一个adapter继承BaseAdapter4、将数据绑定到视图 adapter的代码样例:public class MyAdapter extends BaseAdapter{ private LayoutInflater mInflater; private List...原创 2018-10-25 15:11:05 · 613 阅读 · 0 评论 -
SQLite数据库操作
SQLite是一款轻量型数据库,是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发中。SQLite的数据类型:Typelessness(无类型),可以保存任何类型的数据到你所想要保存的任何表的任何列中,但它又支持常见的类型如:NULL、VARCHAR、TEXT、INTEGER、BLOB、CLOB等等。唯一的例外:integer primary key 此字段只...转载 2018-06-19 16:40:46 · 218 阅读 · 0 评论 -
android端和javaWeb端实现Mqtt消息推送
环境说明:服务器:apollo1.7 官网下载地址:http://activemq.apache.org/apollo/download.htmlandroid的mqtt的Eclipse Paho 官网下载地址:http://www.eclipse.org/paho/downloads.phpcsdn地址:https://download.csdn.net/download/chehec20...原创 2018-04-13 16:01:58 · 3835 阅读 · 1 评论 -
androidwear的主要UI空间有哪些
android 4.4W.2是用于智能手表开发,建议用android studio开发,不过也可以用eclipse,因为是新系统,所以网上的demo比较少。针对手表小屏幕的关系,android 有一套新的ui库去适配,具体sample可以用 sdk manager管理下载这个库可以帮你专为可穿戴设备构建UI,一些主要的类包括:BoxInsetLayout - 一个FrameLayout ,可以自适...转载 2018-03-22 11:06:48 · 300 阅读 · 0 评论 -
Android2D理解坑
android中如果要绘制2d图形需要有四个基本组件: 1,Bitmap :相当于画布。基于它之上画图。还可以是:Rect、RectF、text。 2,Canvas:相当于画家。在画布上管理绘制过程,提供绘图方法。 3,Paint:相当于画笔,可以设置画笔的颜色,粗细,类型等。 4,Drawable:包含绘制要素。,如形状,路径,文本,图像等。用于展示图像。Android手机的屏幕坐标:Bitma...翻译 2018-03-24 22:44:19 · 352 阅读 · 0 评论 -
Android2D绘图四
Paint 常用属性setColor()Paint.setColor(Color.BLUE);1setARGB(a, r, g, b)setStrokeWidth() // 线宽setAlpha() // 设置透明度setAntiAlias() // 抗锯齿setStyle() // 填充方式 Paint.Style.FILL :填充内部,会忽略任何和 stroke 相关的参数 Pai...原创 2018-03-24 22:35:05 · 228 阅读 · 0 评论 -
Android2D绘图三
Canvas Layersample:// private static final int LAYER_FLAGS = Canvas.MATRIX_SAVE_FLAG | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG | Canvas.FULL_COLOR_LAYER_SAVE_FLAG ...原创 2018-03-24 22:27:05 · 208 阅读 · 0 评论 -
Android2D绘图二
注意:Android手机的屏幕的上边位x轴,左边为y轴坐上顶点为原点(0,0)Canvas Sample 及常用函数常用方法drawARGB / drawRGB / drawColor 使用单一的颜色填充画布。 canvas.drawColor(Color.BLUE);drawArc 在一个矩形区域的两个角之间绘制一个弧。// 参数依次为:弧线所使用的矩形区域大小、开始角度、扫过的角度、是否使...原创 2018-03-24 22:17:15 · 267 阅读 · 0 评论 -
Android2D绘图一
View只是把Graphic 资源(images,shapes,colors,pre-defined animation等等这些Android已经实现的一些画图操作)放入View体系,由系统 来将这些Graphic画出来。 View canvas — 使用普通 View 的 Canvas 画图(1)定义一个自己的View :class your_view extends View{} ; (2)...原创 2018-03-24 22:02:13 · 815 阅读 · 0 评论 -
shape的xml用法
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent" android:layout_height="match_pa...原创 2018-10-25 11:53:33 · 1205 阅读 · 1 评论