自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

来来来,走一走

每天努力一点点。

  • 博客(99)
  • 资源 (5)
  • 收藏
  • 关注

原创 android开发 使用Messenger进行进程间通信

Messenger有两个构造方法。能传handler和ibinder,

2024-04-23 19:15:00 114

原创 android开发 多进程的基本了解

android为每个进程都分配一个独立的虚拟机,不同的虚拟机在内存上有不同的地址空间,导致在不同的虚拟机中访问同一个类的对象会产生多份副本。结合本例,com.jn.testbrodercast与:remote进程都存在一个Book类,互不干扰,在一个进程中修改id只会影响当前进程。进程名以“:”开头的进程属于当前应用的私有进程,其他应用的组件不可以和它跑在同一个进程中,而进程名不以“:”开头的进程属于全局进程,其他应用通过ShareUID方式可以和它跑在同一进程中。增加一个类BOOK,并添加静态变量id。

2024-04-21 19:01:52 488

原创 Android 多渠道打包及VasDolly使用

作用:一次性可以打多个apk包,名字、包名、logo等可以不相同。assemble执行完毕后,在app/build/outputs/apk中寻找。将360加固后的apk,复制到app/build/consolidate文件中。在app/build/目录下,创建consolidate和publish文件。buildConfigField申明了一个常量,方便在代码中进行使用。双击bundleAndChannel ,等待编辑,就可以了。在build.gradle(app)文件中加入如下。声明后,会自动生成。

2023-08-20 18:38:45 441

原创 android jetpack App Startup 应用启动时初始化组件(java)

应用启动时初始化组件。

2023-07-22 07:00:00 218

原创 android jetpack DataStore(java)代替SharedPreferences

DataStore 提供两种不同的实现:Preferences DataStore 和 Proto DataStore。

2023-07-21 20:00:00 345

原创 android jetpack databinding的基本使用(java)

bindingadapter中的方法都是静态方法,需要添加@BindingAdapter,第一个参数为控件本身,第二个参数是布局文件传过来参数,} else {} } }oldcollect是旧值,newCollect是新值。可以用来防止重复调用。return;

2023-06-18 17:10:15 905

原创 android jetpack Room的基本使用(java)

添加依赖创建表@Entity表示根据实体类创建数据表,如果有多个主键要使用primaryKeys = {}@ColumnInfo 表示在数据表中的名字@Ignore 表示不在数据表创建此字段@PrimaryKey 主键创建DAO每一个表都对应一个dao。创建数据库创建一个抽象类,设置要创建的数据表,数据版本,数据库名称,DAO。entities 表示数据库中有哪些表对数据库进行增删改查操作,必须要在子线程中。这里向数据库中插入了一条数据,又从数据库中进行了查寻并输出。

2023-06-04 19:39:04 1417

原创 android jetpack viewmodel与livedata的基本使用(java)

Viewmodel可以更好地帮助我们将页面与数据从代码上层面上分离开来。使用ViewModel不再需要关心屏幕旋转带来的数据丢失问题。livedata是一个可被观察的数据容器类,使得数据变成变成被观察者,当数据发生变化时,观察者能够获得通知。

2023-06-04 15:21:12 254

原创 android jetpack Navigation的使用(java)

Navigation通过图形化的方式管理配置页面的切换。

2023-04-16 18:45:25 554

原创 android jetpack LifeCycle的使用(java)

LifeCycle、LifecycleService、ProcessLifecycleOwner

2023-04-08 17:33:23 447

原创 Android学习笔记之ColorMatrix、图像处理

飞呀1.色彩矩阵1.1改变偏移量1.2改变颜色系数2.使用ColorMatrix来改变图片的色光属性2.1 色调2.2 饱和度2.3 亮度2.4 效果混合postConcat2.5 示例3.使用颜色矩阵来改变图片3.1几种图片颜色矩阵处理效果3.1.1 灰度效果3.1.2 图像颜色反转3.1.3 怀旧效果3.1.4 去色效果3.1.5 高饱和度4.像素点分析4.1常用图像像素点处理效果4.1.1 底片效果4.1.2 浮雕效果1.色彩矩阵  图片是由点阵和颜色值组成的,点阵是一个包含像素的举证,每个元

2022-03-27 19:17:16 5807

原创 Android开发之事件分发机制

  要了解事件分发机制之前,我们先了解下事件拦截,便于从整体上理解事件传递的过程。事件拦截  下面举出一个实例来理解事件拦截,ViewGroupA最外层的ViewGroup,ViewGroupB是中间的ViewGroup,最里面是ViewC,是一个View。  重写ViewGroupA、ViewGroupB中的dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent。viewC中的dispatchTouchEvent、onTouchEvent。//

2022-03-21 23:34:58 3172

原创 Android的消息机制 Handler、MessageQueue、ThreadLocal、Looper

