- 博客(140)
- 资源 (29)
- 收藏
- 关注
转载 在Android 7.0上PopupWindow.showAsDropDown不起作用的解决方法
创建一个类,继承PopupWindowpublic class Solve7PopupWindow extends PopupWindow { public Solve7PopupWindow(View mMenuView, int matchParent, int matchParent1) { super(mMenuView, matchParent,m
2017-07-13 14:04:34 1370 1
原创 解决三星手机拍照旋转导致崩溃的问题
最近写程序时用到了系统拍照获取照片,在三星的手机上使用时,发现调用相机拍完照片返回时,触发它的activity的生命周期调用了onDestroy()-->onCreate();重新走了onCreate()方法;导致系统崩溃。解决办法:1.再AndroidManifest.xml中配置调用手机拍照的activity的属性,最重要是configChanges属性。android:c
2017-05-18 10:04:23 1734
转载 解决IllegalStateException: Can not perform this action after onSaveInstanceState
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState:E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform this actio
2017-05-18 09:51:27 618
原创 HTML使用DIV+css实现展开全文的功能
手机app展示图文内容太长,导致底部评论等功能需要下拉到最底部才能看到,影响用户使用,所以用webview加载html页面,实现了展开全文的功能。直接上代码。图文展开#myarticle{width:700px;height:300px;overflow-y:hidden;border:1px solid green;margin:20px auto;}p{text
2017-05-17 11:00:06 7845
原创 IOS webview在线预览文件图片等
亲测可以打开word文档(doc docx,ppt pptx,pdf等)图片等。在h头文件中引用和声明文件地址:#import @property (nonatomic, retain)NSString *fileURLString;在c文件中声明delegate:UIWebView *openFileWebView;打开文件方法:self.fileURLStr
2017-04-14 17:18:27 4068
原创 android IOS java使用DES统一加密策略
话不多说,直接上代码,亲测有效。android&java代码:import java.security.Key;import javax.crypto.Cipher;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESedeKeySpec;import javax.crypto.spec.IvParam
2017-04-12 17:30:19 720
原创 IOS NDDictionary使用中value遇到no summary如何判断为NULL
直接上代码,判断value是否为null的方法。-(BOOL)isNull:(NSMutableDictionary *)dict key:(NSString*)key{ // judge nil if(![dict objectForKey:key]){ return NO; } id obj = [dict objectForKey
2017-04-12 14:13:53 4086
转载 Android组件化和插件化开发
组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和
2017-03-02 11:33:20 554
转载 Xcode中Command Line Tools安装方法
在从App Store上下载Xcode后,默认是不会安装command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序。为了学习Objective-C,现在也来学习一下如何安装Command Line Tools,具体步骤如下:(1)在Launchpad中输入terminal,打开mac终端,如图:
2017-01-24 16:01:57 13179 2
转载 iPhone 6 / 6 Plus 出现后,如何改进工作流以实现一份设计稿支持多个尺寸
1x,2x就是用于非Retain屏幕和Retain屏幕,3x现在用于iPhone6 Plus,在iPhone实际开发中,只有iPhone4 是非Retain屏幕,市场占有率很低,因此在切图时,只切@2x和@3x图片即可。以iphone 6做UI为例,如果图片大小为200*200px,例如图片命名为test_a@2x.png,那么还应切一张命名为test_a@3x.png的300*300px的图片来
2017-01-24 15:28:58 1009
原创 iOS开发解决bundle ID无法修改的问题
有时候当你的工程已经创建了之后,你的工程bundle identifier的后面部分是灰色的,当你想要更改用来匹配你的测试证书的时候,发现居然不可以更改,灰色的部分根本去不掉,坑爹啊。。。(所以测试证书最好用通配符,哈哈)那么如果你想更改你的工程bundle identifier 怎么办呢?接下来教你怎么做:红色框框的那个就是bundle iden
2017-01-24 14:36:20 6986
转载 实现VMware中的mac与主机windows的硬盘文件共享
上次虚拟完mac之后,肯定又有个问题了,就是实现把windows的东西放到mac系统。当然你可以用U盘来实现,但是我用的时候还需要拔插。或许你不用,不过个人感觉不方便啦。如果实现文件共享的话,那就方便多了。起码我在windows下可以用迅雷下东西。好了,废话完毕,教程如下:1.首先在上一步装完mac的基础下。我们桌面会有这样一个东西2.我们首先设置共
2017-01-18 18:31:46 15911
转载 MacOSX10.11安装VMware Tools
VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,下面介绍的是MacOSX10.11中如何安装VMware Tools的操作步骤。工具/原料VMware Workstation 12方法/步骤VMware Workstation 12菜
2017-01-18 17:19:20 3204
转载 Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11
Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11随着Iphone在国内大行其道,越来越多的开发者涌入iOS开发大军 中,但都苦于没有苹果机,本文即将介绍WIN虚拟MAC的教程。一、工具: Mac OS X 10.11 镜像文件下载 提取密码是dqbi unlocker208文件下载地址 提取密码是b2ac VM可自行百度下载,本
2017-01-18 11:19:34 6509 1
转载 android NDK开发遇到warning:deprecated conversion from string constant to 'char *'解决方案
Linux 环境下当GCC版本比较高时,编译代码可能出现的问题问题是这样产生的,先看这个函数原型:void someFunc(char *someStr);再看这个函数调用:someFunc("I'm a string!");把这两个东西组合起来,用最新的g++编译一下就会得到标题中的警告。为什么呢?原来char *背后的含义是:给我个字符串,我要修改它。而理论上,我们
2016-12-08 15:06:02 789
原创 android NDK开发使用Builder自动编译生成so文件
第一次生成so文件的时候,我们先使用NDK的sample下的hello-jni的例子。1、启动eclipse,通过Create project from existing source,选择hello-jni的目录,按默认选项创建工程即可;2、观察hello-jni的工程目录结构,发现根目录下多了一个名叫jni的文件夹,该文件夹下面有两个文件,Android.mk和hello-j
2016-12-08 15:04:29 1032
转载 Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能
首先推荐一下鸿洋大大的打造个性的图片预览与多点触控视频教程,这套教程教我们一步一步实现了多点触控实现对图片的平移和缩放的功能,这篇文章我将在鸿洋大大的基础之上做了一些扩展功能: 1.图片的惯性滑动 2.图片缩放小于正常比例时,松手会自动回弹成正常比例 3.图片缩放大于最大比例时,松手会自动回弹成最大比例实现图片的缩放,平移,双击缩放等基本功能的代码如下,每一行代码我都做
2016-02-18 15:45:59 1623 1
转载 Android应用中如何避免出现ANR(Application NotResponding)
在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了: 对输入事件(如按键、触摸屏事件)的响应超过5秒 意向接受器(intentReceiver)超过10秒钟仍未执行完毕 Android应用程序完全运行在一个独立的线程中(例如main)。这就意味着,任何在主线程中运行的,需
2015-12-01 18:13:10 1239
转载 java类静态域、块,非静态域、块,构造函数的初始化顺序
1. 对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点: public class InitialOrderTest { // 静态变量 public static String staticFi
2015-12-01 18:01:25 784
转载 android中Service和Thread的区别
1.服务不是单一的进程。服务没有自己的进程,应用程序可以不同,服务运行在相同的进程中。2.服务不是线程。可以在线程中工作。一.在应用中,如果是长时间的在后台运行,而且不需要交互的情况下,使用服务。同样是在后台运行,不需要交互的情况下,如果只是完成某个任务,之后就不需要运行,而且可能是多个任务,需需要长时间运行的情况下使用线程。二.如果任务占用CPU时间多,资源大的情
2015-12-01 15:47:14 783
转载 ANDROID垃圾回收器机制和强引用、软引用、弱引用、虚引用
GC是垃圾收集的意思(GabageCollection)。和JAVA一样,ANDROID系统也是由GC来自动回收内存的。android中一个应用的启动,android系统都会为这个应用分配一个dalivk虚拟机,以便这个应用运行在这个独立的虚拟机上,可是一个虚拟机内存大小一般也是限制的(20M左右)。可见,一个应用的运行所申请的内存不可能无限大的。 通常,GC是在一个单独的比
2015-12-01 15:44:11 2306
转载 Android系统中GC什么情况下会出现内存泄露呢?
导致内存泄漏主要的原因是,先前申请了内存空间而忘记了释放。如果程序中存在对无用对象的引用,那么这些对象就会驻留内存,消耗内存,因为无法让垃圾回收器GC验证这些对象是否不再需要。如果存在对象的引用,这个对象就被定义为"有效的活动",同时不会被释放。要确定对象所占内存将被回收,我们就要务必确认该对象不再会被使用。典型的做法就是把对象数据成员设为null或者从集合中移除该对象。但当局部变量不需要时,不需
2015-11-30 18:46:48 3051
转载 Android中Task任务栈的分配
首先我们来看下Task的定义,Google是这样定义Task的:a task is what the user experiences as an "application." It's a group of related activities, arranged in a stack. A task is a stack of activities, not a class or an e
2015-11-30 18:45:09 2470
转载 对android虚拟机的理解,包括内存管理机制垃圾回收机制。dalvik和art区别
虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,谈谈加载图片的时候怎么处理大图片的,outmemoryExceptionBitmapFactory.option 垃圾回收,没有引用的对象,在某个时刻会被系统gc掉 .Dalvik和标准Java虚拟机(JVM)首要差别Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于编译后变大的程
2015-11-30 18:43:14 4754
转载 单线程模型中Message、Handler、Message Queue、Looper之间的关系
简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理.Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,可以通过Looper.myQueue()得到当前线程的消息队列.Handler:可以发布或者
2015-11-30 18:42:15 1188
转载 Android 图片缓存处理
异步下载 / 本地缓存异步下载大家都知道,在android应用中UI线程5秒没响应的话就会抛出无响应异常,对于远程获取大的资源来说,这种异常还是很容易就会抛出来的,那么怎么避免这种问题的产生。在android中提供两种方法来做这件事情:启动一个新的线程来获取资源,完成后通过Handler机制发送消息,并在UI线程中处理消息,从而达到在异步线程中获取图片,然后通过Hand
2015-11-30 18:36:50 715
原创 关于Android service的一些基础知识集合
1.什么是Service以及描述下它的生命周期。Service有哪些启动方法,有什么区别,怎样停用Service?在Service的生命周期中,被回调的方法比Activity少一些,只有onCreate, onStart, onDestroy,onBind和onUnbind。通常有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。1 通过startSer
2015-11-30 16:58:48 1167
转载 横竖屏切换时候Activity的生命周期的总结--绝对全面
曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期。现在给大家分析一下他切换时具体的生命周期是怎么样的:1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、按crtl+f12切换成横屏时onSaveInstanceState-
2015-11-30 15:36:10 762
转载 Fragment的startActivityForResult详细解决方案
在android中使用Fragment启动另一个Activity并取回数据: startActivityForResult(intent, requestCode); 并重写onActivityResult(requestCode, resultCode, data)方法, 结果发现onActivityResult始终没有调用(使用的是3.2版本),此时用
2015-11-30 15:31:28 3564
原创 如何安全退出已调用多个Activity的Application?
对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。当然,网上也有人说可以。就好像有人问,在
2015-11-30 15:23:35 623
转载 android 触摸(Touch)事件、点击(Click)事件的区别(详细解析)
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这
2015-11-30 15:18:37 1321
转载 JAVA线程安全之阿里经典面试题
题目描述: 这段代码大多数情况下运行正常,但是某些情况下会出问题。什么时候会出现什么问题?如何修正? Java代码 public class MyStack { private List list = new ArrayList(); public synchronized void push(String value) {
2015-11-25 18:24:26 2784
转载 JAVA线程安全之synchronized关键字的正确用法
JAVA线程安全关于synchronized关键字的用法,今天才知道原来我一直错了。以为用了synchronized关键字包住了代码就可以线程同步安全了。测试了下。发现是完全的错了。synchronized必须正确的使用才是真正的线程安全。。。虽然知道这种写法,一直以为却由于懒而用了错误的方法。看来基础还没有打好。仍需复习加强!工作中犯这种错误是不可原谅的,要知道使用synchro
2015-11-25 16:47:57 1143
转载 Android性能优化之常见的内存泄漏
前言对于内存泄漏,我想大家在开发中肯定都遇到过,只不过内存泄漏对我们来说并不是可见的,因为它是在堆中活动,而要想检测程序中是否有内存泄漏的产生,通常我们可以借助LeakCanary、MAT等工具来检测应用程序是否存在内存泄漏,MAT是一款强大的内存分析工具,功能繁多而复杂,而LeakCanary则是由Square开源的一款轻量第三方内存泄漏检测工具,当它检测到程序中有内存泄漏的产生时,它将
2015-11-25 14:26:49 667
转载 关于代码中写注释,你不得不知道的那些事儿
引 程序员圈有一个笑话最讨厌在写代码的时候写注释, 最讨厌别人的代码里面不写注释那为啥要写注释呢? 我就以自己的亲身经历和理解开始阐述吧: 这段时间在微店实习, 最开始干的事情就是将原来北京团队的代码迁移到杭州, 由于更换了技术架构, 因此很多代码都需要重写. 但是重写的首先要理解原先的业务逻辑, 当我在SVN(对, 你没有看错, 就是SVN -_
2015-11-20 10:54:12 5933
原创 PhoneGap开发环境搭建及入门
应用程序开发分为不同的层次,从最复杂的NDK ==》JDK ==》中间件 ==》图形界面。NDK开发的主要是C++开发,JDK 开发主要 java 开发,中间件开发主要:PhoneGap、MonoTouch、Rexsee EMS等等。 NDK是比较底层的东西,主要开发大型的3D游戏之类的;JDK的话比较普遍,大部分搞android开发的人都在用,开发周期比较长,做出来的东西效果
2015-11-18 12:12:40 10101
转载 开发Android应用程序,原生开发VS中间件
发现了个写Android程序的工具叫rexsee,在rexsee官网上看着挺牛的,“忘记Java和eclipse,使用HTML和JavaScript开发Android应用程序”。刚开始觉得这玩意儿吹大了,不过看了看介绍还挺像回事。 官网上使用说明曰,如果要开发个程序,把该程序放在你的网络的代理服务器上,然后把rexsee软件安装在手机上,在rexsee中输入网络上代理的程序所在的首页
2015-11-16 10:47:24 3415
原创 Android使用BitmapRegionDecoder加载超大图片方案
BitmapRegionDecoder主要用于显示图片的某一块矩形区域,如果你需要显示某个图片的指定区域,那么这个类非常合适。对于该类的用法,非常简单,既然是显示图片的某一块区域,那么至少只需要一个方法去设置图片;一个方法传入显示的区域即可;详见:BitmapRegionDecoder提供了一系列的newInstance方法来构造对象,支持传入文件路径,文件描述符,文件的inp
2015-10-23 14:16:22 13089 4
原创 一个比较有意思的算法题,猴子选大王
看到一个比较有意思的算法题,用java实现了一下:一群猴子,编号是1,2,3 …n,这群猴子(n个)按照1至n的顺序围坐一圈。从第1只开始数,每数到第m个,该猴子就要离开此圈,这样依次下来,最后一只出圈的猴子为大王。输入m和n,输出猴子离开圈子的顺序,从中也可以看出最后为大王是几号猴子。代码如下:public static void main(String[] args
2015-10-21 18:00:27 2692
转载 iOS之ipad开发qq空间项目横竖屏幕适配
一:效果图先看效果 二:结构图如图所示: 其中用到了UIView+extension分类 Masonry第三方框架做子控制器的适配 NYHomeViewController对应主页也就是全部 NYDock是左边的菜单栏 放置各个选项卡等按钮功能区域 NYIconView头像 NYTabBar选项卡 NYToolBar最下面的功能区 N
2015-10-19 16:36:25 1111
Android 距离感应控制Audio输出通道
2014-07-18
Android快捷方式Demo
2014-07-17
MQTT推送Demo
2014-02-19
随心写-NoteFree
2011-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人