自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 不通过android sdk manager下载sdk的方式

使用android sdk manager更新或下载经常因为被墙或者其他原因,下载不成功,这里就提供一些自助下载sdk、build-tools的方法,下载好的包放到本地sdk目录下即可使用基础路径是固定的,与sdk manager中配置的一样,在后面加工具版本包名即可dl-ssl.google.com/android/repository/(1)Android SDK (Android SDK主安装包,包含SDK Manager、AVD Manager、工具包tools,释放后的根文件夹为androi

2020-06-19 16:23:37 447

原创 try-with-resource对资源的自动回收

JDK7之前的资源回收方式/** * jdk7以前关闭流的方式 * * @author hetiantian * */public class CloseResourceBefore7 { private static final String FileName = "file.txt"; public static void main(String[] args) ...

2019-11-05 13:58:00 495

原创 exe4j工具转化exe文件无法正常运行问题解决

在使用exe4j转化可运行jar时,遇到依赖lib包无法找到的问题java.lang.NoClassDefFoundError: org/dom4j/DocumentException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown ...

2018-05-11 10:51:48 11286 1

原创 MYBATIS+MYSQL 批量操作数据库

Mybatis 批量操作 Sql

2017-10-25 10:38:23 507

原创 JDK1.8与JDK1.7环境的切换

对于不同工作项目我们可能需要用到的JDK环境不相同,而在成功安装了JDK1.7和JDK1.8两个版本的前提下,切换JDK也会遇到一些问题:1、不需重启如何生效JDK 以修改环境变量“JAVA_PATH”为例,修改完成后,进入DOS命令提示符,输入:set JAVA_PATH=C: ,关闭DOS窗口。再次打开DOS窗口,输入:echo %JAVA_PATH% ,可以发现“我的电脑”->“属性

2017-09-04 09:13:06 4533 1

原创 在angular中集成wangEditor

页面上先引入wangEditor包<link href="<c:url value='/css/wangEditor.min.css'/>" rel="stylesheet" media="screen"/><script src="<c:url value='/js/wangEditor.min.js'/>"></script>设置editor id,以及绑定变量<div style="heig

2017-06-20 14:28:09 3397

转载 2个List的差分算法

跟两次遍历相比,看到了@ 大胖和二胖 的巧妙算法,借鉴如下:问题描述:2个list,list1 = {“aaa”, “bbb”, “ccc”}; list2 = {“aaa”, “bbb”, “ddd”}; 需要找到2个list不一样的地方;具体地说,我需要知道list1当中的”ccc”是list2当中没有的,list2当中的”ddd”是list1当中没有的。解决思路:最傻的办法就是2次循环,极度不

2017-02-17 15:56:44 1803

原创 android中读文件流的关闭

问题描述: 在开发imonitor工具时,遇到一个很严重的问题,在某些机型上运行实时监控时,会在打开监控后几秒钟就FC了,log显示异常为:11-22 10:48:56.467 W/System.err( 557): java.io.IOException: Error running exec(). Command: [sh, -c, cat /sys/class/power_supply/b

2016-11-23 10:55:05 4238

原创 Android7.0代码编译环境(多JDK安装&jack常见报错)

AndroidN升级之后,对Ubuntu的环境要求至少是Ubuntu14.04,为此要重新装系统(狗血。。),对JDK的要求也升级到openjdk-8,但还是需要保留原有的openjdk-7,Android6.0的JDK版本要求还是7。先说多JDK的版本安装,一台机器上同时安装了多个JDK版本需要做如下配置,以便方便切换: 1、我本机的JDK的安装路径:/usr/lib/jvm/, ls可以看到

2016-11-04 15:20:53 9306

转载 [Android]通过adb shell input上报命令模拟屏幕点击事件

常用的 input上报命令: input text 1234 实际向界面注入1234文字,有输入框,能明显看到效果 input keyevent 4 键盘事件,4 为返回 input tap 100 300 单击触屏事件 ,模拟点击x=100 y = 300 位置 input swipe 100 300 500 300 触屏滑动事件,模拟滑动,从x =100 y = 300 滑动到x=50

2016-10-20 13:19:04 14908

转载 Process.getInputStream()阻塞问题

Java中 Runtime.getInstance().exec (String cmd) 或者 new ProcessBuilder(String cmd).start() 都可以产生子进程对象Process。通过调用Process对象的waitFor()方法可以使主进程进入等待状态,直至子进程执行完毕,再进行下一步工作。如果对子进程处理不当,有可能造成主进程阻塞,整个程序死掉。java

2016-04-08 09:10:06 16838 2

原创 Broadcast Receiver的静态注册&动态注册

Broadcast Receiver有两种注册方式,一是静态注册,一是动态注册;二者在实现方法上不尽相同,使用场景也随之不同;静态注册的Broadcat会从application启动开始就一直常驻监听,直到application消亡;动态注册较之前者会比较灵活,可动态地在需要监听的地方加注册,但要注意在不需要时调用unregister,取消注册。静态注册实现方法: 直接在AndroidManife

2016-02-26 17:41:00 3531

原创 Android主线程中延时处理

Android对UI主线程开启了实时监听,Activity Manager和WindowManager系统服务一旦监听到主线程超过10秒没有响应操作,就会抛出ANR,所以,在UI主线程中不能直接调用Thread.sleep方法去延时,超过10秒就根本不会执行后面的操作,当有必要在主线程中增加延时处理时,可以通过开启子线程的方法:new Thread(new Runnable(){

2016-02-26 09:59:19 14977

原创 可以解决RadioGroup中两个RadioButton选中以及RadioButton回行布局的RadioGroup

在application开发过程中,使用到RadioGroup把多个RadioButton组合时,常遇到的问题就是多个RadioButton想要回行布局,加了LinearLayout后,却造成有两个RadioButton同时选中的现象;或是在动态创建RadioButton时,设置了初始选中的RadioButton后,再选择其他RadioButton也会出现两个RadioButton同时选中的现象,让

2016-01-05 14:43:06 3087

原创 通过eclipse对apk加密混淆的方法

为了防止其他人盗用自己的源码,在发布apk之前我们可以对源码进行加密,防止反编译。1、对工程添加proguard.cfg文件,自定义要混淆的文件类型。-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimizations !cod

2015-12-31 14:59:05 2452

原创 冒泡排序算法的java实现

冒泡排序 (Bubble sort)1、基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。2、图例 3、java实现Long[] listLong = new Long[5]{1234,3432,3434,3445,2123};long t

2015-09-11 19:39:10 524

转载 Android 如何全局获取Context

有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息。在这里,以获取全局Context为例。1、编写自己的Application类import an

2015-09-08 10:27:57 519

原创 JToggleButton的重构状态以及ButtonGroup的使用

JToggleButton与JButton的不同之处在于,JToggleButton包括一个按下状态,可以在按下弹起之间切换,通常用作开关按钮。1、重构JToggleButton式样时的几种状态: 自定义JToggleButton式样时,可以想到的状态无非就是正常状态、按下状态以及鼠标悬停状态,那么在重构JToggleButton时,处理鼠标事件监听addMouseListener(new Mou

2015-08-14 10:17:11 1785

原创 解决ScrollView嵌套ListView显示不全问题

在页面布局中,我们有可能会碰到在ScrollView中显示一个LIstView的情况,但这两个控件都是带滚动条的,这样就会导致ListView只显示一条记录,而且不能获取滚动焦点。要解决这个问题,我们可以自定义一个ListView,使其自适应ScrollView显示:public class MyList extends ListView { public MyList(Context c

2015-07-17 16:48:31 849

原创 在android apk中使用internal包

在android应用开发过程中,除了hide,internal包下的内容也是我们在外部不可用的,这是由于ADT的检查机制限制住了,想要使用internal包下的内容有两种方法:在外部引用和修改ADT检查名。先说外部引用,我们可以把internal单独打包,放到工程目录lib下,注意不要放到libs下,libs下同样难逃ADT检查,但我要说的是这种方式我没有成功,即使放到了lib下,引用也成功了,仍然

2015-06-18 14:10:17 1664

原创 在android apk中调用@hide方法

在android应用开发过程中我们经常会遇到不能使用,但却可以在源码中查到的方法,这些方法大多有/**@hide*/标记,如果想要调用hide方法或类我们就要重新打包sdk。如果有源码的话,可以去掉源码中的@hide标记,使方法可见,然后重新编译android.jar: $make update-api $make PRODUCT-sdk-sdk (For windows: make PRODU

2015-06-18 13:55:34 3890

转载 jar包Proguard混淆方法

1、导出jar包,拷贝Android项目中“proguard.cfg”文件到你指定的位置,并改名为“proguard.pro”,此步是为proguardgui应用做前期的配置。2、在android开发sdk相应的目录下找到proguardgui启动入口 /sdk/tools/proguard/bin, 启动proguardgui3、加载“1”中的”proguard.pro”配置文件4、配置需要混淆

2015-05-26 10:38:48 1336

原创 给apk加system权限

我们在写android apk时往往会需要apk具有system权限才能做一些操作,比如从手机中读取data目录下的内容,该内容标记着system访问权限,这时我们就需要给apk赋予system权限,常用的在windows环境下的编译方法: 1、在代码中,AndroidManifest.xml文件的manifest项中,添加android:sharedUserId=”android.uid.sys

2015-04-16 13:35:46 2700

原创 常见的install apk失败解决

我们在执行adb install xx.apk时,经常会遇到各种奇奇怪怪的error,经常碰到的有以下几种:1、INSTALL_FAILED_CONTAINER_ERROR 原因:默认安装位置设置成了优先安装到外置存储,只要把它改成自动就行了 解决方法:找到项目下AndroidManifest.xml文件中的manifest标签,里面有个属性是android:installLocation的属性

2015-04-08 17:11:09 9504

原创 数据库模糊查询+连接查询

模糊查询一般模糊语句如下: selcet * from table1 where name LIKE SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 比如 SELECT * FROM [user] WHERE u_

2015-03-27 13:52:59 1751

原创 Java web for Eclipse 环境配置

1、 为Eclipse安装必要插件2、下载tomcat,解压到任意目录 3、配置Eclipse工程tomcat路径:运行工程 run on server:

2015-03-12 11:28:15 377

转载 如何让vim编辑器永久显示行号 .

在Linux环境下的编辑器有vi、vim、gedit等等。进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的。我们有二种办法可以解决: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件。 我们输入命令:vim ~/.vimrc

2015-03-05 14:12:02 572

转载 Ubuntu下安装eclipse

ubuntueclipselinuxjdkvimjava环境: Ubuntu 10.04步骤:1、安装配置JDK,详见http://blog.csdn.net/gavin_dinggengjia/article/details/73638632、下载eclipse从官网http://www.eclipse.org/downloads/下载Eclipse IDE for Java EE Develo

2015-03-04 17:18:15 346

转载 Ubuntu下配置sun jdk1.6

1、下载JDK1.6,你可以到官网去下载,下载时请看清自己的系统版本,记得一定要下载相应的版本。  http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u41-oth-JPR2、将下载的文件放置到/usr/lib/java目录下(

2015-02-26 10:28:47 442

原创 JTree的节点式样美化实现鼠标事件监听

想要实现JTree节点的式样自定义,首先要继承DefaultTreeCellRenderer类,DefaultTreeCellRenderer类是每个节点的父类。public class TreeCell extends DefaultTreeCellRenderer { /** * ID */ private static final long serialVer

2015-02-25 14:09:40 3986 2

原创 JTabbedPane标签美化式样自定义

通过继承BasicTabbedPaneUI类重写JTabbedPane标签式样,实现渐变的标签效果。效果图: 相关代码:public class TabbedPaneUI extends BasicTabbedPaneUI { private Color selectColor; private Color deSelectColor; private int inc

2015-02-25 13:29:48 10092 1

原创 JButton 式样自定义

JButton式样的修改,包括按钮的正常状态、鼠标悬停状态以及按下状态,且不使用背景图片修改,依靠paint()渲染。相关代码:public class MyButton extends JButton { private float alpha = 1f; // 底色的透明度,默认为不透明 private int isMouseEntered = 1;// 鼠标是否进入按钮

2015-02-25 11:41:53 6166

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