handler的作用:  具体来说,有时候需要执行一个比较耗时的工作,在主线程执行是非常不友好的,于是我们从子线程中去执行,可能是读取文件也可能是网络请求。当子线程中的工作完成以后可能需要在页面上显示信息,但在Android的规则中,不能在子线程中更新ui,这个时候就可以通过handler切换到主线程中进行ui操作。简单的说,将一个任务切换到某个指定的线程中去执行。  Android的消息机制主要是指Handler的运行机制,Handler的运行需要MessageQueue和looper的支撑。Mess

2022-02-28 15:25:11 2579

原创 NDK r21编译FFmpeg 4.2.2+x264及使用ffmpeg转换视频文件

使用Ubuntu编译。以aarch64为例。下载x264,进行编译。#!/bin/bashNDK=/home/qwe/android-ndk-r21export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64export TARGET=aarch64-linux-androidexport API=21export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar#export AS=$TOOL

2020-05-24 21:37:25 1476 1

原创 NDK r21编译FFmpeg 4.2.2(x86、x86_64、armv7、armv8)

1.编译FFmpeg2.使用FFmpeg的so库

2020-04-21 00:26:19 2609 12

原创 NDK学习笔记(十四) 使用AVILib+window创建一个AVI视频播放器

使用AVILib+window创建一个AVI视频播放器,SurfaceView

2020-04-17 17:47:28 325

原创 NDK学习笔记(十三) 使用AVILib+opengl es 2.0创建一个AVI视频播放器

avilib、opengl es、GLSurfaceView

2020-04-17 15:21:45 191

原创 NDK学习笔记(十二) 原生图形api,使用AVILib创建一个AVI视频播放器

1.练练手,使用AVILib创建一个AVI视频播放器(1)首先下载transcode,并配置avilib。(2)创建AbstractPlayerActivity并实现native方法(3)配置native-lib,开启jnigraphics,连接avi-lib(4)jni graphics api(5)使用bitmap渲染来更新avi player2.android studio 配置javah

2020-04-14 16:47:12 561

原创 NDK学习笔记(十一) POSIX Sockect 本地通信

在原生层实现本地socket服务器在java层实现本地客户端在两个应用程序之间建立本地socket通信

2020-04-12 23:11:46 203

原创 NDK学习笔记(十) POSIX Sockect 面向无连接的通信

1.接收数据报2.发送数据报3.udp服务4.udp客户端

2020-04-09 23:34:15 151

原创 NDK学习笔记(九) POSIX Sockect 面向连接的通信

文章目录1.sockect函数介绍2.Socket示例__af:指定将会产生通信的socket域,并且选择将用到的协议簇。 android平台支持的协议簇: PF_LOCAL:主机内部通信协议簇 PF_INET:internet第4版协议簇,对应ipv4__type: SOCK_STREAM:提供使用TCP协议的、面向连接的通信Stream socket类型。 SOCK_DGRAM:提供使用UDP协议的、无连接的通信Datagram socket类型。__protocol:指定将

2020-04-08 21:06:00 324

原创 NDK学习笔记(八) 线程相关

1.原生线程(1) 原生代码使用java线程(2) POSIX线程(android)(3) 从POSIX线程返回结果(4) POSIX线程同步①互斥锁②使用信号量同步(5) POSIX线程调度策略

2020-04-06 16:04:16 297

原创 NDK学习笔记(七) 系统配置、用户和组

1.系统配置(1) 通过名称获取系统属性值(2) 通过名称获取系统属性2.用户和组(1) 获取应用程序的用户和组ID(2)获取应用程序用户名

2020-04-05 16:57:39 294

原创 NDK学习笔记(六)基础:内存管理、标准文件I/O

1.Bionic2.C语言的动态内存管理3.C++的动态内存管理4.标准文件I/O5.与进程交互

2020-04-05 16:07:09 263

原创 NDK学习笔记(五)

1.android studio 先生成代码后检测,避免找不到指定类2.从原生代码调用java

2020-04-04 13:48:27 130

原创 NDK学习笔记(四)swig的函数、类、异常

关于swig1.引用、指针、值作为参数,转换成java代码2.重载函数3.类4.异常处理

2020-03-23 23:12:15 349

原创 NDK学习笔记(三) android studio、cmake、SWIG

SWIG是一个编译时软件开发工具,它能生成将用c/c++编写的原生模块与baokuo包括java在内的其他变成语言进行联接的必要代码。1.下载、安装和配置2.试用SWIG3.SWIG的全局变量4.常量5.只读变量6.枚举7.结构体

2020-03-21 22:37:04 928

原创 NDK学习笔记(二)

1.java抛异常,原生代码捕获2.jni原生代码抛出异常3.引用4.线程

2020-03-19 17:15:28 105

原创 NDK学习笔记(一)

1.java方法与原生实例方法参数的关系。2.java与c/c++的基本数据类型关系3.java应用类型与原生的关系4.字符串的相关操作5.数组操作6.NIO操作7.访问域8.调用方法9.域和方法的描述符10.在原生代码中使用log

