自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (22)
  • 收藏
  • 关注

原创 Android保存layout布局,View为图片,截图分享图片功能

public class ViewUtils { private static final String TAG = "ViewUtils"; /** * 保存view为图片 * * @param activity Activity * @param view View * @param savePat...

2019-05-21 21:03:19 2901 1

原创 Android悬浮可拖动按钮DragFloatActionButton

Android自定义悬浮按钮,按钮可拖动,拖动结束后,按钮可自动靠边吸附。下面是自定义View的详细代码。DragFloatActionButton继续ImageView,通过重写OnTouchEvent事件,实现View的拖动功能,当View被拖拽后,消耗掉事件,不响应点击事件。反之事件正常传递,响应按钮的OnClick事件。左右吸附功能,DensityUtils.dp2px(getCo...

2019-03-01 14:56:22 2848

原创 launcher3增加壁纸到桌面壁纸列表中

在写本文之前,首先推荐一篇详细介绍Launcher3桌面壁纸的博客,博客链接为:Launcher3--壁纸:http://blog.csdn.net/dingfengnupt88/article/details/51833046本文就不详细叙述launcher3添加修改壁纸的原理了,直接提供一个方法,把您喜欢的图片添加到桌面壁纸列表中。/** * 增加自定义桌面壁纸 ...

2018-01-08 16:18:33 989

原创 Android与H5实现页面交互

一、Android想要与H5页面实现交互,其实就是java与h5的web页面中的JS通讯,从而实现交互效果。博客的主要内容为:androd加载Html页面、android客户端怎样调用H5中的方法、H5如何调用android中的方法。 二、功能实现1、android中通过webview加载显示H5页面,webview既可以加载本地的Html页面,也可以加载一个网址。//设置页面支...

2018-01-05 18:34:01 1927

原创 Android通过命令行签名APK

一、前几天安装一个客户APP时,提示 INSTALL_PARSE_FAILED_NO_CERTIFICATES 错误,无法安装应用。经过查询资料才发现,这个APK文件是没有签名的。如果安装APP时遇到这个问题,可以通过命令去判断APK一否已签名。进入Windows控制台,切换路径到JDK的bin目录下。检验APK文件是否已签名:jarsigner.exe -verify app-relea

2018-01-03 10:39:37 8546 1

转载 Android组件化方案—阿里路由ARouter的使用

Android组件化方案—阿里路由ARouter的使用。

2017-11-29 17:51:12 4928 2

原创 Android隐藏虚拟菜单(虚拟按钮导航栏)

方法一:方法参考自http://blog.csdn.net/tian_di_yi_jian/article/details/62425096,方法如下:/** * 隐藏虚拟按键,并且全屏 */public static void hideBottomUIMenu(Activity activity) { //隐藏虚拟按键,并且全屏 if (Build.VERSION.S...

2017-10-14 11:27:40 1828

原创 Android监听软键盘状态

监听软键盘隐藏或显示,代码如下:/** * 监听软键盘状态 */private void listenerInput() { final LinearLayout ll_main = (LinearLayout) findViewById(R.id.activity_main); ll_main.getViewTreeObserver().addOnGlobalLay...

2017-10-14 11:21:05 746

原创 修改Laucnher3桌面应用名字

前段时间做的一个Laucnher应用,因为可以在IconCache中修改应用图标。现在有需求需要修改应用的名字,但是在IconCache中修改已知都没法实现。跟踪代码发现每次加载桌面时,都会执行BubbleTextView类中的applyFromShortcutInfo方法去设置应用的图标和名字。测试后发现在该方法中根据应用包名去设置应用的名字是可行的。public void apply...

2017-09-19 11:47:52 671

原创 FragmentTabHost、TabHost外接刷卡器,键盘等设备输入内容时,与EditText争抢焦点导致输入异常

当你使用FragmentTabHost或TabHost去设置完成底部导航栏UI设计时,方便了布局的实现,但是在外接键盘,或刷卡器等设备输入内容时,会出现EditText不能获取焦点,FragmentTabHost页面被虚拟键盘顶上去了。查看资料后发现是FragmentTabHost控件抢夺了EditText的焦点。FragmentTabHost继承于TabHost,其外接键盘输入异常问题,其实...

2017-08-10 14:36:21 702

转载 java设计模式之单例模式

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-03 18:36:07 348

原创 Java线程池

先写一个线程池工具类,暴露两个方法,一个是执行任务,另一个是取消执行任务。执行任务时,使用java的线程池类去管理线程。 public class ThreadPoolProxy { private ThreadPoolExecutor pool; private int corePoolSize; private int maxi...

2017-08-03 18:14:00 470

原创 android制作sdk,通过SDK调用另一个应用的方法

            为了让其他人可以调用我们应用的方法。我们可以通过通过JNI实现跨进程通讯。也可以用java的反射调用其他APP中的方法。但是你需要知道其他APP得包名,类名,或获取他的JNI文件。        通过制作SDK(即是一个jar包),在其他项目中,只要导入这个jar包,就可以很快捷的使用sdk中的方法调用目标应用的方法。假如提供给别人,别人也不用知道你应用的结构,原理...

2017-08-01 19:42:37 5141

原创 Android Studio创建无图标应用 Default Activity not fount

在Android Studio开发,如果你想创建一个没有没有应用图标的应用,你会发现,修改category修改为default,项目中没有一个Activity是Laucnher的话,没法运行,直接报Default Activity not fount 的错误。无法运行。<activity android:name=".MainActivity"> <intent-f...

2017-07-29 09:15:39 1031

原创 Android Launcher3修改长按屏幕空白处进入OverviewMode模式,进入OverviewMode模式点击Home无法复原的bug

如果想控制用户长按空白处,不进入OverviewMode模式,只需修改Laucnher类中的onLongClick方法。长按workspace的空白处进入OverviewMode模式,如果不想进入,注释掉enterOverviewMode这行代码 if(v instanceof Workspace){ if (!mWorkspace.isInOverviewMode())...

2017-07-28 18:55:25 2262

原创 Android Launcher3修改应用图标,隐藏应用图标

Launcher运行时,会执行LauncherModel的loadAllApps方法,加载所有应用的详细信息。这时候,如果你想过滤掉你不想显示的应用,你可以修改源码,把应用过滤掉。我这里的示列是Launcher第一次加载时,会把Android的键盘应用添加到主页面。所以我需要把该应用隐藏,不显示在Launcher桌面。这里贴LoadAllApps的部分代码。// Create t...

2017-07-28 18:01:38 2835

原创 Android Launcher3 禁止用户拖动图标创建文件夹,控制拖动图标到另一个图标时的动画效果

 禁止用户拖拽应用图标创建文件夹,需要在Workspace中的onDrop()方法的createUserFolderIfNecessary方法注释掉。这样就不再创建文件夹。 // If the item being dropped is a shortcut and the nearest drop // cell also contains a shortcut, then crea...

2017-07-28 17:37:12 1695 1

原创 Android Laucnher3 拖拽应用图标阴影投放位置

    要想实现拖拽拖到到任何地方,阴影都投放在Workspace中,只需修改Workspace方法中的onDragOver方法,该方法在拖拽中会不断调用。通过下面的代码可以看到,当判断用户拖拽图标到hostseat位置中,我们把图标阴影投放在workspace上。//确定我们是否拖过了侧页 if (workspaceInModalState()) { ...

2017-07-28 16:49:05 588

原创 Android Launcher3安装应用后,控制应用图标显示位置

最近在搞Android的Launcher开发,去掉应用列表后,每次安装应用应用图标都会放在第二页。查看源码后,发现安装应用会走LauncherModel的addAndBindAddedWorkspaceApps方法,添加绑定一个应用图标到workspace中。public void addAndBindAddedWorkspaceApps(final Context context, ...

2017-07-28 16:05:39 3105

原创 Android Launcher3修改行数,列数,布局等;隐藏HostSeat,使用户无法拖拽应用图标到Hotseat

修改Launcher的行列数比较简单,在DeviceProfile类的构造方法中,可以修改行数,列数等。但是更严格的话需要到DynamicGrid方法中,调用DeviceProfile该方法时根据屏幕大小,动态控制行列数。图标大小等也可以在这里更改。如果需要实现隐藏hostseat,就把hostseat的图标设置为0,但是会有一个地方报错,到时候可以做一下错误处理就可以了。当hostseat的...

2017-07-28 15:28:30 4390

原创 Android Launcher3 去掉应用列表后,在系统桌面拖动应用图标卸载应用

隐藏掉应用列表后,发现在Launcher的WorkSpace中不管怎样都市无法卸载应用的,只能删除图标。研究发现在DeleteDropTarget这个类中可以控制拖拽应用图标卸载应用。1、修改代码,使用户每次拖动图标显示卸载选项,而不是显示删除应用图标的选项 @Override public void onDragStart(DragSource source, Object i...

2017-07-28 15:00:24 3367

原创 Android Launcher3去掉全部应用列表

为了隐藏应用程序列表,把所有应用的图标都显示在了桌面上,查看了很多网上的资料,都是说只要把AppsCustomizePagedView.Java下的DISABLE_ALL_APPS值改为true就可以了,但是我发现我那个版本源码找不到这个值去修改的。 换一种角度去思考后,我查询那些地方使用到DISABLE_ALL_APPS这个常量,发现我的源码控制是否添加应用列表的方法是在Launcher...

2017-07-28 13:59:31 3245

原创 java倒计时,定时器

一、Java倒计时,使用timer实现/** * 倒计时 * * @param min 倒计时间(分钟) */public void CountDown(int min) { //开始时间 long start = System.currentTimeMillis(); //结束时间 final long end = start + min * 6...

2017-04-11 11:15:30 11678 1

原创 The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

Eclipse新建类报错:  Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructorThe type java.lang.Object cannot be resolved. It is indirectly reference

2017-04-08 11:03:37 400

原创 Android判断网络连接状态,判断网络连接方式,获取IP地址

一、判断网络连接状态 /** * 检测网络是否连接 * * @return */ public static boolean checkNetworkState(Context context) { boolean flag = false; //得到网络连接信息 ConnectivityMa

2017-04-07 23:15:53 1207

原创 彩色照片转化为黑白照片

/** * 将彩色图转换为纯黑白二色 * * @param bmp 位图 * @return 返回转换好的位图 */ public static Bitmap convertToBlackWhite(Bitmap bmp) { int width = bmp.getWidth(); // 获取位图的宽 int

2017-04-07 23:07:40 743

原创 判断字符串是否为数字

/** * 判断字符串是否为数字 * * 正则表达式判断 * * @param str 字符串 * @return boolean */ public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0

2017-04-04 16:41:28 517

原创 字符串与16进制字符串相互转化

一、ASCII字符串转换为16进制字符串 /** * @param s 字符串 * @return 16进制字符串 * @desc 字符串转换为16进制字符串 */ public static String toHexString(String s) { String str = ""; for (i

2017-04-04 16:18:09 2058

原创 二进制Binary、十进制Decimal、十六进制Hex、字节byte,位bit的转化

一、十进制数字转化为无符号的2进制字符串String Binary = Integer.toBinaryString(88); 二、进制字符串转化为十进制数字Integer Decimal = Integer.valueOf("10001000", 2);三、十六进制字符串转化为十进制数字String hexString = Integer.toHexString(136);四、

2017-04-04 09:12:40 3139

原创 SharedPreferences的工具类,调用setParam就能保存String, Integer, Boolean, Float, Long类型的参数 同样调用getParam就能获取相应的值

一、构造方法传入参数public SharedPreferencesUtils(String FILE_NAME , Context context) { this.FILE_NAME = FILE_NAME; this.context=context;}二、保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法public void setParam(Str

2017-04-03 20:48:25 857

原创 Android创建桌面快捷方式

一、创建快捷方式的代码 /** * 创建快捷方式 * * @param name 快捷方式的名字 * @param resourceId 快捷方式的图标 * @param phone 电话号码 */ public void createShortCut(String name, int resourceId, Str

2016-12-30 09:29:57 504

原创 Android启动远程服务

一、在服务注册时添加服务的Action, 二、启动远程服务,Action必须和前面注册的Action一样 public void click(View v){ //启动远程服务 Intent intent = new Intent(); intent.setAction("com.greetty.remote"); startServi

2016-12-29 14:03:32 1349

原创 Android的AIDL进程间通信

1、把远程服务的方法抽取成一个单独的接口java文件package com.greetty.remoteservice;interface PublicBusiness { void qianXian();}2、把接口java文件的后缀名改成aidl3、在自动生成的PublicBusiness.java文件中,有一个静态抽象类Stub,它已经继承了binder类,实现了publicB

2016-12-29 13:53:03 289

原创 Android官方下拉刷新控件SwipeRefreshLayout+ListView 介绍

一、Activity代码,详细的注释看代码package git.greetty.com.swiperefresh;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import android.app.Activity;import android.graphics.Color

2016-12-23 10:16:00 539

原创 解决RecyclerView复用,导致Item混乱问题,checkbox也类似此做法

一、在onBindViewHolder方法中给要操作的控件setTagholderTwo.item_ll_root.setTag(position);二、在onBindViewHolder方法中,记录该控件的状态// 显示隐藏词义 holderTwo.item_ll_root.setOnClickListener(new View.OnClickListener() ...

2016-12-22 12:43:35 8351

原创 RecyclerView加载两套布局

一、想要实现加载两套不同的布局,只需在getItemViewType方法中返回不同的type,就可以在onCreateViewHolder方 法中根据不同的type加载不同的布局,不同的布局,也同时也要实现不同的ViewHolder。onBindViewHolder方法也就可以根据不同的个布局进行不同的操作/** * 适配器 */ class MyAda

2016-12-22 12:23:28 1343

原创 Java比较计算日期,日期排序

一、比较一个日期和今天相差多少天/** * 计算相差日期 * * @param date 传入年月日 * @return 天数 int */public static int compareToday(String date) { long time = 0; SimpleDateFormat df = new SimpleDateFormat("yyyy-

2016-12-22 11:59:54 908

原创 AsyncTask异步执行耗时操作

AsyncTask的具体用法详情可以看代码注释一、Activity代码package git.greetty.com.async;import android.os.AsyncTask;import android.os.SystemClock;import android.support.v7.app.AppCompatActivity;import android.os.

2016-12-20 16:21:52 1082

原创 xutils和Gson解析Json数据

一、编写实体类,实体类字段名字必须和服务器返回的字段名一致,可以不写完每一个Json字段,根据需要自己编写实体类字段/** * * 字段名字必须和服务器返回的字段名一致, 方便gson解析 * */public class NewsData { public int retcode; public ArrayList<NewsMenuData> d...

2016-12-20 10:02:26 922

原创 两个Activity之间传递List<T>数据

一、List&lt;T&gt;的Bean对象,Bean类实现Serializable接口public class WordReview implements Serializable { }二、Activity跳转传递参数List&lt;WordReview&gt; wordReviews = new ArrayList&lt;&gt;();Intent intent ...

2016-12-19 13:22:26 5547 1

Recorder.zip

Demo中提供前端页面的录音功能,代码适用于web前端录音,H5录音,android混编APP录音,webview页面录音,小程序web-view录音等

2019-09-27

JavaScript数据根据字段值分组排序

JavaScript数据排序,根据数据中的字段,自定义排序方式,实现数据根据不同的字段值分组显示

2019-07-16

xutils-3.3.36Jar包

xutils-3.3.36 Jar包,可直接导入eclipse或android studio中使用。

2019-03-20

jackson相关Jar包

jackson Jar包,可直接导入eclipse或android studio中使用。

2019-03-20

Glide Ja包

Glide Jar包,版本为:3.8.0,可直接导入eclipse或android studio中使用。

2019-03-20

AndroidSerialPort

android串口通讯示列程序,文件中封装了串口通讯的常用方法。通过封装代码简单方便实现串口通讯

2019-02-19

commons-io-commons-codec JAR包

压缩包中包含commons-ioJAR包以及commons-codecJAR包,下载直接添加到项目中即可

2018-10-19

Android静默安装Demo

通过反射实现静默安装,卸载功能。Demo代码在Android6.0系统测试可以正常卸载,安装应用。Demo中除了通过反射方法外,还提供了其他两种方法安装,卸载应用。

2018-10-18

java 界面UI开发资料-Eclipse SWTJFace开发实战精解

Eclipse SWTJFace开发实战精解 Java程序设计之swt教程

2018-09-06

SWT自定义圆形按钮

SWT原生按钮不够美观,本案例实现自定义圆形按钮,代码可直接下载使用。

2018-09-06

Android Launcher3源码

Android系统桌面Launcher3源码,可直接在Android Studio中编译。

2018-08-01

Swing Datepicker时间选择器jar包

此日历控件在www.eltima.com上给的Swing library4.0的jar包里提出出来 并重新封装在DatePicker类中 将必要的函数由私有状态提升为公开状态。

2018-03-19

httpclient-4.5所需所有jar包

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.5

2017-12-25

Apache和PHP压缩包,解压配置可用

Apache和PHP压缩包,直接解压压缩包,简单配置一下就可以使用,很多时候我们安装无法使用,有一部分原因是版本不对,这两个版本亲测可以。

2017-09-15

解决配置PHP环境错误,VC11运行库安装包

apache配置PHP环境后,无法启动apache服务,出错:httpd: Syntax error on line 190 of D:/program/lamp/apache/conf/httpd.conf: Canno t load D:/program/lamp/php-5.5.38/php5

2017-09-15

VC11运行库,配置PHP环境

apache配置PHP环境后,无法启动apache服务,出错:httpd: Syntax error on line 190 of D:/program/lamp/apache/conf/httpd.conf: Canno t load D:/program/lamp/php-5.5.38/php5apache2_4.dll into server: %1 \xb2\xbb\xca \xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3 ,解决方法安装VC11。

2017-09-15

java压缩文件工具类

工具类中提供的方法有:压缩单个文件,压缩多个文件,解压文件到制定路径下。获取压缩文件的文件列表。压缩文件的文件注释。

2017-09-13

打印机打印条形码

打印机打印条形码,把文字转化为条形码进行打印,简单方便。 代码中提供方法,传进文字参数,即可转化为条形码。

2017-09-13

butterknife.jar

butterknife.jar,直接导入jar包使用,免去下载加载的繁琐过程,断网或网络差时导入使用即可。文件简单、快捷、方便。

2017-09-13

rxjava+retrofit2+okhttp相关ja下载

rxjava+retrofit2+okhttp相关jar包,直接导入使用,解决网络不好或断网是,使用Android studio 去compile项目下载jar包的麻烦。

2017-09-13

不同版本类型的Frameworks.jar

集合了不同类型的Frameworks jar包,可以根据不同的需求选择使用,减少浪费查找资源的时间

2017-05-06

Android蓝牙通讯

在Android的基础上实现了蓝牙查找,蓝牙配对,两个设备通过蓝牙通讯

2017-04-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除