- 博客(32)
- 收藏
- 关注
原创 不通过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
540
原创 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
617
原创 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
11883
1
原创 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
4600
原创 在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
3585
转载 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
1857
原创 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
4309
原创 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
9395
转载 [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
15145
转载 Process.getInputStream()阻塞问题
Java中 Runtime.getInstance().exec (String cmd) 或者 new ProcessBuilder(String cmd).start() 都可以产生子进程对象Process。通过调用Process对象的waitFor()方法可以使主进程进入等待状态,直至子进程执行完毕,再进行下一步工作。如果对子进程处理不当,有可能造成主进程阻塞,整个程序死掉。java
2016-04-08 09:10:06
17439
2
原创 Broadcast Receiver的静态注册&动态注册
Broadcast Receiver有两种注册方式,一是静态注册,一是动态注册;二者在实现方法上不尽相同,使用场景也随之不同;静态注册的Broadcat会从application启动开始就一直常驻监听,直到application消亡;动态注册较之前者会比较灵活,可动态地在需要监听的地方加注册,但要注意在不需要时调用unregister,取消注册。静态注册实现方法: 直接在AndroidManife
2016-02-26 17:41:00
3633
原创 Android主线程中延时处理
Android对UI主线程开启了实时监听,Activity Manager和WindowManager系统服务一旦监听到主线程超过10秒没有响应操作,就会抛出ANR,所以,在UI主线程中不能直接调用Thread.sleep方法去延时,超过10秒就根本不会执行后面的操作,当有必要在主线程中增加延时处理时,可以通过开启子线程的方法:new Thread(new Runnable(){
2016-02-26 09:59:19
15130
原创 可以解决RadioGroup中两个RadioButton选中以及RadioButton回行布局的RadioGroup
在application开发过程中,使用到RadioGroup把多个RadioButton组合时,常遇到的问题就是多个RadioButton想要回行布局,加了LinearLayout后,却造成有两个RadioButton同时选中的现象;或是在动态创建RadioButton时,设置了初始选中的RadioButton后,再选择其他RadioButton也会出现两个RadioButton同时选中的现象,让
2016-01-05 14:43:06
3191
原创 通过eclipse对apk加密混淆的方法
为了防止其他人盗用自己的源码,在发布apk之前我们可以对源码进行加密,防止反编译。1、对工程添加proguard.cfg文件,自定义要混淆的文件类型。-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimizations !cod
2015-12-31 14:59:05
2531
原创 冒泡排序算法的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
567
转载 Android 如何全局获取Context
有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息。在这里,以获取全局Context为例。1、编写自己的Application类import an
2015-09-08 10:27:57
579
原创 JToggleButton的重构状态以及ButtonGroup的使用
JToggleButton与JButton的不同之处在于,JToggleButton包括一个按下状态,可以在按下弹起之间切换,通常用作开关按钮。1、重构JToggleButton式样时的几种状态: 自定义JToggleButton式样时,可以想到的状态无非就是正常状态、按下状态以及鼠标悬停状态,那么在重构JToggleButton时,处理鼠标事件监听addMouseListener(new Mou
2015-08-14 10:17:11
1848
原创 解决ScrollView嵌套ListView显示不全问题
在页面布局中,我们有可能会碰到在ScrollView中显示一个LIstView的情况,但这两个控件都是带滚动条的,这样就会导致ListView只显示一条记录,而且不能获取滚动焦点。要解决这个问题,我们可以自定义一个ListView,使其自适应ScrollView显示:public class MyList extends ListView { public MyList(Context c
2015-07-17 16:48:31
904
原创 在android apk中使用internal包
在android应用开发过程中,除了hide,internal包下的内容也是我们在外部不可用的,这是由于ADT的检查机制限制住了,想要使用internal包下的内容有两种方法:在外部引用和修改ADT检查名。先说外部引用,我们可以把internal单独打包,放到工程目录lib下,注意不要放到libs下,libs下同样难逃ADT检查,但我要说的是这种方式我没有成功,即使放到了lib下,引用也成功了,仍然
2015-06-18 14:10:17
1739
原创 在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
4034
转载 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
1406
原创 给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
2831
原创 常见的install apk失败解决
我们在执行adb install xx.apk时,经常会遇到各种奇奇怪怪的error,经常碰到的有以下几种:1、INSTALL_FAILED_CONTAINER_ERROR 原因:默认安装位置设置成了优先安装到外置存储,只要把它改成自动就行了 解决方法:找到项目下AndroidManifest.xml文件中的manifest标签,里面有个属性是android:installLocation的属性
2015-04-08 17:11:09
9884
原创 数据库模糊查询+连接查询
模糊查询一般模糊语句如下: selcet * from table1 where name LIKE SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 比如 SELECT * FROM [user] WHERE u_
2015-03-27 13:52:59
1814
原创 Java web for Eclipse 环境配置
1、 为Eclipse安装必要插件2、下载tomcat,解压到任意目录 3、配置Eclipse工程tomcat路径:运行工程 run on server:
2015-03-12 11:28:15
423
转载 如何让vim编辑器永久显示行号 .
在Linux环境下的编辑器有vi、vim、gedit等等。进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的。我们有二种办法可以解决: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件。 我们输入命令:vim ~/.vimrc
2015-03-05 14:12:02
623
转载 Ubuntu下安装eclipse
ubuntueclipselinuxjdkvimjava环境: Ubuntu 10.04步骤:1、安装配置JDK,详见http://blog.youkuaiyun.com/gavin_dinggengjia/article/details/73638632、下载eclipse从官网http://www.eclipse.org/downloads/下载Eclipse IDE for Java EE Develo
2015-03-04 17:18:15
382
转载 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
484
原创 JTree的节点式样美化实现鼠标事件监听
想要实现JTree节点的式样自定义,首先要继承DefaultTreeCellRenderer类,DefaultTreeCellRenderer类是每个节点的父类。public class TreeCell extends DefaultTreeCellRenderer { /** * ID */ private static final long serialVer
2015-02-25 14:09:40
4073
原创 JTabbedPane标签美化式样自定义
通过继承BasicTabbedPaneUI类重写JTabbedPane标签式样,实现渐变的标签效果。效果图: 相关代码:public class TabbedPaneUI extends BasicTabbedPaneUI { private Color selectColor; private Color deSelectColor; private int inc
2015-02-25 13:29:48
10314
原创 JButton 式样自定义
JButton式样的修改,包括按钮的正常状态、鼠标悬停状态以及按下状态,且不使用背景图片修改,依靠paint()渲染。相关代码:public class MyButton extends JButton { private float alpha = 1f; // 底色的透明度,默认为不透明 private int isMouseEntered = 1;// 鼠标是否进入按钮
2015-02-25 11:41:53
6316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人