<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Android_小牧的博客]]></title><description><![CDATA[佛系青年]]></description><link>https://blog.youkuaiyun.com/android_studying</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; android_studying]]></copyright><item><title><![CDATA[了解AI绘图，Stable Diffusion的使用]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/145473011</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/145473011</guid><author>android_studying</author><pubDate>Thu, 06 Feb 2025 17:23:27 +0800</pubDate><description><![CDATA[nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, 表示不适用于公开场合的描述，以及一些低质量的通用诟病内容统一限制。最佳的范围应在512至768像素之间。]]></description><category></category></item><item><title><![CDATA[常用ADB命令整理]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/145472290</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/145472290</guid><author>android_studying</author><pubDate>Thu, 06 Feb 2025 14:11:40 +0800</pubDate><description><![CDATA[SHA256正式秘钥：14:B4:93:F3:D7:C4:05:3E:67:44:34:F1:1D:54:51:B3:22:C1:4D:F0:BD:71:AA:93:98:1D:1C:90:C0:63:CE:3D。#拉文件，将/sdcard/save_screen/screenshot.png文件，拉到C:\mqq\screen_path\Floder下。#推文件，将C:\mqq\screen_path/screenshot.png文件，推到C:\mqq\screen_path/Floder。]]></description><category></category></item><item><title><![CDATA[Android开发工作经历整理]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/145431227</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/145431227</guid><author>android_studying</author><pubDate>Mon, 03 Feb 2025 20:23:57 +0800</pubDate><description><![CDATA[3.触发（边沿、脉宽、斜率、视频、码型、持续时间、超时、欠幅脉冲、延迟、建立保持、第N边沿、RS232、I2C、SPI、CAN、FlexRay、LIN、I2S、1553B）4.解码（边沿、脉宽、斜率、视频、码型、持续时间、超时、欠幅脉冲、延迟、建立保持、第N边沿、RS232、I2C、SPI、CAN、FlexRay、LIN、I2S、1553B）7.测量（最大值、最小值、峰峰值、顶端值、底端值、幅度值、高值、中值、低值、平均值、有效值、周期有效值、交流有效值、过冲、预冲、面积、单面积周期）]]></description><category></category></item><item><title><![CDATA[Retrofit 动态代理+反射 基本原理]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/120011234</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/120011234</guid><author>android_studying</author><pubDate>Tue, 31 Aug 2021 10:08:37 +0800</pubDate><description><![CDATA[retrofit = new Retrofit.Builder().baseUrl("https://www.httpbin.org/").build();
 httpbinService = retrofit.create(HttpbinService.class);


