<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Nade的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Naide_S</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Naide_S]]></copyright><item><title><![CDATA[Android单片机硬件通信《GPIO通信》]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/136972019</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/136972019</guid><author>Naide_S</author><pubDate>Sat, 23 Mar 2024 18:03:32 +0800</pubDate><description><![CDATA[GPIO（英语：General-purpose input/output），通用型输入输出端口，在单片机上一般是通过一个GND引脚和若干个io引脚配合工作。单片机可以配置GPIO输入输出模式,与外界环境进行通信交互。在输入环境下，可以读取指定端口的高低电平状态。在输出环境下，可以控制指定端口的高低电平状态。使用Runtime.getRuntime()获取本地GPIO文件并与之通信，直接上代码。]]></description><category></category></item><item><title><![CDATA[Android 自启动]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/136966909</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/136966909</guid><author>Naide_S</author><pubDate>Sat, 23 Mar 2024 14:36:51 +0800</pubDate><description><![CDATA[先说说我的项目需求：要求app一直运行，通过指令进行自动安装并在安装成功后自动开启。行业人事都了解，非root权限不可能无声无息的完成此要求。近期开发上线一个常驻app，项目已上线，今天随笔记录一下静默安装相关内容。我分三篇静默安装（root版）、静默安装（无障碍版）、监听系统更新、卸载、安装。1、com.zhujing.nadedemospace.BootService，最好使用全路径注册，以防自定义广播注册失败！本文通过监听系统广播的方式，实现静默安装后的自启动。package是固定内容，不可修改！]]></description><category></category></item><item><title><![CDATA[Android 静默安装二（无障碍服务版）]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/136833476</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/136833476</guid><author>Naide_S</author><pubDate>Tue, 19 Mar 2024 10:19:43 +0800</pubDate><description><![CDATA[静默安装]]></description><category></category></item><item><title><![CDATA[Android静默安装一（Root版）]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/136766487</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/136766487</guid><author>Naide_S</author><pubDate>Sat, 16 Mar 2024 18:00:30 +0800</pubDate><description><![CDATA[但是使用系统安装方法，明显时不符合项目需要的。所以我使用无障碍服务，辅助系统安装方法完成无操作安装。有root权限时，使用静默安装。没有权限时使用系统安装方法。下篇使用无障碍服务进行无操作安装应用。欢迎各位同学指导……]]></description><category></category></item><item><title><![CDATA[Android SDK 开发 云托管]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/136690813</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/136690813</guid><author>Naide_S</author><pubDate>Wed, 13 Mar 2024 21:58:33 +0800</pubDate><description><![CDATA[android  sdk 发开  远程托管SDK]]></description><category></category></item><item><title><![CDATA[Android URL Scheme唤醒之门]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/115918975</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/115918975</guid><author>Naide_S</author><pubDate>Tue, 20 Apr 2021 21:05:47 +0800</pubDate><description><![CDATA[1、scheme的作用


Android的scheme 是一种页面内跳转协议。通过scheme 可以进行页面跳转，可以是app之间的跳转，
也可以是网页和app之间的跳转。


2、scheme的定义

协议://协议地址/端口/路径/参数
scheme://nade/startapp?data="123456"

协议：scheme(可以自定义)
协议地址：（可以自定义）
端口：（可以自定义）
路径：
参数：


3、scheme的使用



1、app内使用：




 /**
     *...]]></description><category></category></item><item><title><![CDATA[Kotlin接口定义和使用]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/115134292</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/115134292</guid><author>Naide_S</author><pubDate>Tue, 23 Mar 2021 18:02:06 +0800</pubDate><description><![CDATA[1、kotlin定义接口


kotlin使用关键字 interface 来定义接口
接口可以有属性和函数两个元素组成。
接口函数是可以实现的




interface Human{
    val gender:Int
    fun human(){
        if (gender == 1){
            man()
        }else{
            woman()
        }
    }
    fun woman(){
        printl.]]></description><category></category></item><item><title><![CDATA[Kotlin类的定义和类的继承]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/115111764</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/115111764</guid><author>Naide_S</author><pubDate>Tue, 23 Mar 2021 10:36:37 +0800</pubDate><description><![CDATA[1、kotlin使用class声明类

kotlin类由类名、类头、以及由花括号包围的类体构成。
类头由参数和主构造函数构成，类头可以省略。
类体有变量元素和函数构成，也可以是内部类。类体可以省略。
ketlin的类可以这样定义
class Person
可以是这样的
class Person{}
也可以是这样的
class Person（）{}
还可以是这样
class Person constructor()

有变量元素的可以这样定义
class Person constructor(name: St]]></description><category></category></item><item><title><![CDATA[Android studio 真机调试WiFi ADB]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/113525078</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/113525078</guid><author>Naide_S</author><pubDate>Mon, 01 Feb 2021 19:02:31 +0800</pubDate><description><![CDATA[由于前段时间的忙碌，一直没空坐下来码字，今日空闲又来更新了。
今天记录并分享一个小技巧--Android studio 无线真机调试。
一般调试都是以USB数据线调试的居多，但是特别的不方便，还浪费数据线。
这里介绍一个使用WiFi进行真机调试的小技巧。

在我们的插件管理窗口，搜索一下 wifi adb

搜索结果如图：





随便选择其一即可。我选择的是Android WiFi ADB。我选择他的原因是 star 他的人数最多。
然后安装Android WiFi ADB，restart as ...]]></description><category></category></item><item><title><![CDATA[解决 please select android sdk 报错问题]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109569996</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109569996</guid><author>Naide_S</author><pubDate>Mon, 09 Nov 2020 10:02:31 +0800</pubDate><description><![CDATA[这个问题出现的很诡异，明明几分钟之前还跑的好好的，但是就是下一秒就不行了。



这个问题的出现：说明是SDK出现错误了，SDK组成元素确实，无法支持Android studio 进行正常
的运行。所以只要重新下载一下SDK就好了。











本文完。
...]]></description><category></category></item><item><title><![CDATA[weex之列表]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109258033</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109258033</guid><author>Naide_S</author><pubDate>Sat, 24 Oct 2020 13:17:46 +0800</pubDate><description><![CDATA[本文讲一下weex列表功能的实现。本文基于vue进行。

1、基础知识：

本文要对html css js vue相关的知识做到了解的程度。对weex做到熟悉的程度。

2、weex 列表标签 list

&lt;list&gt; 组件是提供垂直列表功能的核心组件，拥有平滑的滚动和高效的内存管理，
非常适合用于长列表的展示。最简单的使用方法是在 &lt;list&gt; 标签内使用一组由简单数组循环生成的
&lt;cell&gt; 标签填充。


cell标签

Cell 必须以一级子组件的形式存在于 ..]]></description><category></category></item><item><title><![CDATA[weex之混合activity基类封装]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109053271</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109053271</guid><author>Naide_S</author><pubDate>Tue, 13 Oct 2020 15:50:54 +0800</pubDate><description><![CDATA[综合对weex技术的学习心得，整理一个activity基类。已备后用。

1、封装ComWeexActivity




public class ComWeexActivity extends AppCompatActivity implements IWXRenderListener {


    private WXSDKInstance instance;
    protected ViewGroup mContainer;

    /**
     * 获取根视图
     * @retu.]]></description><category></category></item><item><title><![CDATA[weex和Android的跳转]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109034436</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109034436</guid><author>Naide_S</author><pubDate>Mon, 12 Oct 2020 19:14:13 +0800</pubDate><description><![CDATA[记录一下，weex和Android的跳转
主要表现为三个方面：

1、weex 跳转的原生界面

 这种方式需求可以通过module扩展的实现。


public class WeexCallBackModule extends WXModule {

    /**
     * 用于module注册
     * @return 返回类名
     */
    public static String getLocalName(){
        return "WeexCallBackMo...]]></description><category></category></item><item><title><![CDATA[weex 和  native 的交互]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109034402</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109034402</guid><author>Naide_S</author><pubDate>Mon, 12 Oct 2020 19:11:06 +0800</pubDate><description><![CDATA[先说一下 Android的扩展能力之module

一、module扩展 是用于weex和Android的数据交互。

有三点要注意的地方：
1、必须继承WXModule，并且不能被混淆
2、必须添加@JSMethod (uiThread = false or true) 注解，必须是public方法
3、module必须注册

数据交互就是通信。具体的厘子如下：

1、创建WeexCallBackModule类继承自 WXModule
2、创建两个方法

 方法1：call（String msg,J...]]></description><category></category></item><item><title><![CDATA[weex环境配置]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/109034325</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/109034325</guid><author>Naide_S</author><pubDate>Mon, 12 Oct 2020 19:09:04 +0800</pubDate><description><![CDATA[官网地址--这里有环境安装健介：
https://weex.apache.org/zh/guide/develop/setup-develop-environment.html#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96

按照我自身经历，一一述说吧。
设备环境（win10）

1、安装node.js, 下方是node官方，找到对应的版本，根据提示操作就好。
https://nodejs.org/en/?spm=a2c7j.-zh-guide-develop-setup-dev]]></description><category></category></item><item><title><![CDATA[Java单例模式详解五种实现方式]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/108882562</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/108882562</guid><author>Naide_S</author><pubDate>Wed, 30 Sep 2020 11:30:20 +0800</pubDate><description><![CDATA[简述：

单例模式（Singleton Pattern）是 Java 中最简单的设计模式之一。
这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。


这种模式涉及到一个单一的类，该类负责创建自己的对象，同时确保只有单个对象被创建。
这个类提供了一种访问其唯一的对象的方式，可以直接访问，不需要实例化该类的对象。

目的：保证一个类有且仅有一个实例，并提供一个访问它的全局访问点。
解决问题：管理一个被高频率使用的类，被频繁的创建和销毁。只用单例能更好的节省程序执行时间和减少空间内存的使用。

]]></description><category></category></item><item><title><![CDATA[项目结构优化设计之smv架构]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/108849622</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/108849622</guid><author>Naide_S</author><pubDate>Mon, 28 Sep 2020 14:52:50 +0800</pubDate><description><![CDATA[我的项目经历了三次结构性变化
第一次：单module+mvc结构。
随着项目业务的拓展，项目分包的差异化变迁以及团队人员的扩充，传统的单module方式
明显已经不再适应团队和项目了。基于这种情况，我开始着手对项目进行结构调整。
具体结构如下图：

第二次：组件化+mvp结构
根据根据业务进行组件划分，单人维护业务module，单module 运行、开发、调试；提高工作效率。
具体结构如下图
发展到现在，这个结构还能支持团队和项目需要，但是造成了分包维护的困难，对工作质量的上升也遇到了瓶颈。
基于此我进行了]]></description><category></category></item><item><title><![CDATA[Android camera 篇之视频录制]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/108122611</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/108122611</guid><author>Naide_S</author><pubDate>Thu, 20 Aug 2020 14:12:41 +0800</pubDate><description><![CDATA[本文是camera系列文章第一篇，预计三篇 ：一 拍照；二 视频；三 自定义相机
相机功能是我们最常用的，属于andorid基础能力。本文讲述一下Android如何调用相机进行录制视频。

流程

获取权限

唤醒相机

录视频并播放


一、获取权限


 /**
     * 所需权限数组 相机 读 写
     */
    private String[] permissions = new String[]{"android.permission.CAMERA",
            "and]]></description><category></category></item><item><title><![CDATA[Android camera 篇之拍照]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/108110437</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/108110437</guid><author>Naide_S</author><pubDate>Wed, 19 Aug 2020 20:59:15 +0800</pubDate><description><![CDATA[本文是camera系列文章第一篇，预计三篇 ：一 拍照；二 视频；三 自定义相机
相机功能是我们最常用的，属于andorid基础能力。本文讲述一下Android如何调用相机进行拍照。

废话不多说，直接上流程。

流程介绍

请求权限

开启相机

拍照并处理结果

先介绍一下请求码

private int takeCameraCodeOne = 1000; // 获取缩略图
 private int takeCameraCodeTwo = 1001; // 获取全尺寸图
 private i...]]></description><category></category></item><item><title><![CDATA[Android集成weex汇总]]></title><link>https://blog.youkuaiyun.com/Naide_S/article/details/107933406</link><guid>https://blog.youkuaiyun.com/Naide_S/article/details/107933406</guid><author>Naide_S</author><pubDate>Tue, 11 Aug 2020 13:29:53 +0800</pubDate><description><![CDATA[weex指北针


集成环境

IDE Android studio v3.1.2
JDK jdk1.8


根据文档说明，我一路next走下来，发现并不能正常跑起来，经baidu，google，github后，整理出一套完整的集成步骤；





首先说一下文档上的内容

1、app module下添加依赖（我的targetSdkVersion 28 ）

   



 implementation 'org.apache.weex:sdk:0.28.0'
        // fastjson
...]]></description><category></category></item></channel></rss>