<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ink_s的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ink_s</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ink_s]]></copyright><item><title><![CDATA[Android 根据图片颜色动态设置文字颜色、主题色]]></title><link>https://blog.csdn.net/ink_s/article/details/135530317</link><guid>https://blog.csdn.net/ink_s/article/details/135530317</guid><author>ink_s</author><pubDate>Thu, 11 Jan 2024 15:15:42 +0800</pubDate><description><![CDATA[【代码】Android 根据图片颜色动态设置文字颜色、主题色。]]></description><category></category></item><item><title><![CDATA[android java 代码动态设置ProgressBar 颜色]]></title><link>https://blog.csdn.net/ink_s/article/details/135506888</link><guid>https://blog.csdn.net/ink_s/article/details/135506888</guid><author>ink_s</author><pubDate>Wed, 10 Jan 2024 16:26:52 +0800</pubDate><description><![CDATA[【代码】android java 代码动态设置ProgressBar 颜色。]]></description><category></category></item><item><title><![CDATA[Electron打包应用的简单使用，开机自启动，自定义最大化最小化，JS与主进程通讯]]></title><link>https://blog.csdn.net/ink_s/article/details/112599484</link><guid>https://blog.csdn.net/ink_s/article/details/112599484</guid><author>ink_s</author><pubDate>Thu, 14 Jan 2021 09:35:12 +0800</pubDate><description><![CDATA[官方文档：https://www.electronjs.org/docs

w3c文档：https://www.w3cschool.cn/electronmanual/wcx31ql6.html



 package.json

electron-builder 打包出来的是加密的安装exe和和免安装版文件夹，可直接启动文件夹中exe

electron-packager 打包出来的是免安装版未加密的文件夹，原网页内容在resources/app下，未加密，可直接修改里面的内容


{
  "name..]]></description><category></category></item><item><title><![CDATA[Android pageview无限轮播及带动画指示器]]></title><link>https://blog.csdn.net/ink_s/article/details/111358188</link><guid>https://blog.csdn.net/ink_s/article/details/111358188</guid><author>ink_s</author><pubDate>Fri, 18 Dec 2020 14:09:02 +0800</pubDate><description><![CDATA[效果图







指示器：

参考 https://github.com/yanyiqun001/bannerDot


package com.ink.viewpageindicator;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphi..]]></description><category></category></item><item><title><![CDATA[Android RecyclerView中EdietText输入错乱问题处理]]></title><link>https://blog.csdn.net/ink_s/article/details/111043907</link><guid>https://blog.csdn.net/ink_s/article/details/111043907</guid><author>ink_s</author><pubDate>Fri, 11 Dec 2020 17:05:49 +0800</pubDate><description><![CDATA[效果图












Adapter


package com.ink.test;

import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view....]]></description><category></category></item><item><title><![CDATA[数据接收黏包丢包简单处理，适用蓝牙、串口、socket传输]]></title><link>https://blog.csdn.net/ink_s/article/details/110533351</link><guid>https://blog.csdn.net/ink_s/article/details/110533351</guid><author>ink_s</author><pubDate>Thu, 03 Dec 2020 15:38:09 +0800</pubDate><description><![CDATA[黏包现象：

比如需要分2包发送 01 02 03 04 05 和AA BB

结果接收端可能会接收成一包01 02 03 04 05 AA BB

或则接收成2包01 02 03 04 和05 AA BB

丢包现象：

比如需要分2包发送 01 02 03 04 05 和AA BB

结果接收端可能会接收到01 02 03 04 AA BB（数据05丢失）

如果它按5+2分包，会分成2包01 02 03 04 AA 和 BB



处理办法：定制数据协议，添加缓存机制，收到数据后添加到缓存...]]></description><category></category></item><item><title><![CDATA[Android 直播http、rtmp流，使用ijkplayer]]></title><link>https://blog.csdn.net/ink_s/article/details/110110546</link><guid>https://blog.csdn.net/ink_s/article/details/110110546</guid><author>ink_s</author><pubDate>Wed, 25 Nov 2020 09:46:38 +0800</pubDate><description><![CDATA[ijkplayer github地址







效果















1.导入ijkplayer-java mode


implementation project(path: ':ijkplayer-java')



2.自定义播放器


package com.ink.ijkplaytertest;

import android.annotation.SuppressLint;
import android.content.Context;
import a...]]></description><category></category></item><item><title><![CDATA[Android MediaProjection 录屏H264流或者保存为MP4视频]]></title><link>https://blog.csdn.net/ink_s/article/details/109811878</link><guid>https://blog.csdn.net/ink_s/article/details/109811878</guid><author>ink_s</author><pubDate>Thu, 19 Nov 2020 14:53:29 +0800</pubDate><description><![CDATA[权限


&lt;uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /&gt;
&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
&lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt;



// ]]></description><category></category></item><item><title><![CDATA[本地文件夹上传到gitlab]]></title><link>https://blog.csdn.net/ink_s/article/details/109636787</link><guid>https://blog.csdn.net/ink_s/article/details/109636787</guid><author>ink_s</author><pubDate>Thu, 12 Nov 2020 09:51:28 +0800</pubDate><description><![CDATA[参考

1. shift+右键文件夹，选择Git Bash Here

2. 输入命令： git init  后文件里会生成.git文件夹

3. git add .  将项目的所有文件添加到仓库中。如果想添加某个特定的文件，只需把" . "换成特定的文件名即可。(等待添加完成)

4.git commit -m  将add的文件commit到仓库。

5.git remote add origin https://xxx/xxx/xxx  关联到仓库地址