public &lt;T&gt; T create(final Class&lt;T&gt; service) {
    validateServiceInterface(service);
    return (T)
    ..]]></description><category></category></item><item><title><![CDATA[Java流程控制]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115490645</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115490645</guid><author>android_studying</author><pubDate>Thu, 08 Apr 2021 14:08:16 +0800</pubDate><description><![CDATA[Java流程控制可大致分为以下几部分：

1.复合语句：与C语言及其他语言相同，Java语言的复合语句是以整个块区为单位的语句，所以又称块语句。复合语句由开括号“{”开始，闭括号“}”结束。

2.条件语句：条件语句可根据不同的条件执行不同的语句。包括if条件语句和switch多分支语句。

3.循环语句：while循环、do while循环、for循环、foreach循环

一.if条件语句

if条件语句是一个重要的编程语句，用于告诉程序在某个条件成立的情况下执行某段语句，而另一种情况下执行另外的语句。]]></description><category></category></item><item><title><![CDATA[Java运算符]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115483385</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115483385</guid><author>android_studying</author><pubDate>Wed, 07 Apr 2021 15:23:39 +0800</pubDate><description><![CDATA[运算符是一些特殊的符号，主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符，如赋值运算符、算术运算符、比较运算符等。


1.赋值运算符（“=”）：赋值运算符以符号“=”表示，它是一个二元运算符（对两个操作数作处理），其功能是将右方操作数所含的值赋给左方的操作数。



2.算术运算符：“+”（加）、“-”（减）、“*”（乘）、“/”（除）、“%”（取余）



3.单目运算符：自增、自减 （++a、a++、--a、a--）  自增与自减都是相对于操作元i和表达式而言的...]]></description><category></category></item><item><title><![CDATA[Java变量与常量]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115464036</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115464036</guid><author>android_studying</author><pubDate>Wed, 07 Apr 2021 10:45:29 +0800</pubDate><description><![CDATA[在程序执行过程中，其值不能被改变的量称为常量，其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。

一.标识符和关键字

1.标识符：标识符可以简单地理解为一个名字，用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。Java语言规定标识符由任意顺序的字母、下划线（_）、美元符号（$）和数字组成，并且第一个字符不能是数字。标识符不能是Java中的保留关键字。
...]]></description><category></category></item><item><title><![CDATA[Java基本数据类型]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115457187</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115457187</guid><author>android_studying</author><pubDate>Tue, 06 Apr 2021 15:41:09 +0800</pubDate><description><![CDATA[在Java中有8种基本数据类型，它们分别被用来处理3种类型的数据，数值型、字符型、布尔型。

1.数值型：整数类型（byte、short、int、long），浮点类型（float、double）

2.字符型：char

3.布尔类型：boolean

一.整数类型

整数类型用来存储整数数值，即没有小数部分的数值。可以是正数，也可以是负数。整型数据在Java程序中有3种表示形式，分别为十进制、八进制和十六进制。

十进制：十进制的表现形式大家都很熟悉，如120、0、-127

八进制：如0123（转换成十]]></description><category></category></item><item><title><![CDATA[Java主类结构]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115456040</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115456040</guid><author>android_studying</author><pubDate>Tue, 06 Apr 2021 11:11:18 +0800</pubDate><description><![CDATA[Java语言是面向对象的程序设计语言，Java程序的基本组成单元是类，类体中有包括属性和方法。每一个应用程序都必须包含一个main()方法，含有main()方法的类称为主类。下面通过程序来介绍Java主类结构。



package com.it.cast.cn;

public class First {
    static String s1="你好";
    public static void main(String[] args){
        String s2="Java";
    ]]></description><category></category></item><item><title><![CDATA[Java简介与HelloWorld第一行代码]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115396617</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115396617</guid><author>android_studying</author><pubDate>Tue, 06 Apr 2021 10:27:02 +0800</pubDate><description><![CDATA[一.基本信息

1.设计人：詹姆斯·戈士林博士（Sun公司研究院院士）

2.创建时间：1995年

3.特点：跨平台，用Java编写的程序可以运行在任何平台和设备上，如跨越IBM个人电脑、MAC苹果计算机、各种微处理器硬件平台、Windows、UNIX、OS/2、MAC OS等系统平台。

4.重点：Java之所以跨平台主要原因是因为JVM的跨平台，不同操作系统中都支持JVM，而使用Java语言编写的源程序代码被编译器编译成.class文件可以直接被各操作系统的JVM直接识别，识别后别解释成机器码（就都是]]></description><category></category></item><item><title><![CDATA[重学《Java从入门到精通》第四版   清华大学出版社]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/115391957</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/115391957</guid><author>android_studying</author><pubDate>Fri, 02 Apr 2021 11:00:57 +0800</pubDate><description><![CDATA[作为一名刚毕业1年半的Android Developer，在工作后总发觉自己的Java功底很是欠缺。所以准备再重新学习一遍Java。温故而知新，可以为师矣。Java这门编程语言或许会被其他编程语言所代替，但其优秀的编程思想却永远不会消失，所以不用有所质疑，选择它没有错。

Java这门编程语言我是从大二以看视频的方式开始学起的（那种零基础学Java视频）。在学校图书馆看了近1个月，大致了解了Java中的一些关键字、对象名称、常用特性等。至于手敲还是很懵懂、也不熟练。所以就淘宝选购了本《Java从入门到精通》]]></description><category></category></item><item><title><![CDATA[实现跨程序数据共享]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86607804</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86607804</guid><author>android_studying</author><pubDate>Thu, 24 Jan 2019 13:40:19 +0800</pubDate><description><![CDATA[我们这里先假设先有一个A应用程序，这个程序中存在一个BookStore数据库和一张Book表，

然后还有一个B应用程序，跨程序实现数据共享的意思就是，通过B程序，我们可以对A程序中Book表中的数据进行CRUD（增删改查）操作。

下面我们就一一来实现A应用程序和B应用程序。

A应用程序：DatabaseSave

B应用程序：ProviderTest

我们需要实现ProviderTest应...]]></description><category></category></item><item><title><![CDATA[创建自己的内容提供器]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86593309</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86593309</guid><author>android_studying</author><pubDate>Wed, 23 Jan 2019 10:54:05 +0800</pubDate><description><![CDATA[如果想要实现跨程序共享数据的功能，官方推荐的方式就是使用内容提供器，可以通过新建一个类去继承ContentProvider的方式来创建一个自己的内容提供器。ContentProvider类中有6个抽象方法，我们在使用子类继承它的时候，需要将这6个方法全部重写。新建MyProvider继承自ContentProvider，代码如下所示：


package com.example.administr...]]></description><category></category></item><item><title><![CDATA[运行时权限+读取系统联系人]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86592572</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86592572</guid><author>android_studying</author><pubDate>Tue, 22 Jan 2019 13:20:16 +0800</pubDate><description><![CDATA[GitHub项目地址：

https://github.com/Skymqq/ContactsTest.git

 

首先在模拟器中创建2个联系人，如下所示：







我们看到列表中中已经存在2位联系人了。

新建一个ContactsTest项目。

activity_main.xml代码：


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;l...]]></description><category></category></item><item><title><![CDATA[访问其他程序中的数据（ContentResolver的CRUD操作）]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86590281</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86590281</guid><author>android_studying</author><pubDate>Tue, 22 Jan 2019 12:11:19 +0800</pubDate><description><![CDATA[
内容提供器的用法一般有两种：

1.使用现有的内容提供器来读取和操作相应程序中的数据

2.创建自己的内容提供器给我们程序的数据提供外部访问接口。


如果一个应用程序通过内容提供器对其数据提供了外部访问接口，那么任何其他的应用程序既可以对这部分数据进行访问。Android系统中自带的电话薄、短信、媒体库等程序都提供了类似的访问接口，这就使得第三方应用程序可以充分地利用这部分数据来实现更好的功能...]]></description><category></category></item><item><title><![CDATA[(调用系统电话薄)运行时权限的基本使用]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86569869</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86569869</guid><author>android_studying</author><pubDate>Tue, 22 Jan 2019 09:43:20 +0800</pubDate><description><![CDATA[GitHub项目地址：

https://github.com/Skymqq/RuntimePermissionTest.git

运行时权限是Android6.0系统引入的新特性，那么为何要引入这种运行时权限的机制呢？这是为了保障用户的安全和隐私，如果系统声明了某些危险权限，而这个时候用户却一点都不知晓，这就显得很不人性化，如果在程序安装界面，弹出一个对话框来通知用户，是否允许当前程序拥有一些权...]]></description><category></category></item><item><title><![CDATA[使用LitePal操作数据库(CRUD增删改查) 项目已上传GitHub]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86538280</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86538280</guid><author>android_studying</author><pubDate>Sun, 20 Jan 2019 12:43:01 +0800</pubDate><description><![CDATA[GitHub项目地址：

https://github.com/Skymqq/LitePalSave.git

 


LitePal是一款开源的Android数据库框架，它采用了对象关系映射（ORM）映射的模式，并将我们平时开发最常用到的一些数据库进行了封装，使得不用编写一行SQL语句就可以完成各种建表和增删改查的操作。


首先新建一个LitePalSave项目。


配置LitePal

A...]]></description><category></category></item><item><title><![CDATA[Android数据存储之SQLite数据库存储，数据库的CRUD操作（增、查、改、删）（创建BookStore.db数据库，创建Book表，并了解adb shell来查看数据库和表的创建情况）]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86479021</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86479021</guid><author>android_studying</author><pubDate>Tue, 15 Jan 2019 10:52:25 +0800</pubDate><description><![CDATA[GitHub项目地址：

https://github.com/Skymqq/DatabaseSave.git


SQLite是一款轻量级的关系型数据库，它的运算速度非常快，占用资源也很少，通常只需要几百KB的内存就足够了，因而特别适合在移动设备上使用。SQLite不仅支持标准的SQL语法，还遵循了数据库的ACID事务，所以只要你以前使用过其他的关系型数据库，就可以很快的上手SQLite。而SQ...]]></description><category></category></item><item><title><![CDATA[Android数据存储之SharedPreferencesSave存储（保存数据，读取数据的操作）]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86476657</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86476657</guid><author>android_studying</author><pubDate>Mon, 14 Jan 2019 15:50:48 +0800</pubDate><description><![CDATA[GitHub项目地址：

https://github.com/Skymqq/SharedPreferencesSave.git

不同于文件的存储方式，SharedPreferences是使用键值对的方式来存储数据的。也就是说，当保存一条数据的时候，需要给这条数据提供一个对应的键，这样在读取数据的时候就可以通过这个键把相应的值取出来。而且SharePreferences还支持多种不同的数据类型存...]]></description><category></category></item><item><title><![CDATA[Android数据存储之文件存储（瞬时数据的存储与读取）项目已上传GitHub]]></title><link>https://blog.youkuaiyun.com/android_studying/article/details/86425640</link><guid>https://blog.youkuaiyun.com/android_studying/article/details/86425640</guid><author>android_studying</author><pubDate>Sun, 13 Jan 2019 18:23:28 +0800</pubDate><description><![CDATA[GitHub地址：

https://github.com/Skymqq/FileSave.git

 

数据持久化就是指将那些内存中的瞬时数据保存到存储设备中，保证即使在手机或电脑关机的情况下，这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的，而保存在存储设备中的数据是处于持久状态的，持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。

Android系统中主要提供...]]></description><category></category></item></channel></rss>