- 博客(54)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 Native发送消息到React
流程Native端 通过RCTDeviceEventEmitter的emit方法发送下次到React端;React端 通过DeviceEventEmitter.addListener注册监听来接受Native发送回来的消息。Native private void sendEvent(ReactContext reactContext, ...
2018-08-14 17:33:12
478
原创 React 调用Native自定义View
流程Android原生创建一个ViewCircleView;创建CircleManager类并继承SimpleViewManager;创建AppReactPackage类并实现ReactPackage,在createViewManagers方法中返回CircleManager的实例。JS创建circle.js文件;通过requireNativeComponent创建变量...
2018-08-10 09:47:25
2031
1
原创 React 调用Native原生方法
流程Android端创建类A继承ReactContextBaseJavaModule,并自定义JS需要调用的方法,主要需要加上 @ReactMethod注解;创建类B实现ReactPackage接口,并实现其createNativeModules方法;在包含React的Activity页面上使用ReactInstanceManager.builder()添加刚才实现的ReactP...
2018-08-09 17:57:01
2408
原创 View基础——VelocityTracker
一、获取系统识别最小滑动距离ViewConfiguration.get((getContext())).getScaledTouchSlop();二、滑动速度VelocityTracker获取MotionEvent的滑动速度VelocityTracker mVelocityTracker = VelocityTracker.obtain();mVelocityTracker.addMovement
2017-08-15 10:57:23
566
原创 IPC机制之AIDL实现客户端回调(四)
IPC机制之AIDL传递基础类型数据 IPC机制之AIDL传递Parcelable IPC机制之Messenger示例序言前面的3篇文章文章实现了多进程的通讯,但是都只完成了客户端调用服务端的方法或者客户端发送消息和服务端通信,下面我们介绍下AIDL中的观察者模式,客户端绑定服务端成功狗,回调客户端的方法。以上代码都在在 IPC机制之AIDL传递Parcelable 文章的基础上实现的,所以只
2017-07-06 15:46:28
875
原创 IPC机制之AIDL传递Parcelable(三)
导语IPC机制之AIDL传递基础类型数据 之前文章大概简单介绍了下AIDL的部分知识,详细内容大家可以自行学习,文章很多。 因为传递基础数据类型和传递Parcelable类型还是有部分差距,所以我单独写一篇文章介绍,文章后面附有代码。 如果AIDL文件中用到了自定义的Parcelable对象,那么必须新建一个和它同名的AIDL文件,并在其中声明他的Parcelable类型。 、AI
2017-07-05 17:47:34
1507
原创 IPC机制之Messenger示例(二)
Messenger的底层也是通过AIDL实现的,AIDL的讲解网上很多,这里不再祥诉,如果需要查看AIDL的示例可以查看我的前一篇文章 IPC机制之AIDL示例 下面我们直接上Messenger跨进程通信的 代码Client#MainActivity.javapackage com.messenger.wzf.clientmodule;import android.content.
2017-07-05 14:14:08
524
原创 IPC机制之AIDL传递基础类型数据(一)
Q:为什么标题是基础类型呢?这个需要我简单介绍下,在Binder基础上的IPC通信主要分为Messenger和AIDL,Messenger的本质也是AIDL,所以我们需要知道AIDL支持传递哪些类型的数据,见下图。 图片来自任玉刚的《Android开发艺术探索》Q:Messenger和AIDL的区别?Messenger底层也是AIDL,只是屏蔽了其细节;服务端的Messenger是串行的方
2017-07-05 11:35:43
1245
原创 Android 6.0权限逻辑详解
Android6.0权限需要主动申请已经很久了,这里写一篇文章记录下。 这类的文章也很多,各位可以百度参考下,下面我只是把权限申请的逻辑详细介绍下,并附上DEMO代码。具体逻辑可以看上面的图片,逻辑已经很详细了。请求单个权限 public void startCamera(View view) { requestPermission(Manifest.permission.C
2017-06-20 18:00:31
723
原创 Glide 加载圆角或圆形图片
Glide的基础使用网上有很多,请自行查阅。圆角和圆形图片如果是本地或者已知的Bitmap,建议大家使用Android supportV4 包中的RoundedBitmapDrawable.先上效果图 具体思路如下 1、使用Glide的transform方法 2、继承BitmapTransformation实现以便传入transform参数 3、实现BitmapTransformation的
2017-02-26 19:56:53
1327
翻译 ExoPlayer 播放器开发指南(译)
本文是译者第一次翻译英文文档,如有不足请多包涵欢迎转载,转载请注明出处。英文原文链接:https://google.github.io/ExoPlayer/guide.html github source:https://github.com/google/ExoPlayer序文这个文档主要介绍 ExoPlayer 2.x。如果你仍然在使用1.x,你可以在这个链接中找到旧版本的开发文档。这是个在A
2016-10-20 21:37:19
18158
1
转载 Android 实现高斯模糊效果
目前我知道的有2中办法 第一种,调用Android的API完成,但是支持API17及以上 第二种,Github的方法,每个像素点去做模糊,链接:https://github.com/kikoso/android-stackblur/blob/master/StackBlur/src/com/enrique/stackblur/JavaBlurProcess.java方法一:public clas
2016-10-19 14:38:55
2417
原创 Android RecyclerView 实现ListView GridView混排
1、Adapter中定义不同Item类型,复写getItemViewType方法 2、在onCreateViewHolder中根据viewType返回不同的ViewHolder 3、onBindViewHolder根据不同ViewHolder渲染内容 4、Activity中定义GridLayoutManager 5、复写GridLayoutManager.setSpanSizeLookup。
2016-10-19 14:15:11
2750
原创 Android开发常用方法
Dialog打开和关闭键盘异常问题/**打开键盘**/public void openInputFromWindow() { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); InputMethodManager imm = (InputMethodM
2016-08-23 13:44:49
832
转载 Android调用系统相机和相册
原文链接 http://mp.weixin.qq.com/s?__biz=MzI4MzE2MTQ5Mw==&mid=2649752128&idx=1&sn=0507f1798dcc197a8fc4d1f37442e40a#rd权限<!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EX
2016-07-20 10:53:34
1534
转载 Android 图片压缩
原文链接:http://www.codeceo.com/article/android-image-compression.htmlAndroid图片压缩无非两种,一种质量压缩,一种像素压缩,前者多用于图片上传时,后者多用于本地图片展示缩略图时。对于质量压缩,主要用到的一个方法就是:public boolean compress(CompressFormat format, int quality,
2016-03-13 23:49:16
977
原创 Android chrisbanes-PhotoView 使用案例
今天用了下chrisbanes-PhotoView 第三方library,地址:https://github.com/chrisbanes/PhotoView/tree/masterAndroid studio注意导入library Modules的时候,要在最外层的build.gradle里面加上classpath ‘com.novoda:bintray-release:0.3.4’ 比如这样:
2016-02-25 22:05:20
12650
原创 Android MediaRecorder 录音
Android录音主要使用的是MediaRecorder这个类,并且必须严格按照上图的流程图才可以完成录音。1、初始化MediaRecorder mediaRecorder = new MediaRecorder();// 设置输出文件mediaRecorder.setOutputFile(file.getAbsolutePath());// 设置MediaRecorder的音频源为麦克风m
2016-02-25 13:59:01
915
转载 Android中dip、dp、sp、pt和px
原文链接dip device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 dp 同上,和dip一样。 px pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素。 sp scaled pixels(放大像素).
2016-02-15 10:16:44
439
原创 Android 获取手机网络、SIM卡等信息
权限: Java代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TelephonyManager
2015-10-13 16:55:05
1715
原创 Android 流式布局
后附源码地址思路: 1、自定义View; 2、由于这个View是要包含其他控件,所以继承ViewGroup; 3、设置这个自定义View的LayoutParams,重写generateLayoutParams,这里设置的是MarginLayoutParams; 4、重写OnMeasure,计算该容器的大小和子元素的大小 5、重写OnLayout,设置子控件的位置这里需要注意:该空间的模式
2015-09-18 17:52:40
1133
原创 Android 仿微信联系人Demo
项目结构activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fi
2015-08-26 14:56:43
1931
原创 Android 收缩展开动画
activity_main.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
2015-08-24 21:37:08
9898
转载 为什么Android的图片质量没有iOS的高?
经常看到有人问:“安卓版微信发出去的图片怎么那么渣!比iPhone的差远了!”。不只是微信,很多应用安卓版的图片质量就是要比iPhone版逊色很多,这到底是怎么回事?我们团队最初也纠结过这个问题,费了半天劲、绕了好大圈,直到最后才发现,原来这是谷歌犯得一个“小”错误,而且一直错到了今天。谷歌的错就在于:libjpeg。libjpeg是广泛使用的开源JPEG图像库(参
2015-08-20 16:05:01
1693
原创 Android LeakCanary 内存检测Eclipes版本
我们常用的Android端的内存检测工具LeakCanary,git上面的官网版本是Android studio的版本,但是上面也有一些高手做好了eclipse的版本,这里是eclipse版本 下载地址。下载地址这里需要注意下,这个是Android sdk19的版本,就是4.4.2需要的ADT版本要高于23.0.0可以去Android SDK Manager里面更新。这里给个国内SDK版本的镜像Se
2015-08-02 23:40:22
1511
原创 Android 图片缩放,手势,事件
我们这里使用第三方的jar包,来完成。下载地址xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andro
2015-08-01 22:43:02
759
原创 Android 选择图片裁剪,上传
先上效果图 activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android
2015-07-29 00:42:04
1710
转载 Activity 通过 AndroidManifest.xml 切换动画
原文地址通过 android:theme 属性设置 Activity 的主题。主题中定义了关于 Activity 外观的很多特性。同时,主题中还可以定义 Activity 的切换动画。这是应用 Activity 切换动画的一种方法。下面讲解一下如何通过主题来设置 Activity 间的切换动画。res/values/styles.xml,很简单,就是使用 windowAnimationStyle 这
2015-07-27 00:04:40
1024
原创 Android fragment+viewpager 切换Tab
效果图和上一篇文章《Android Fragment制作Tab》的效果图一样,只是支持了左右滑动的功能。bottom.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="m
2015-06-03 11:24:14
1148
原创 Android Fragment制作Tab
这里我仅仅使用了fragment,没有使用viewpager,所以是没有办法滑动的。这里的fragment的xml布局我就不再上了,直接上top、bottom和activity_main;bottom.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/ap
2015-06-03 11:08:15
706
原创 Java 汉字转拼音首字母缩写
以下代码不支持多音字,请慎重使用。package com.tc.sjcj.TC_Provider;import android.content.ContentUris;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android
2015-06-02 17:11:22
2319
原创 ArcGIS for Android 取消双击放大
这里使用的ArcGIS Android的10.2.3的SDK。需要重写MapOnTouchListener的onDoubleTap方法public class DoubleTouchListener extends MapOnTouchListener { public DoubleTouchListener(Context context, MapView view) { s
2015-06-02 16:59:16
2127
2
原创 Android FTP操作
这里使用第三方commons-net-3.0.1.jar连接FTPFTP连接FTP下载FTP上传FTP创建远程服务器目录
2015-06-02 16:53:15
4677
原创 Android 获取外置SD卡
由于现在的大部分Android手机自带了SD卡,所以用 Environment.getExternalStorageDirectory().toString();一般获取的都是机身集成的SD卡路径,但是内置的SD卡存储较小,所以还需要获取外置的SD卡,但是由于Android的开源,不同的手机厂商对Android的外置卡的名称做了修改,所以一下代码 不敢确定支持所有的Android系统
2015-06-02 16:20:25
927
原创 Android ViewPager 仿照微信Tab
先上效果图:代码思路:1、设置top和bottom布局;2、设置主界面布局;3、初始化控件、视图和PagerAdapter,并绑定适配器;4、初始化事件,4个组合控件的onclick事件;5、监听滑动事件,切换图片。代码:1、top布局<LinearLayout xmlns:android="http://schemas.android
2015-03-04 10:52:01
901
原创 JavaScript排序算法之插入排序
算法设计:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到下一位置;重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;将新元素插入到该位置后;重复步骤2~5。代码:
2014-09-08 00:41:44
716
原创 Android之根据读取SD卡指定后缀名的文件
package com.TestView.layer;import java.io.File;import java.io.FilenameFilter;import android.app.Activity;import android.os.Environment;import android.widget.Toast;public class LayerListClass
2014-09-07 21:54:58
1781
Android6.0权限DEMO
2017-06-20
FragemtViewPagerDemo.zip
2015-06-03
FragemtDemo.zip
2015-06-03
Android 外部扩展TF卡 无法操作
2014-12-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人