<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wujiang_android的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wujiang_android</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wujiang_android]]></copyright><item><title><![CDATA[AI让我不在关注技术]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/169358839</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/169358839</guid><author>wujiang_android</author><pubDate>Wed, 28 Oct 2026 14:52:28 +0800</pubDate><description><![CDATA[很久没有写博客分享技术了，因为现在公司部署了cursor，我们软件工程师都不需要自己写代码了，也不必要关心什么技术了，只要你把需求描述清楚，cursor就能帮你完成代码编写。在老板看来，我们这些软件工程师就不是什么高大上的人才了，随时都可以叼你！哎，AI出来到底对于我们软件工程师是利是弊呢？]]></description><category></category></item><item><title><![CDATA[清除应用数据并重启工具类]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/117658098</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/117658098</guid><author>wujiang_android</author><pubDate>Mon, 07 Jun 2021 13:17:46 +0800</pubDate><description><![CDATA[public class Utils {
	public static void clearAppUserData(final Context context) {
		cleanExternalCache(context);
		cleanInternalCache(context);
		cleanDatabases(context);
		cleanFiles(context);
		cleanSharedPreference(context);
	}

	/**
	 * * 清除外部cache下的.]]></description><category></category></item><item><title><![CDATA[SharedPreferences里的变量莫名被删除的问题]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/113663463</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/113663463</guid><author>wujiang_android</author><pubDate>Thu, 04 Feb 2021 20:05:29 +0800</pubDate><description><![CDATA[Android开发中，不知道有没有人碰到这样的问题：SharedPreferences里存的变量有些被莫名的删除了，明明没有做删除动作，而且还不是全部被删除。很神奇的是你往SharedPreferences再写数据，之前被删掉的变量又恢复了！

   原因就是：在多线程里操作了同一个SharedPreferences。

   解决方法：当然是避免在多线程里读写同一个SharedPreferences，做到一个线程对应一个SharedPreferences。
...]]></description><category></category></item><item><title><![CDATA[判断网络是否真的连通的方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/112788240</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/112788240</guid><author>wujiang_android</author><pubDate>Mon, 18 Jan 2021 17:16:26 +0800</pubDate><description><![CDATA[android里怎么判断设备连上网了呢？

  有些人的方法可能是：


public static boolean checkEthernet() {
        ConnectivityManager conn = (ConnectivityManager) MeshSdkApplication.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netwo...]]></description><category></category></item><item><title><![CDATA[Android里超级好用的AsyncTask模版]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/110642892</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/110642892</guid><author>wujiang_android</author><pubDate>Fri, 04 Dec 2020 16:34:02 +0800</pubDate><description><![CDATA[Android里超级好用的AsyncTask模版

Android里的AsyncTask是一个很好用的异步加载数据的工具类，我们是可以定义一个抽象类，其继承于AsyncTask，可接收不同类型的参数。定义如下：


import android.annotation.WorkerThread;
im...]]></description><category></category></item><item><title><![CDATA[Android高效的EPG界面实现方式]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/108665714</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/108665714</guid><author>wujiang_android</author><pubDate>Fri, 18 Sep 2020 17:27:53 +0800</pubDate><description><![CDATA[Android高效的EPG界面实现

   你现在没有在为怎么去实现EPG界面而烦恼呢？看了我这篇博客后，肯定会对你有很大的帮助的。我的实现方式最大的特点就是UI响应速度很快（上下左右切换时，UI能很快的刷新数据）。

   首先看下效果图：

   
...]]></description><category></category></item><item><title><![CDATA[Android JNI之动态创建native]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/106429937</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/106429937</guid><author>wujiang_android</author><pubDate>Fri, 29 May 2020 18:44:35 +0800</pubDate><description><![CDATA[Android里动态创建native

1、环境配置

   1）确定android studio里安装了ndk，可以按照下面的图查看。





2）系统环境变量配置，根据自己电脑路径配置

             

                   

2、动态创建native

  1）新建一个android studio工程，...]]></description><category></category></item><item><title><![CDATA[Android TV TIF源码阅读笔记]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/105134524</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/105134524</guid><author>wujiang_android</author><pubDate>Mon, 11 May 2020 15:37:00 +0800</pubDate><description><![CDATA[Android TV TIF源码阅读笔记

1、SystemService.java


if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LIVE_TV)
                    || mPackageManager.hasSystemFeature...]]></description><category></category></item><item><title><![CDATA[图片自动更新成U盘里指定的图片]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/106001014</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/106001014</guid><author>wujiang_android</author><pubDate>Fri, 08 May 2020 18:02:31 +0800</pubDate><description><![CDATA[图片自动更新成U盘里指定的图片

背景：

   UI上经常会有一些默认的图片，比如广告图片、加载网络图片时预显示的图片等。对于演示的软件，我们希望这些图片在不修改软件的情况下是可以变化的。如果不这样做，那就必须用新的图片重新编译软件，不灵活。

实现方法：

    1、显示图片时，先从data/data/..../files目录下查找指定的图片，有就显示它，没有就使用默认的图片。

   ...]]></description><category></category></item><item><title><![CDATA[文件读写等操作]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/104440662</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/104440662</guid><author>wujiang_android</author><pubDate>Sat, 22 Feb 2020 12:42:06 +0800</pubDate><description><![CDATA[文件相关操作

1、读文件，一行一行的读


public static void readFile(File file) {
        InputStream instream = null;
        try {
            instream = new FileInputStr...]]></description><category></category></item><item><title><![CDATA[Rxjava2.0 最经典的系列学习：通俗、易懂。]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/102615131</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/102615131</guid><author>wujiang_android</author><pubDate>Thu, 17 Oct 2019 21:05:39 +0800</pubDate><description><![CDATA[Rxjava最经典的学习博客



                   如果你想学习Rxjava的知识，强烈建议到如下的博客进行系统的学习，超级经典。

                        ...]]></description><category></category></item><item><title><![CDATA[Android里设置Dialog位置]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/101031471</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/101031471</guid><author>wujiang_android</author><pubDate>Thu, 19 Sep 2019 18:41:14 +0800</pubDate><description><![CDATA[设置Dialog位置

   Dialog弹出的位置默认为屏幕的中间位置，那怎么改变它的弹出问题呢？

   上代码先。


         ------------------------------------------dialog的定义-------------------...]]></description><category></category></item><item><title><![CDATA[自定义RatingBar的显示风格]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/100689964</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/100689964</guid><author>wujiang_android</author><pubDate>Tue, 10 Sep 2019 10:24:57 +0800</pubDate><description><![CDATA[自定义RatingBar的显示风格

   Android里有一种控件叫RatingBar，描述某种事物的好评等级的，即星级等级，用5个星星来表示。Android自带的RatingBar风格基本上已经满足我们的需求了。但是有的时候为了满足客户的要求，需要自定义风格，无非就是改变星星的显示风格。下面就介绍如...]]></description><category></category></item><item><title><![CDATA[HorizontalScrollView的使用]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/100299226</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/100299226</guid><author>wujiang_android</author><pubDate>Mon, 02 Sep 2019 16:38:25 +0800</pubDate><description><![CDATA[HorizontalScrollView的使用

应用场景：

   有一些数据要用纵向的列表显示出来，但是由于空间的限制，每一行并不能完全显示出来，那这个时候就希望按左右键可以滑动列表行的数据，这时HorizontalScrollView就派上用场了。

使用方法：

1）XML里的定义


    &l...]]></description><category></category></item><item><title><![CDATA[Android里把Dialog设置为全屏的方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/93605444</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/93605444</guid><author>wujiang_android</author><pubDate>Tue, 25 Jun 2019 12:04:04 +0800</pubDate><description><![CDATA[Android里把Dialog设置为全屏的方法

有的时候我们需要把Dialog设置为全屏，于是我们想到了如下的办法：


//设置成全屏
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH...]]></description><category></category></item><item><title><![CDATA[RecyclerView焦点循环切换的方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/92802893</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/92802893</guid><author>wujiang_android</author><pubDate>Wed, 19 Jun 2019 09:27:15 +0800</pubDate><description><![CDATA[RecyclerView焦点循环切换的方法

   RecyclerView我们使用的很多了，做TV开发的时候，当焦点在第一项时按上键希望能跳到最后一项，焦点在最后一项时按下键跳到第一项，recyclerView没有这个功能的，现在就介绍如何实现这个功能。

   1，在recyclerView的adapter的on...]]></description><category></category></item><item><title><![CDATA[Android里获取正在前端运行的Activity的包名最好的方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/90722849</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/90722849</guid><author>wujiang_android</author><pubDate>Fri, 31 May 2019 21:04:35 +0800</pubDate><description><![CDATA[Android里获取正在前端运行的Activity的包名最好的方法

使用前提：

此方法只在 android5.0 以上有效。
	AndroidManifest 中加入下面的权限，这个权限需要应用是系统级别的。

&lt;uses-permission android:name="android.per...]]></description><category></category></item><item><title><![CDATA[Android里把View切换圆角的方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/90710120</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/90710120</guid><author>wujiang_android</author><pubDate>Fri, 31 May 2019 09:05:47 +0800</pubDate><description><![CDATA[把View切换圆角的方法


public class CornerUtil {
    public static void clipViewCircle(View view) {
        view.setClipToOutline(true);
        view.setOutlineProvider(...]]></description><category></category></item><item><title><![CDATA[android机顶盒 EPG View实现方法]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/90664419</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/90664419</guid><author>wujiang_android</author><pubDate>Fri, 31 May 2019 08:56:45 +0800</pubDate><description><![CDATA[最近需要改进PEG View的响应速度，因为我们目前的框架是采用动态创建TextView的方法，导致上下左右切换时响应没有那么快，老板很不高兴，作为员工那必须得改进啊。经过一段时间的查找，终于有了如下的EPG View，速度极快。

 1、自定义EPG View，代码如下：


package com.amlogic.dvb_custom_view;

import androi...]]></description><category></category></item><item><title><![CDATA[RecyclerView的item的selected、click以及按键响应操作的简单demo]]></title><link>https://blog.youkuaiyun.com/wujiang_android/article/details/90644892</link><guid>https://blog.youkuaiyun.com/wujiang_android/article/details/90644892</guid><author>wujiang_android</author><pubDate>Tue, 28 May 2019 18:55:24 +0800</pubDate><description><![CDATA[RecyclerView的item的selected、click以及按键响应操作的简单demo

1、在布局文件中定义RecyclerView。


&lt;android.support.v17.leanback.widget.HorizontalGridView
    android:id="@+id/horizontal_gridView_chan...]]></description><category></category></item></channel></rss>