- 博客(38)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 使用IDEA生成jar包,使用exe4j inno setup 生成可执行文件
这天琢磨了一下微信跳一跳的游戏,发现自己也玩不了很高的分,于是想到了做一个辅助工具,这个是成品:https://github.com/milk1990/JumpJumpHelper,以上这个只是个人娱乐,现在进入正题。Idea 中写好了一个 swing 窗体系统,怎么样可以让别人可以正常使用呢,就是生成exe文件。网上同类的文章有很多,主要讲述我在这个里面遇到的一些坑,帮助你快速脱坑。一:
2018-02-02 14:49:14 1116 1
原创 Execution failed for task ':app:mergeDebugResources'
ReactNative android配置中报错Execution failed for task ':app:mergeDebugResources'.> Error: Cannot create directory E:\project\code\app\DriverApp\android\app\build\intermediates\res\merged\debug\values
2017-08-24 10:22:15 2109 2
原创 ReactNative 开发工具Webstorm 环境配置
一:设置编码语法环境,在WebStorm中打开File–>Setting–>Languages & Frameworks–>JavaScript二:下载两个JavaScript Libraries:打开File–>Setting–>Languages & Frameworks–>JavaScript–>Libraries,点击右边的Download按钮,选择TypeScript
2017-08-16 09:41:51 597
原创 React Native 打离线包注意事项
react-native bundleOptions(可选参数说明):--entry-file :JS根目录文件(Path to the root JS file, either absolute or relative to JS root [required])--platform :选择平台--(ios or android)--transformer :编译器默
2017-08-16 09:36:08 494
原创 Android 设置全局字体大小
网上很多另类做法也可以实现字体大小动态变化,不过都是代码侵入式写法,特别的恶心,这都是不会正确的做法,一、我现在讲的是另外一种实现方式,代码无侵入,实现方式如下:1.在你的BaseActivity 中添加 @Override public Resources getResources() { Resources resources = super.getRes
2017-06-06 17:36:47 3210
原创 移动端 AOP 解决方案
在讲解AOP时,我们先来看一下,为什么要引入AOP,有什么作用,可以干什么。问题:在没有AOP之前,各个模块要打印日志,就是自己处理。反正日志模块的那几个API都已经写好了,你在其他模块的任何地方,任何时候都可以调用。功能是得到了满足,但是好像没有Oriented的感觉了。是的,随意加日志输出功能,使得其他模块的代码和日志模块耦合非常紧密。而且,将来要是日志模块修改了API,则使用它们
2017-03-28 16:53:18 461
原创 android EditText setInputType,setRawInputType 的使用详解
今天 我来分享一下这两个方法的使用:setInputType 简单来说 就是设置EditText的输入法和输入内容限制: /** * Set the type of the content with a constant as defined for {@link EditorInfo#inputType}. This * will take care of chan
2016-10-09 11:38:12 5128 1
转载 java volatile 关键字的含义和作用
转载 http://www.cnblogs.com/dolphin0520/p/3920373.html 写的不错这里我们主要来区别几个关键字:Volatile,const, synchronized1.const 声明常量定义的时候使用,是保证这个值不被修改的修饰符。2.synchronized 这个关键适用于多进程中,保证线程安全的,确保操作的原子性。3.Volatile 这个
2016-09-27 11:00:36 475
原创 Service Intent must be explicit 原因和解决方法
在android 5.0系统以上,我们知道启动service时需要显示声明 Intent intent = new Intent(this, CoreService.class); startService(intent); Intent intent = new Intent(this, CoreService.class); st
2016-09-23 14:57:40 737
转载 android service中弹出dialog对话框
我们都知道在Activity中弹出Dialog很正常,因为Dialog是基于Window弹出。但是我们经常会遇到这样的需求,需要在service 中弹出一个Dialog对话框,做法有两种第一种,使用Activity,theme设置成 Dialog 并添加:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 即可实现效果。第二种,仍然使用
2016-09-09 16:27:26 3141
原创 java HashMap 实现原理
HashMap 我们不陌生,他是允许存放NULL 对象的,他的结构其实就是一个数组,不过稍微复杂一点:把这个图画出来,起始就很好理解了,首先我们来看一下他的构造方法: /** * Constructs a new empty {@code HashMap} instance. */ @SuppressWarnings("unchecked")
2016-09-05 18:52:03 327
原创 java List 线程安全
我们常用的ArrayList,LinkedList都不是线程安全的的List,为什么这么说: /** * A counter for changes to the list. */ protected transient int modCount;这是他们的父类 AbstractList 中的属性,含义就是用来标记当前修改次数,用于在遍历数据时保证数据的一致性
2016-09-02 10:18:45 7789
原创 Java LinkedList 实现原理
LinkedList 大家都不陌生,来看看他的实现原理,首先声明,他是一个双链条,即previous,next /** * Constructs a new empty instance of {@code LinkedList}. */ public LinkedList() { voidLink = new Link(null, null,
2016-08-31 16:19:09 1318
原创 java ArrayList 的实现原理
1.ArrayList这是我们经常使用到的类,但是对于他是怎么实现的?我们来看一下: /** * Constructs a new instance of {@code ArrayList} with the specified * initial capacity. * * @param capacity * th
2016-08-31 15:55:15 270
原创 java transient关键字作用,使用场景。
transient的作用及使用方法,官方解释为:Variables may be marked transient to indicate that they are not part of the persistent state of an object.我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者
2016-08-31 15:31:10 8165
翻译 android Handler机制的学习
我们经常这样创建handler,和使用Handler,Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); }};handler.sendEmptyMessage(0);但是有的时候
2016-08-25 14:52:33 257
原创 android 热补丁功能实现初探-资源引用<二>
在研究dexposed时候,怎么使用另外一个apk的资源。我们知道,activity的工作主要是由ContextImpl来完成的, 它在activity中是一个叫做mBase的成员变量。注意到Context中有如下两个抽象方法,看起来是和资源有关的,实际上context就是通过它们来获取资源的,这两个抽象方法的真正实现在ContextImpl中。也即是说,只要我们自己实现这两个方法,就可以解决
2016-08-24 17:19:28 355
原创 android 热补丁功能实现初探<一>
最近一直在搞android 热补丁,有一些心得体会,抱着好记性不如烂笔头,把自己的体会写下来。首先来看一下技术选型,现有可以达到热补丁效果的技术方案有一些,dynamic-load-apk,hotfix,dexposed,H5,dex 包动态加载。1.对于dynamic-load-apk 这是一个非常强大的开源框架:https://github.com/singwhatiwanna/dyn
2016-08-24 17:03:31 416
原创 android LayoutInflater加载的布局大小不受控制
在使用LayoutInflater 加载布局时,经常会碰到这样的情况,明明在布局里设置了布局的大小,为什么就是不起作用,但是同样的布局 在setContentView() 中就可以起作用呢!在查看底层LayoutInflater 中的inflate 方法中终于找到了答案!首先 我们来看 inflate(intresource, ViewGroup root, booleanattach
2016-08-16 17:09:41 3143 1
原创 android EditText 如何使ellipse 起作用
如何实现EditText 的 ellipse 起作用,看过很多的文章,也看过别人的实现。但是都不如意,以下是我的几种实现方式的探索:实现之前请先设置相关参数,例如:setEllipsize(TextUtils.TruncateAt.END);setSingleLine();setLines(1);首先最简单的设置,在xml 中设置editorable = false,enable = fa
2016-06-16 15:14:15 1002
原创 android listview,GridView 和 ScrollView
前段时间 遇到 listview 和scrollview 布局的问题 ,现在提供一个解决方案 if (listAdapter == null || listAdapter.getCount() == 0) { return; } int totalHeight = 0;
2015-04-16 11:16:14 732
原创 android ;检查网络是否可以连接
private boolean isConnected(){ ConnectivityManager mConnectivity = (ConnectivityManager) this.getSystemService(CONNECTIVITY_SERVICE); TelephonyManager mTelephony = (TelephonyMana
2013-09-22 10:42:24 573
原创 android 添加网络权限后还是不能访问网络
在4.2以上的系统再添加访问权限之后,发现仍然不能访问网络。需要添加以下代码:StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build());
2013-09-18 14:27:58 2388 3
转载 android 调用webservice 接口
package com.example.test;import java.io.IOException;import org.ksoap2.SoapEnvelope;import org.ksoap2.SoapFault;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSer
2013-09-17 22:55:46 633
原创 android 中文转成拼音
import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;p
2013-09-09 17:12:14 510
原创 android 给相片添加相应的时间
ExifInterface exif = new ExifInterface(filepath);//filepath 照片路径exif.setAttribute(ExifInterface.TAG_DATETIME, date);
2013-09-09 14:40:08 1072
原创 android 获取当前时间
/** 获取当前时间public static String getCurrentTime(){Time time = new Time("GMT+8");time.setToNow(); //获取系统时间return time.year + "年" + (time.month + 1 ) + "月" + time.monthDay +"日";}/** 获取当前星期*/publ
2013-09-09 14:37:36 1490
原创 android 文件搜索
第一:新建一个classimport java.io.File; import java.io.FilenameFilter;public class MusicFilter implements FilenameFilter{ @Override public boolean accept(File dir, String filename) { // TODO Auto-
2013-09-09 14:34:56 771
原创 android 获取手机的唯一标识符
/* 获取设备唯一标识码 mac */ public static String getDeviceId(Context context) { StringBuilder deviceId = new StringBuilder(); // 渠道标志 deviceId.append("a"); try { //wifi mac地址 WifiMa
2013-09-09 14:34:12 1723
原创 android 下载好了自动安装apk文件
private void install_soft() { private static String str_soft_path = "/sdcard/msoft"; File file = new File(str_soft_path + "/fuck.apk");
2013-09-09 14:32:27 1063
转载 android socket 即时通信
public class TestClient { static DataInputStream dis =null; static DataOutputStream dos= null; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method st
2013-09-09 14:26:27 633
原创 android 解决ViewPager与Gallery事件冲突
public class UserGallery extends Gallery implements OnGestureListener { ViewPager mPager; public ViewPager getmPager() { return mPager; } pu
2013-09-09 14:23:04 1337
原创 android 代码混淆
第一步: 在 proguard-project.txt 文件或者 proguard.cfg 输入相应的规则-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/si
2013-09-09 14:19:31 695
原创 android pull 解析
public class PullParseService { public static List getBooks(InputStream inputStream) throws Exception{ List books = null; Book book = null; XmlPullParser parser
2013-09-09 14:14:53 506
原创 android 调用其他应用的归类
Android Intent调用Java代码://调用浏览器Uriuri=Uri.parse("");Intentit=newIntent(Intent.ACTION_VIEW,uri);startActivity(it);//显示某个坐标在地图上Uriuri=Uri.parse("geo:38.899533,-77.03
2013-09-09 14:10:25 642
原创 android 杀死进程的方法总结
第一种: 只能杀死当天进程 int mid=android.os.Process.myPid();android.os.Process.killProcess(mid);第二种:可以杀死任意ActivityManager om=(ActivityManager)getSystemService(ACTIVITY_SERVICE);
2013-09-09 14:06:44 999
Fragment+ViewPager解决viewPager与Gallery的事件冲突
2013-09-10
如何实现自动提示安装app软件
2013-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人