自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安卓兼职framework和app工程师的博客

从事7年app和os定制开发

  • 博客(27)
  • 资源 (55)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 7.0以上和7.0以下获取USB,sdcard路径的方法

1 7.0以上路径获取方法 public static List getAllExternalSdcardPath(Context context) { List uDisks = new ArrayList<>(); String systemPath = Environment.getExternalStorageDirectory().getAbsolutePath(); StorageManager mStorageManager

2020-07-31 13:27:38 891 2

原创 Android 自定义ListView实现Item左右滑动删除

最近工作之中,要实现ListView左右滑动删除Item功能,在此做个记录。案例图:1.自定义ListViewimport android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.VelocityTracker;import android.view.View;import android.view.ViewConfigurati

2020-07-29 17:04:21 763 3

原创 Android 8.0发送通知

在Android8.0以后,针对Notification 通知api做了修改,新增了通知渠道(NotificationCannel)。下面就把demo的详细代码记录下:1.Application 为NotificationManager添加通知频道import android.app.Application;import com.xinrui.ndkapp.notification.NotificationChannels;public class NdkApplication extends

2020-07-27 19:44:12 851

原创 Android 区分单点触摸和多点触摸和解决单点和多点的冲突

在处理单点触摸和多点触摸的过程中,仅仅通过event.getPointCount()来区分单指和多指触摸是不完全正确的,这只能获取 手指的个数, 而通过MotionEvent.ACTION_POINTER_UP 可以来区分多指和单指,当多指触摸时,会触发这个事件案例如下:import android.app.Activity;import android.content.Intent;import android.os.Build;import android.os.Bundle;import

2020-07-24 17:50:00 953 2

原创 Android JSON解析json数据

一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组“” 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)案例1:{ "translation": [ "爱" ], "basic": { "us-phonetic":

2020-07-24 15:35:54 386

原创 Android 遥控器组合键的处理

最近在做遥控器开发中,需要处理两个按键一起按时的组合键的处理,下面做个笔记1.定义组合键处理类import android.content.Context;import android.util.Log;import com.xinrui.tvsetting.common.IMultKeyTrigger;public class MyMultKeyTrigger implements IMultKeyTrigger { private static String TAG =MyMultK

2020-07-22 18:53:29 863 2

原创 Android 数据结构之 二叉树

最近抽时间看了下二叉树,下面把二叉树的相关遍历方式共享下1.定义树结构类 public class TreeNode { public TreeNode left; public TreeNode getLeft() { return left; } public void setLeft(TreeNode left) { this.left = left; } public TreeNode getRight() {

2020-07-21 15:15:43 404

原创 Android 自定义可拖拽,可放大缩小的ImageView

最近需要开发控件,需要放大缩小可随意拖拽,于是就自定义View来实现,具体如下:案例:1.自定义Viewimport android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;impor

2020-07-17 15:19:15 1119 2

原创 Android JNI异常处理

Android JNI 调用时的异常主要有如下两种:Native 代码调用 Java 层代码时发生了异常要处理Native 代码自己抛出了一个异常让 Java 层去处理可以看到异常的发生和处理基本都需要 Native 和 Java 交互,而对于 Native 自身出了异常,也就是 C/C++ 代码有问题,导致应用崩溃的又是另一回事了。Native 调用 Java 方法时的异常之前的博客中就讲述了如何从 Native 调用 Java 的方法,先准备一个有异常的方法供 Native 去调用。

2020-07-16 20:14:20 658

原创 Android 自定义转盘菜单

最近由于公司项目需要,需要开发一款转盘菜单,费了好大功夫搞出来了,下面分享下样图具体功能如下:import android.graphics.Color;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentPagerAdapter;import android.support.v7.app.AppCompatActivity;import a

2020-07-16 18:12:04 2116 2

原创 Android JNI常用api

一、Interface Function Table(接口函数表)每个函数都可以通过JNIEnv参数访问,JNIEnv类型是指向一个存放所有JNI接口指针的指针,其定义如下:typedef const struct JNINativeInterface *JNIEnv;虚拟机初始化函数表,如下面代码所示,前三个条目是为了将来和COM兼容而保留的。另外,我们在函数表的开头附近保留了一些额外的NULL条目,例如,可以在FindClass之后添加未来与类相关的JNI操作,而不是在表的末尾。请注意,函数表可以

2020-07-14 09:18:36 415

原创 Android JNI 数据类型

Java层和Native层都有自己的数据类型,在JNI中,这些数据类型又可以分为基本数据类型和引用数据类型,其中,基本数据类型是可以直接相互转换的,而引用数据类型则需要进行一定的装换才可以。为了方便对两个世界的基本数据类型进行相互装换,JNI为我们提供了一系列的方法来帮助我们完成这些工作。JNI数据类型1 基本数据类型Java类型 JNI类型 类型签名boolean jboolean Zbyte jbyte Bchar jchar Cshor

2020-07-13 20:27:38 800

原创 Android JNI结构体和指针数组的使用以及调用Java类的方法和属性

1.结构体的使用struct Work{ char name[10]; int age;}darren = {"Darren",23},jack;//默认给结构体赋值struct Worker{ char name[10]; int age; struct Work work;};extern "C" JNIEXPORT void JNICALLJava_com_xinrui_ndkapp_MainActivity_usestruct(JNIEnv *en

2020-07-13 15:48:49 459

原创 Android JNI读取本地文件和读取文件并且写入其他文件

JNI 对文件读写操作:1.读取本地文件extern "C" JNIEXPORT void JNICALLJava_com_xinrui_ndkapp_MainActivity_readFile(JNIEnv *env, jobject instance,jstring str) { const char* path=env->GetStringUTFChars(str,JNI_FALSE); FILE* file = fopen(path,"r"); if(file==

2020-07-13 09:51:53 4672

原创 Android JNI创建字符串数组和jni释放资源

1.创建字符串数组extern "C" JNIEXPORT jobjectArray JNICALLJava_com_xinrui_ndkapp_MainActivity_createStringArray(JNIEnv *env, jobject instance){ jclass cls = env->FindClass("java/lang/String"); jobjectArray str_array = env->NewObjectArray(5,cls,0);

2020-07-10 18:18:26 1253

原创 Android JNI文件操作常用函数

在Android开发中,对于JNI读写文件也是常用的功能,jni操作常用函数讲解就来简单分析方便更快了解jni读写文件功能。

2020-07-10 16:21:51 1879

原创 Android JNI 删除文件和遍历文件夹并删除文件夹下的文件

对操作文件也是在开发中常用的事情,下面对删除文件和文件夹下的文件做个笔记1.删除文件extern "C" JNIEXPORT int JNICALLJava_com_xinrui_ndkapp_MainActivity_deletefile(JNIEnv *env, jobject instance, jstring str) { const char *str_path = env->GetStringUTFChars(str, JNI_FALSE);//本地代码绝不能修改字符串的内容

2020-07-10 15:24:43 933

原创 Android JNI string.h 常用函数详解

JNI 开发中 string.h的一些常用函数做个总结:strcpychar *strcpy(char *destin, char *source);功能:将source指向的字符串拷到destin。int main() { char dest[5]; char *src="123456"; strcpy(dest, src); printf("dest= %s, %s, %s", dest, dest+4, dest+5); return 0; }

2020-07-10 14:03:31 797

原创 Android 多组RadioGroup的选项互斥

在开发中,也会遇到两组RadioGroup选择项互斥的需求,其实也就是清除另外一组的选项 mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checke

2020-07-09 18:02:26 711 2

原创 Android 自定义ViewPager(仿蘑菇街欢迎页)

最近研发需求,需要一款和蘑菇街样式的欢迎页,所以就自定义ViewPager来实现需求:效果图:具体功能如下:1.MainActivity代码public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requ

2020-07-08 11:00:43 295 2

原创 Android View基本概念和生命周期

本篇掌握内容:什么是View?View 坐标的基本概念View的生命周期如何自定义View1.什么是View?android.app.View 就是手机的UI,View 负责绘制UI,处理事件(evnet),Android 利用 View 打造出所 Widgets,利用 Widget 可打造出互动式的使用者介面,每个View 负责一定区域的绘制。一张图理解常用控件层级关系2.View 坐标的基本概念View的宽高是有top、left、right、bottom参数决定的 而X,Y和trans

2020-07-08 09:53:15 851

原创 Android 十六进制颜色值转换成int类型值

1.十六进制值:#00CCFFint textcolor = Color.parseColor("#00CCFF")返回int数值;text.setTextColor(textcolor);2.根据id获取十六进制的值public String getColorHex(int colorId, Context context){ StringBuffer stringbuffer = new StringBuffer(); int color = context.g

2020-07-05 16:19:03 2059

原创 Android 自定义可编辑可任意全屏拖动的EditText

前言在开发中,有一种需求,需要一种EditText可拖动并且可编辑,在失去焦点时,变成TextView,获取焦点时,可编辑,查阅好多资料,最终完成,由于开发时间比较紧,只做个笔记效果图:1.自定义Viewimport android.content.Context;import android.graphics.Paint;import android.text.Editable;import android.text.TextPaint;import android.text.TextWa

2020-07-03 16:47:47 1652 4

原创 Android 自定义View实现直播点赞特效

由于开发的需要,需要开发类似直播点赞特效的需求,于是自定义View来实现这种效果案例图:自定义Viewimport android.animation.Animator;import android.animation.AnimatorSet;import android.animation.ObjectAnimator;import android.animation.TypeEvaluator;import android.animation.ValueAnimator;import

2020-07-02 14:12:20 456 2

原创 Android 复制和删除文件夹和文件

在开发中,对于文件和文件夹的复制 删除操作,也是常用的,下面做个记录以便备用 /** * 复制文件 * * @param fromFile 要复制的文件目录 * @param toFile 要粘贴的文件目录 * @return 是否复制成功 */ public boolean copy(String fromFile, String toFile) { //要复制的文件目录 File[] currentF

2020-07-02 09:40:54 544 2

原创 Android JNI用bitmap来实现Imageview的上下翻转和左右镜像

Android NDK功能很强大,今天就来学习下jni用bitmap实现Imageview的上下翻转和左右镜像效果图:在 Android 通过 JNI 去调用 Bitmap,通过 CMake 去编 so 动态链接库的话,需要添加 jnigraphics 图像库。target_link_libraries( # Specifies the target library. native-operation jni

2020-07-01 09:28:55 1032

原创 Android Jni用bitmap形式实现Image图片的黑白滤镜

在Android的开发中,我们有时会对性能要求比较高。Android通过NDK为我们提供了c++开发的方式。我们可以通过c++完成核心的耗时的计算然后通过JNI的方式将处理完成的数据传给Java层。今天,我们就用jni的方式对Bitmap进行处理,来实践NDK开发的方式。开发一个图片滤镜。效果图:1.CMakeLists.txt 配置target_link_libraries( # Specifies the target library. nativ

2020-07-01 09:13:15 534

android Accessibility无障碍服务实现获取系统全局任何控件的名称和坐标信息

运用android系统中的Accessibility无障碍服务实现获取系统全局中任何控件的名称和坐标信息等AccessibilityNodeInfo的信息

2024-03-23

android 悬浮窗全屏显示,锁屏页面悬浮窗全屏显示

实现悬浮窗全屏功能,覆盖导航栏状态栏,在锁屏页面同样做到悬浮窗显示在锁屏页上面,并且做到全屏显示

2024-03-22

读写xls 和 xlsx格式的excel文件

app 里面 可以读写xls 和xlsx格式的文件

2022-05-20

10.0 根据包名授予app所需的权限.rar

10.0 根据包名授予app所需的权限 去掉首次运行授权

2021-11-10

10.0 电压低不能开机增加提示功能.rar

10.0电压过低 不能开机 增加提示功能

2021-11-08

10.0 充电电压过高增加提示弹框和警报声.zip

10.0添加充电电压过高增加提示弹窗和警报声的功能

2021-11-07

10.0去掉前置摄像头闪光灯功能.zip

10.0 Camera2去掉前置摄像头闪光灯功能

2021-11-07

10.0 init.rc中data下创建文件节点失败.zip

init.rc 在data创建文件夹和节点的正确方法

2021-11-07

10.0创建恢复出厂设置不被清除的文件夹节点.zip

创建恢复出厂设置不被清理的文件夹和节点 保存不该清理掉的数据

2021-11-07

10.0修改系统版本号和系统ID.rar

10.0修改系统版本号Build.DISPLAY和系统id号Build.ID

2021-11-05

9.0 10.0设置系统默认语言为中文.rar

9.0 10.0修改系统默认语言为中文,开机默认中文显示

2021-11-05

10.0在电话拨号盘(Dialer app中)通过暗码进入工厂测试模式.rar

10.0在通过拨号盘添加暗码进入工厂模式的功能,输入特定暗码 然后进入工厂模式方便测试

2021-11-05

10.0添加开机音乐.rar

Android 10.0增加开机音乐功能

2021-11-05

9.0 10.0SystemUI默认展开下拉框(展开下拉快捷).rar

Android 9.0 10.0 SystemUI实现默认展开下拉列表,显示所有下拉快捷

2021-11-05

Android(Q)10.0添加关机音乐和关机动画.rar

10.0添加关机音乐和关机动画的功能

2021-11-05

Android 自定义ListView和RecycleView实现多级树功能

自定义ListView和RecycleView实现多级树功能 实现类似qq分组列表

2021-09-22

9.0 10.0屏蔽锁屏 息屏功能.rar

Android 9.0 10.0屏蔽锁屏功能和息屏功能 让平板永不息屏和从不锁屏

2021-09-15

Android 9.0 10.0 framework添加KeyEvent按键事件流程.rar

9.0 10.0 在framework层添加KeyEvent按键事件的流程

2021-09-14

FlowLikeStar.rar

利用贝塞尔曲线原理自定义仿qq 点赞动画

2021-09-11

9.0 10.0 USB连接模式默认设为MTP.rar

android 9.0 10.0 USB连接模式默认充电连接模式修改为默认设置为MTP模式

2021-09-10

8.0 9.0 10.0静默安装和卸载

8.0 9.0 10.0静默安装和卸载的功能

2021-09-09

自定义时间选择器 农历公元时间切换 省市联动器

自定义时间选择器 农历公元时间切换 省市联动器 圆分割线等功能

2021-09-09

9.0 10.0去掉锁屏和息屏功能(永不息屏).rar

9.0 10.0去掉锁屏和息屏功能(永不息屏) 让屏幕永不息屏和锁屏

2021-09-08

仿ios底部弹dialog

仿ios底部弹出对话框

2021-09-08

8.1 9.0 10.0安装app时抛出异常解决方案.rar

8.1 9.0 10.0在系统app中代码安装app时抛出Permission Denial that is not exported from UID 1000的异常的解决方案

2021-09-07

android 自定义仿微信底部菜单栏

仿微信底部菜单栏 底部菜单字体显示隐藏 底部菜单缩放等等

2021-09-05

android 支持水平垂直滚动的RecyclerView

支持水平垂直滚动的RecyclerView的app demo

2021-09-03

android 自定义酷炫ViewPager切换效果带页面弹性指示器动画

自定义酷炫的ViewPager控件 在切换图片时,带页面弹性指示器动画效果

2021-09-02

android 自定义View动画全集

app包含图层混合 滤镜效果 粒子爆炸 拖拽气泡 动画绘制文字 圆形水波纹进度条 自定义加载动画 Splash动画等

2021-09-01

android 粒子爆炸和气泡拖拽SplitDemo.rar

实现粒子爆炸 破碎酷炫动画 气泡拖拽动画 滤镜 图层混合等效果

2021-08-26

侧滑菜单依次弹出(动画效果) SlideMenuPro.rar

android 侧滑菜单依次弹出demo 点击菜单按钮 按顺序弹出菜单,关闭侧滑菜单也是按顺序关闭

2021-08-25

android 读写Excel(支持xlsx xls格式)

app 读写Excel 支持读写xlsx和xls格式

2021-08-19

android app设置动态壁纸和静态壁纸的DynamicWallpaper.rar

在app中设置系统静态壁纸和动态壁纸

2021-08-18

9.0 10.0Launcher3设置app图标和hotseat图标为圆角图标

9.0 10.0Launcher3修改默认的app图标和hotseat图标为圆角图标

2021-08-13

android 9.0 10.0设置上网白名单

9.0 10.0设置上网app白名单 在白名单内的app可以上网 其他的app不能上网

2021-08-10

android 自定义单手指旋转抽奖转盘

自定义手指滑动旋转抽奖转盘的demo 根据手指旋转弧度来旋转转盘

2021-08-10

android10.0禁止拨打电话(屏蔽拨打电话功能).txt

android 10.0禁止系统拨打电话功能,屏蔽掉系统拨打电话的功能

2021-08-09

android 9.0 10.0Launcher3 Hotseat 添加apps button.txt

android 9.0 10.0Launcher3中 Hotseat 添加apps button功能 点击apps 进入app列表界面

2021-08-08

android 9.0 10.0添加负一屏(左一屏)功能left_screen.rar

android 9.0 10.0添加负一屏(左一屏)的功能,适用于各大平台,纯原生代码,添加到Launcher3以后 就可以使用了

2021-08-06

android 自定义九宫格图案解锁DrawPwd.rar

android 自定义九宫格图案解锁demo,绘制完图案后 保存当前密码,然后第二次比对图案密码看和保存的密码是否一致

2021-08-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除