<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[small_bat的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/small_bat</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; small_bat]]></copyright><item><title><![CDATA[Android的数据存储]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107116074</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107116074</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:54:48 +0800</pubDate><description><![CDATA[文件存储
a)	怎样写一个文件，以及我们查找文件存储的位置（真实手机查看数据（前提：获取root权限））（data/data/包名/Files/…）
b)	读取系统中的文件并展示
SP(SharePreferences)存储
a)	储存方式：键值对（key（键），value（值）），xml的文件
b)	存储的数据类型：Java8大基本数据类型，String
c)	使用SP进行数据的存储
SQLite存储
一、	基本sql语句地操作
a)	建表语句
b)	新增语句
c)	删除语句
d)	查询语句
二、	帮助.]]></description><category></category></item><item><title><![CDATA[Android Activity——活动]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107116054</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107116054</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:53:22 +0800</pubDate><description><![CDATA[在活动中使用Toast(消息对话框)
在活动中使用Menu（菜单）
a)	创建一个Menu（菜单）的文件夹
b)	创建菜单文件
c)	加载菜单文件，并显示
d)	添加菜单功能
销毁一个活动
活动的生命周期
a)	帮助文档：
b)	生命周期的5种状态
i.	启动
ii.	运行
iii.	暂停
iv.	停止
v.	销毁
c)	生命周期方法
Intent的基本属性及用法
a)	显示Intent
b)	隐式Intent
活动间的数据传递
a)	简单的数据传递
i.	Intent.putextra(key，vaul.]]></description><category></category></item><item><title><![CDATA[Android Activity——创建一个Activity]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107116018</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107116018</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:50:57 +0800</pubDate><description><![CDATA[a)	通过新建Java类，然后继承AppCompatActivity，重写onCreate()方法，新建layout文件夹，并且新建layout布局文件，通过setcontrntview()将Activity与布局文件绑定，最后一定要在清单文件里注册Activity，并且申明为默认启动的Activity
b)	包名处点击右键选择【New】——》【Activity】——》【Empty Activity】选项，填写Activity信息，完成创建，系统会自动给我们创建布局文件，并且在清单文件里注册

...]]></description><category></category></item><item><title><![CDATA[Android Activity——什么是Activity]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115950</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115950</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:49:11 +0800</pubDate><description><![CDATA[什么是Activity
ctivity英文翻译为活动，在Android中代表了界面和以界面为中心相应的业务逻辑，包括显示、与用户交互等。
在一个项目中我们在MainActivity中编写代码，而不需要管理这个MainActivity。是因为Android底层会将这个MainActivity初始化，也就是new出来。我们这里只是重写了onCreate方法，如下图。
注释
1：重写的onCreate方法。
2：@Override是重写的方法的标志。
3：MainActivity继承AppCompatActivi]]></description><category></category></item><item><title><![CDATA[recycler view进阶]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115803</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115803</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:36:40 +0800</pubDate><description><![CDATA[但RecyclerView还是有很多其他的知识没有介绍。比如在入门篇我们看最终的实现效果里相邻的Item就没有分割线，这样看起来就不是很美观。一开始我以为RecyclerV没有默认的分割线，就写了一个，写完之后发现我的命名和自带默认的名字一样，这才发现原来是有默认分割线的[笑哭]。虽然RecyclerView提供默认的分割线，但是吧，那只是一条黑黑的线不好看，所以还是决定自己写一个可以变身的分割线了。
另外一个是RecyclerView没有ListVies方便的地方，就是它没有默认的点击事件实现。
也就是我]]></description><category></category></item><item><title><![CDATA[RecyclerView简单应用]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115731</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115731</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:35:05 +0800</pubDate><description><![CDATA[首先，recyclerview是Android 5.0推出的，是support-v7包中的新组件。
第一步，导入support-v7包，并且，要是5.0以上的：如下图，我选择的是26。

第二步：初始化recycleview，并配置，如下图（解释都在代码中，就不多说了）（补充一下，应该要加上recycleview的依赖）

第三步：写adapter，这里我讲一下，有些同学，才接触的时候，不知道那个&lt;&gt;是什么意思，我大概说一下，那个是泛型，至于什么是泛型，自己百度。我要说的是，那个&lt;&gt;]]></description><category></category></item><item><title><![CDATA[ListView优化]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115687</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115687</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:29:45 +0800</pubDate><description><![CDATA[Android性能优化-ListView
ListView的优化主要分为以下几点
1 convertView的复用
ListView每次滚动都会调用getView方法,所以优化getVieiw是重中之重
convertView介绍
convertView是刚刚滚动出可见区域的View的引用,此时它已经不可见,所以应该被复用以减少View的创建
优化代码
View view = null;//getView方法要返回的View
if(convertView == null){//如果当前没有可以复用的View]]></description><category></category></item><item><title><![CDATA[自定义布局]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115655</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115655</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:28:18 +0800</pubDate><description><![CDATA[自定义View布局
1.确定每个View的位置和尺寸
2.作用：为绘制和触摸范围做支持
1.对于绘制：知道自己需要在哪里绘制。
2.对于触摸反馈：知道用户的点是在哪里。
自定义View布局的工作内容
自定义View的工作分为两个阶段：测量阶段和布局阶段
测量流程：从上到下递归调用每个View或者ViewGroup的measure()方法，测量他们的尺寸并计算他们的位置。
布局阶段：从上到下递归地调用每个View或者ViewGroup的layout()方法，把测量得到的他们的尺寸和位置赋值给他们。
View或]]></description><category></category></item><item><title><![CDATA[相对布局、帧布局、百分比布局、表格布局、约束布局]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115546</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115546</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:25:07 +0800</pubDate><description><![CDATA[1 布局的作用：布局是对界面结构的全面规划和安排，通过api中提供的各种布局能够快速的完成对界面的设计和规划
2.布局的种类：线性布局（LinearLayout）、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局（TableLayout）、网格布局（GridLayout）、约束布局（ConstraintLayout）其中三种不常用布局帧布局、表格布局、网格布局
3 常用属性：layout_width 宽度、
layout_height 高度、
layout_padding]]></description><category></category></item><item><title><![CDATA[线性布局]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115459</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115459</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:18:17 +0800</pubDate><description><![CDATA[线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的
线性布局排列方式有：
纵向：android:orientation=“vertical”
效果

横向：android:orientation=“horizontal”
效果

上面是线性布局的基本样式，平时在开发中线性布局使用也是相对较多的一种布局方式
其中现象布局还有一个属性使用较多就是layout_weight，这个是占用剩余空间的权重
一般在使用时是针对LinearLayout的子元素，当然LinearLayout]]></description><category></category></item><item><title><![CDATA[Dialog]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115368</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115368</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:12:40 +0800</pubDate><description><![CDATA[什么叫dialog
简单来说就是一句话：
弹出一个窗口，提示用户自己去选择，去提示，去分类的一些内容。
安卓自带的dialog有三种：

AlertDialog—-普通的提示对话框
ProgressDialog–进度条对话
DatePickerDialog/TimePickerDialog–日期对话框/时间对话框

所有的对话框，都是直接或间接继承自Dialog类，而AlterDialog直接继承自Dialog，其他的几个类均继承自AlterDialog。
系统自带的dialog基本上用AlertDialo]]></description><category></category></item><item><title><![CDATA[ProgressBar AND 基础控件案例]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115296</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115296</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:03:38 +0800</pubDate><description><![CDATA[今天，我们的主题是ProgressBar，下面看一下官方文档的部分介绍：用于展示一个操作进度，有两种模式，确定进度的与不确定进度的，详情也可以参考指定网站（介绍MD的）。

A user interface element that indicates the progress of an operation.
Progress bar supports two modes to represent progress: determinate, and indeterminate. For
a visual]]></description><category></category></item><item><title><![CDATA[RadioButton 和CheckBox]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115269</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115269</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 21:01:38 +0800</pubDate><description><![CDATA[RadioButton
  一组RadioButton，只能同时选中一个

  单个RadioButton在选中后，通过点击无法变为未选中 

  RadioButton依附于RadioGroup下

CheckBox
  一组CheckBox，能同时选中多个

  单个CheckBox在选中后，通过点击可以变为未选中

实例说明: (并添加监听事件)
activity1.xml文件布局
&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;CheckBox
 ]]></description><category></category></item><item><title><![CDATA[OnclickListener]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115238</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115238</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 20:59:59 +0800</pubDate><description><![CDATA[相信很多像我一样的新手学习ANDROID开发会遇到这个问题，通过这几天的归类和总结，将我的理解写在下面，欢迎大家一起前来讨论：
以按钮BUTTON的监听事件为例，以下的监听实现都是等价的：
1.使用接口继承按钮监听方法：
package dickren123.hui.say_hello_to_world;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget]]></description><category></category></item><item><title><![CDATA[Text View AND Edit Text]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115186</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115186</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 20:58:02 +0800</pubDate><description><![CDATA[TextView使用
常见单位介绍：

dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关，一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个，不依赖像素。
px: pixels(像素). 不同设备显示效果相同，一般我们HVGA代表320x480像素，这个用的比较多。
pt: point，是一个标准的长度单位，1pt＝1/72英寸，用于印刷业，非常简单易用
sp: scaled pixels(放大像素). 主要用于字.]]></description><category></category></item><item><title><![CDATA[项目工程目录结构]]></title><link>https://blog.youkuaiyun.com/small_bat/article/details/107115102</link><guid>https://blog.youkuaiyun.com/small_bat/article/details/107115102</guid><author>small_bat</author><pubDate>Fri, 03 Jul 2020 20:52:39 +0800</pubDate><description><![CDATA[项目工程目录结构

如出现以下界面解决方法如下






]]></description><category></category></item></channel></rss>