6.git pull...]]></description><category></category></item><item><title><![CDATA[Android xml （自定义按键背景点击效果）]]></title><link>https://blog.csdn.net/ink_s/article/details/109612160</link><guid>https://blog.csdn.net/ink_s/article/details/109612160</guid><author>ink_s</author><pubDate>Wed, 11 Nov 2020 09:33:16 +0800</pubDate><description><![CDATA[纯代码单色或渐变色按钮效果


&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#55ff0000"&gt;

    &lt;item&gt;
        &lt;selector&gt;
            &lt;item
                android:st.]]></description><category></category></item><item><title><![CDATA[Android 第三方的使用（fastjson、okhttp3、butterknife、glide）]]></title><link>https://blog.csdn.net/ink_s/article/details/109598549</link><guid>https://blog.csdn.net/ink_s/article/details/109598549</guid><author>ink_s</author><pubDate>Tue, 10 Nov 2020 15:00:23 +0800</pubDate><description><![CDATA[implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'



//noinspection AnnotationProcessorOnCompilePath
implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewha.]]></description><category></category></item><item><title><![CDATA[Android OpenCV SDK使用图像对比]]></title><link>https://blog.csdn.net/ink_s/article/details/109592673</link><guid>https://blog.csdn.net/ink_s/article/details/109592673</guid><author>ink_s</author><pubDate>Tue, 10 Nov 2020 10:00:37 +0800</pubDate><description><![CDATA[下载SDK mode导入


implementation project(path: ':opencvsdk')



//opencvsdk 的gradle


// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://ope.]]></description><category></category></item><item><title><![CDATA[Android工具类（分段读取text文件内容）]]></title><link>https://blog.csdn.net/ink_s/article/details/109581859</link><guid>https://blog.csdn.net/ink_s/article/details/109581859</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 17:22:23 +0800</pubDate><description><![CDATA[import com.inks.inkslibrary.Utils.L;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.charset.Charset;


public class ReadTextUtil {

    private RandomAccessFile rea..]]></description><category></category></item><item><title><![CDATA[Android工具类（生成二维码）]]></title><link>https://blog.csdn.net/ink_s/article/details/109581814</link><guid>https://blog.csdn.net/ink_s/article/details/109581814</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 17:20:01 +0800</pubDate><description><![CDATA[compileOnly 'com.google.zxing:core:3.3.0'



  Bitmap bitmap = QRCodeUtil.createQRCodeBitmap(encryptText, 400, 400);








import android.graphics.Bitmap;
import android.graphics.Color;
import android.text.TextUtils;

import androidx.annotation.Colo...]]></description><category></category></item><item><title><![CDATA[Android工具类（键盘）]]></title><link>https://blog.csdn.net/ink_s/article/details/109581601</link><guid>https://blog.csdn.net/ink_s/article/details/109581601</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 17:12:35 +0800</pubDate><description><![CDATA[//监听键盘打开收起

//使用

        SoftKeyBoardListener.setListener(SettingActivity.this, new SoftKeyBoardListener.OnSoftKeyBoardChangeListener() {
            @Override
            public void keyBoardShow(int height) {
                //Toast.makeText(MapActivi..]]></description><category></category></item><item><title><![CDATA[Android工具类（获取包名，版本号，应用名，内存获取）]]></title><link>https://blog.csdn.net/ink_s/article/details/109581471</link><guid>https://blog.csdn.net/ink_s/article/details/109581471</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 17:06:58 +0800</pubDate><description><![CDATA[public class PackageUtils {

    /**
     * 获取版本名称
     *
     * @param context 上下文
     *
     * @return 版本名称
     */
    public static String getVersionName(Context context) {

        //获取包管理器
        PackageManager pm = context.getPackageManager();
 ..]]></description><category></category></item><item><title><![CDATA[Android工具类（静默安装，需root）]]></title><link>https://blog.csdn.net/ink_s/article/details/109581353</link><guid>https://blog.csdn.net/ink_s/article/details/109581353</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 17:02:02 +0800</pubDate><description><![CDATA[public class Install {

    /**
     * 执行具体的静默安装逻辑，需要手机ROOT。
     * @param apkPath
     *          要安装的apk文件的路径
     * @return 安装成功返回true，安装失败返回false。
     */
    public static boolean install(String apkPath) {
        boolean result = false;
        Dat..]]></description><category></category></item><item><title><![CDATA[android工具类（获取设备屏幕分辨率、获取IP、网卡物理地址、Wlan物理地址）]]></title><link>https://blog.csdn.net/ink_s/article/details/109579952</link><guid>https://blog.csdn.net/ink_s/article/details/109579952</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 16:16:45 +0800</pubDate><description><![CDATA[import android.app.Activity;
import android.content.Context;
import android.graphics.Point;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;

import java.net.Inet4Address;
import java.net.InetAddress;
im..]]></description><category></category></item><item><title><![CDATA[Android工具类（文件类）]]></title><link>https://blog.csdn.net/ink_s/article/details/109579799</link><guid>https://blog.csdn.net/ink_s/article/details/109579799</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 16:10:43 +0800</pubDate><description><![CDATA[import android.content.Context;
import android.content.res.AssetManager;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;

import com.inks.inkslibrary.Utils.L;

import org.apache.commons.codec.bina...]]></description><category></category></item><item><title><![CDATA[Android工具类（Des加密解密）]]></title><link>https://blog.csdn.net/ink_s/article/details/109579495</link><guid>https://blog.csdn.net/ink_s/article/details/109579495</guid><author>ink_s</author><pubDate>Mon, 09 Nov 2020 16:06:31 +0800</pubDate><description><![CDATA[import android.util.Base64;

import java.security.Key;
import java.security.SecureRandom;

import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

/**
 * @ProjectNa..]]></description><category></category></item></channel></rss>