2020-03-15 14:52:24 189 1

原创 Android开发 RecyclerView实现的折线图

效果图如下:实现的关键是自定义的控件:public class LineView extends View { private int maxValue;//最大值 private int minValue;//最小值 private int currentValue;//当前值 private int lastValue;//上一个值 privat...

2020-03-02 23:26:02 767 1

原创 Android开发 截屏

具体步骤准备好工具类:

2020-02-17 22:15:55 675

原创 Android学习 smallestWidth限定符屏幕适配

smallestWidth限定符——最小宽度限定符ScreenMatch最近在android studio中安装这个插件可能安装不了,可能是由于网络的问题,墙比较高,封杀的比较疯狂,试过很多方法都不能安装,最后选择的是本地安装。具体做法1.准备dimens.xml在values文件中创建dimens.xml文件<?xml version="1.0" encoding="UTF-8...

2020-02-04 23:37:23 396

原创 android开发 记录ViewPager2

引入 implementation "androidx.viewpager2:viewpager2:1.0.0-beta04"在布局中使用省略。viewpager2使用的适配器是RecyclerView的适配器,所以会使用RecyclerView就会使用viewpager2。与viewpager的相比,viewpager2的offscreenPageLimit能设置成0。setO...

2019-10-02 23:12:17 333

原创 android开发 jsbridge的使用及webview与android的交互

目录1. jsbridge框架的基本使用2.原生webview与android交互1. jsbridge框架的基本使用框架地址 https://github.com/lzyzsd/JsBridge导入省略。使用BridgeWebView来代替webview控件。在js中初始化WebViewJavascriptBridge。 function connectWebVi...

2019-08-19 16:36:01 612

原创 Android——记面试问题

1.final的注意事项2.静态方法可以被new出来的对象调用3.java继承关系中为什么静态方法不能重写呢4.记一个LinearLayout布局问题5.public/private/protected/default作用域的比较6.内存溢出与内存泄漏

2019-07-15 23:06:18 99

原创 Android开发 给应用集成打开office文档的功能

使用TBS来实现打开office文档的功能。下载腾讯浏览服务 SDK。网址:https://x5.tencent.com/tbs/sdk.html将tbs_sdk_thirdapp_v4.3.0.1072_43646_sharewithdownloadwithfile_withoutGame_obfs_20190429_175122.jar放入libs文件中,加载。dependencie...

2019-06-28 14:11:17 2950 3

原创 Android组件开发学习ARouter+dagger2

目录1.ARouter1.ARouter(1)组件化开发,先创建项目,如下图所示(2)在baseRes中的bulid.gradle添加信息:dependencies { api 'com.alibaba:arouter-api:1.5.0' annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'}androi...

2019-06-03 14:45:06 676

原创 Android开发工作随笔(2019.4.15)浮点型除法精确计算 、not permitted by network security policy、Retrofit修改User-Agent

1.浮点型除法精确计算2.轧差3.Toast显示不正常,如:上下边距不同。4.打开图片的intent5.华为v20 http请求报错not permitted by network security policy6.Retrofit修改User-Agent

2019-05-13 21:25:37 509

原创 android开发工作随笔2019.2.27

播放音频文件,通过光感原件判断光的强弱进行听筒与喇叭的切换。通过style全局更改文字大小(有此功能需提早做)TabLayout与ViewPager使用,customView消失不见的解决方法将下载的图片更新到系统相册关于自己写的startActivity,在oppo、vivo上需要注意的事情关于AppbarLayout的使用TabLayout的点击阴影的处理,在api 28也是可以的

2019-04-14 16:59:20 243

原创 android工作随记(2018.08)

1.ScrollView中GridView高度不适应问题2.华为手机p7没有错误信息(p8也如此,其他华为型号还不清楚)4.没有滑动的效果的ViewPager5.ScrollView中listview不能显示全部信息6.ViewPager+fragment的使用,菜单错乱问题

2019-03-24 11:08:59 142

Android Fragment+限定符适配Demo

Android的Fragment+限定符适配手机和平板。在这个Demo中,为了方便,我通过修改限定符来测试效果的。修改layout-sw400dp的数值。

2017-10-23

AnimationDemo

android开发中的Tween动画,动画演示demo。 此demo为android studio 2.0 所写。 欢迎下载。

2016-04-22

Android开发之与服务器(jsp)发送、接受JSON数据

Android端向服务器端发送JSON数据。服务器接受到数据后返回JSON信息。

2016-03-19

Android开发ContentResolver与ContentProvider的使用

此为ContentResolver与ContentProvider的使用Demo.

2016-03-06

android开发使用数据库之日记

1.数据库的使用。删除日记,添加日记,编辑日记。 2.没有数据时,先是没有数据等字样。

2014-10-27

空空如也

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

TA关注的人

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