<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[legend12300的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/legend12300</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; legend12300]]></copyright><item><title><![CDATA[The given artifact contains a string literal with a package reference ‘android.support.v4.-ButterKni]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/124687229</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/124687229</guid><author>legend12300</author><pubDate>Tue, 10 May 2022 14:14:31 +0800</pubDate><description><![CDATA[The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.



引用Butte]]></description><category></category></item><item><title><![CDATA[android o android8.0 startforegroundservice  startforegroundservice() did not then call service.star]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/106413359</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/106413359</guid><author>legend12300</author><pubDate>Thu, 28 May 2020 21:10:35 +0800</pubDate><description><![CDATA[解决context.startforegroundservice() did not then call service.startforeground()

原因：

Android 8.0 系统不允许后台应用创建后台服务，故只能使用Context.startForegroundService()启动服务
	创建服务后，应用必须在5秒内调用该服务的startForeground()显示一条可见通知，声明有服务在挂着，不然系统会停止服务 + ANR 套餐送上。
	Notification 要加 Chan..]]></description><category></category></item><item><title><![CDATA[Android Flutter Could not download kotlin.jar Kotlin-stdlib.jar]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/103029771</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/103029771</guid><author>legend12300</author><pubDate>Tue, 12 Nov 2019 15:33:23 +0800</pubDate><description><![CDATA[原因就是无法下载包

1、“科学”上网，去Google下载

2、配置阿里镜像



需要改动的地方：

1、修改 工程build.gradle , 即 .android/build.gradle


buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/...]]></description><category></category></item><item><title><![CDATA[glide 4.9.0在Android 9.0上加载图片不显示解决方案]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/102942102</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/102942102</guid><author>legend12300</author><pubDate>Wed, 06 Nov 2019 20:13:06 +0800</pubDate><description><![CDATA[Glide 加载图片失败

exception: com.bumptech.glide.load.engine.GlideException: Failed to load resource ,obj: xxxxxxxxxxx.jpg target: Target for: com.hotel.widget.CustomImageView{c9c54e4 V.ED..... ........ 0,...]]></description><category></category></item><item><title><![CDATA[RecyclerView不显示数据]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/84449611</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/84449611</guid><author>legend12300</author><pubDate>Sat, 24 Nov 2018 17:00:53 +0800</pubDate><description><![CDATA[一、在recycleview的id找到后，是否设置布局方式，如水平或垂直；如没设置，可能有数据而导致不显示数据的情况RecyclerView必须指定LayoutManager！希望朋友们可以引以为鉴，哈哈哈

二、在获取数据后设值，然而并没有调用notifysetdatachange()方法刷新数据，否则也会导致不显示

三、 fragment  appcompatactivity recycle...]]></description><category></category></item><item><title><![CDATA[android v7几种报错NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$styleable]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/84431597</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/84431597</guid><author>legend12300</author><pubDate>Sat, 24 Nov 2018 12:52:00 +0800</pubDate><description><![CDATA[使用v7 包注意事项：

 

第一种报错：

AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/appcompat/R$styleable;

11-24 11:01:16.642  2040  2040 E AndroidRuntime: Process: com....]]></description><category></category></item><item><title><![CDATA[利用SharedPreferences 保存实体类Model , ArraryList 已String 形式保存在SharedPreferences 中]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/80240541</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/80240541</guid><author>legend12300</author><pubDate>Tue, 08 May 2018 15:39:09 +0800</pubDate><description><![CDATA[    public boolean saveTheme(ThemeBean bean) {
        final Gson gson = new Gson();
        final String jsonStr = gson.toJson(bean);
        return mSharedPreferences.edit().putString(&quot;theme_key&quot;, j...]]></description><category></category></item><item><title><![CDATA[git push 报错 error: unpack failed: error Missing tree]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79910249</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79910249</guid><author>legend12300</author><pubDate>Thu, 12 Apr 2018 10:50:21 +0800</pubDate><description><![CDATA[git push  时报错:Total 1 (delta 0), reused 0 (delta 0)error: unpack failed: error Missing tree 384ccb27185a68ec9c0d0ce948e7432d638d1522fatal: Unpack error, check server log ! [remote rejected] HEAD -&amp;gt;...]]></description><category></category></item><item><title><![CDATA[AndroidStudio 打不开DDMS]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79447956</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79447956</guid><author>legend12300</author><pubDate>Mon, 05 Mar 2018 16:55:30 +0800</pubDate><description><![CDATA[AndroidStudio 打不开DDMS报错如下图:从log 看应该是jdk 版本和 build tools 不一致导致 安装1.8 jdk  即可解决问题安装1.8参考:ubuntu-14.04安装jdk1.8.0_144与配置环境变量...]]></description><category></category></item><item><title><![CDATA[ubuntu-14.04安装jdk1.8.0_144与配置环境变量]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79447722</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79447722</guid><author>legend12300</author><pubDate>Mon, 05 Mar 2018 16:45:19 +0800</pubDate><description><![CDATA[1.源码包准备:

首先到官网下载jdk，http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、解压源码包

通过终端在/usr/local目录下新建java文件夹，命令行：

sudo mkdir /usr/local/java 

然后将下载到压缩包拷贝到java文件夹中，命...]]></description><category></category></item><item><title><![CDATA[adb install -r  安装应用 报错[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]  和 如何给APK 系统签名]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79445070</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79445070</guid><author>legend12300</author><pubDate>Mon, 05 Mar 2018 14:26:19 +0800</pubDate><description><![CDATA[[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]原因是APK签名问题导致的.如果App 的 AndroidManifest.xml  中增加了 android:sharedUserId=&quot;android.uid.system&quot;  (增加这个属性作为系统应用打入系统,可以修改系统时间等)因为app作为系统应用运行在系统中,但是他的签名和系统签名不一致导...]]></description><category></category></item><item><title><![CDATA[比较两个文件是否相同,获取文件MD5值, HandlerThread 使用]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79271854</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79271854</guid><author>legend12300</author><pubDate>Tue, 06 Feb 2018 16:42:44 +0800</pubDate><description><![CDATA[比较两个文件是否相同,获取文件MD5值
通过adb 或者串口 的 md5 指令获取某个文件的MD5 值

adb shell 

cd storage/sdcard0/   
root@g0003ah:/storage/sdcard0 # md5 tsp.jar
5cbfb75d1db4121b4b9e3a00dde49a18  tsp.jar   // 此值即为这个文件的md5值]]></description><category></category></item><item><title><![CDATA[Ubuntu  linux  Androidstudio 卡死 杀死进程]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79066082</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79066082</guid><author>legend12300</author><pubDate>Mon, 15 Jan 2018 16:47:02 +0800</pubDate><description><![CDATA[打开任务管理器
方法一:
系统搜索-----system monitor    如图,.打开系统监视器


方法二:
打开终端输入:
gnome-system-monitor


打开系统监视器后 



注意:  androidstudio 对应的进程是java   

在监视其中找到Java 进程 右击  --- 杀死进程 (不要点结束进程, 没用!)]]></description><category></category></item><item><title><![CDATA[android sqlite  升级数据库 修改表名, 增加字段,修改字段类型]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79037074</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79037074</guid><author>legend12300</author><pubDate>Thu, 11 Jan 2018 18:29:33 +0800</pubDate><description><![CDATA[升级数据库
注意:修改数据库后,一定要记得增加数据库版本号 +1 . 否则不会走onUpgrade方法.
最残暴的方法:
@Override  
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
    db.execSQL("drop table if exists Book"); 
 ]]></description><category></category></item><item><title><![CDATA[Android将sqlite数据库保存到SD卡以及数据库增删改查操作,模糊查询like or]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79034010</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79034010</guid><author>legend12300</author><pubDate>Thu, 11 Jan 2018 14:59:18 +0800</pubDate><description><![CDATA[        Android通过SQLiteOpenHelper创建数据库时默认是将数据库保存在'/data/data/应用程序名/databases'目录下的，只需要在继承SQLiteOpenHelper类的构造函数中传入数据库名称就可以了，但如果将数据库保存到指定的路径下面，都需要通过重写继承SQLiteOpenHelper类的构造函数中的context.因为：在阅读SQLiteOpenHe...]]></description><category></category></item><item><title><![CDATA[搜索历史记录流式布局展示]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79032105</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79032105</guid><author>legend12300</author><pubDate>Thu, 11 Jan 2018 14:03:09 +0800</pubDate><description><![CDATA[Config

package com.tan.searchhistory.constants;


public class Config {

    //数据库
    public static final int DATABASE_VERSION = 1;//如果数据库升级此处需+1
    public static final String DATABASE_NAME = "se]]></description><category></category></item><item><title><![CDATA[Androidstudio生成aar 和 jar (生产jar包含第三方的jar ,比如tsp.jar包含okhttp.jar) 以及 Module build.gradle引入aar资源]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/79021430</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/79021430</guid><author>legend12300</author><pubDate>Wed, 10 Jan 2018 15:28:51 +0800</pubDate><description><![CDATA[Androidstudio生成aar
代码能编过情况下, AS菜单栏Build---Rebuild Project  (或者make project )  就可以生产AAR
aar目录在  库 /build/outputs/aar/libraryname.aar


Module build.gradle引入aar资源


①.将aar包复制到lib目录下 
②.配置build.]]></description><category></category></item><item><title><![CDATA[onCreate回调中获取view大小为0，ViewTreeObserver，无限回调OnGlobalLayoutListener]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/77839606</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/77839606</guid><author>legend12300</author><pubDate>Mon, 04 Sep 2017 17:25:21 +0800</pubDate><description><![CDATA[在oncreate中获取view大小为0 的解决办法：



        //处理oncreate时, seekbar宽度为0.
        ViewTreeObserver observer = brightnessProgressBar.getViewTreeObserver();
        observer.addOnGlobalLayoutListener(new V]]></description><category></category></item><item><title><![CDATA[TextView设置最多显示指定个字符，超过部分显示...(省略号) 单行显示]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/74784573</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/74784573</guid><author>legend12300</author><pubDate>Sat, 08 Jul 2017 11:17:58 +0800</pubDate><description><![CDATA[TextView设置最多显示指定个字符，超过部分显示...(省略号) 单行显示
Listview item  TextView 显示单行,超出部分用省略号显示
使用   android:ellipsize="end" 




ellipsize则是控制省略号的位置，分别有start（开始）,middle（中间）,end（最后），marquee（跑马灯）。


        ]]></description><category></category></item><item><title><![CDATA[Android 设置字体的三种方法（TypeFace）]]></title><link>https://blog.youkuaiyun.com/legend12300/article/details/69875816</link><guid>https://blog.youkuaiyun.com/legend12300/article/details/69875816</guid><author>legend12300</author><pubDate>Sun, 09 Apr 2017 19:02:34 +0800</pubDate><description><![CDATA[Android系统默认字体支持四种字体，分别为：

noraml （普通字体,系统默认使用的字体）sans（非衬线字体）serif （衬线字体）monospace（等宽字体）

除此之外还可以使用其他字体文件（*.ttf）



一、使用系统自带的字体
1.在xml中修改字体






            <TextView style="@style/Text]]></description><category></category></item></channel></rss>