- 博客(215)
- 资源 (11)
- 收藏
- 关注
原创 输入流转换成字符串
获取到输入流之后,我们如何转换成字符串呢?可以用下面的方法:public static String convertStream2String(InputStream input){ ByteArrayOutputStream baos = new ByteArrayOutputStream();// 自带缓存的输出流 int len=-1;
2016-08-19 09:56:19 4022
原创 BitMap,inputStream,byte[],Drawable之间的相互转换
在Android开发中,有时候我们会得到一个byte[],但是我们需要的是一个Drawable,或者是一个BitMap,那么我们该如何转换呢?(1) BitMap to inputStream: ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFo
2016-08-19 09:46:50 1335
原创 如何去管理项目中的Activity
说到如何去管理Activity,不妨先说一说什么是Activity?做为一名Android开发人员,如果不理解它,只知道一味的去用,那么想走向一个高级开发工程师可谓说是特别艰难的。 Activity是Android系统中的四大组件之一,是用户看得见摸得着的,可以用来显示View,可以这样说,几乎所有的Activity都是和用户进行交互的,有了Activity的存在,那些所谓Fragmen
2016-08-18 22:31:31 1844 2
原创 JavaScript如何获取节点
对于javascript,大学里有过学习,只可惜选择了做Android之后,所谓的JavaScript,也慢慢忘却了,不过基础还是存在的,毕竟编程语言除了自身的特有性质有所不一,其实大部分还是融汇贯通的,比如,语法啊,什么变量,常量的,运算符等等,都是差不多的。所以啊,掌握一门语言之后,再去进军到其他语言,是非常容易的。前端开发中,比如说,账号,密码,简介什么的输入框,往往我们要得到其中用户输
2016-08-18 17:22:47 867
原创 EditText或者其他控件怎们实现一个蛇形动画,或者左右动画呢?
在开发中,挨千刀的产品总是会提出来各种各样的奇葩需求,比如用户在输入用户名或者密码错误的时候,希望输入框会左右晃动,来提醒用户自己输错了,那么这个该怎么完成呢?Animation shake = AnimationUtils.loadAnimation(ctx, R.anim.shake);etInputNumber.startAnimation(shake);etInputNum
2016-08-17 18:00:22 929
转载 AsyncTask源码分析
虽然AsyncTask这么简单好用,但你知道它是怎样实现的吗?那么接下来,我们就来分析一下AsyncTask的源码,对它的实现原理一探究竟。注意这里我选用的是Android 4.0的源码,如果你查看的是其它版本的源码,可能会有一些出入。从之前DownloadTask的代码就可以看出,在启动某一个任务之前,要先new出它的实例,因此,我们就先来看一看AsyncTask构造函数中的源码,如下所
2016-08-17 17:47:10 228
原创 浅谈AsyncTask
实话实说,做Android做了这么长时间,AsyncTask这个东西还真没怎么用过,不过面试的时候,有的面试就会拿这个来问,感觉很刁的样子,其实我感觉面试官都不一定懂,这一段时间闲来无事,就特意对AsyncTask做了一个浅显的认知,希望能给大家带来一些了解。其实说来说去,AsyncTask本质上也是用用handler更新界面;首先我们要了解一点,Android UI是线程不安全的,如果想要在
2016-08-17 17:34:39 483
原创 浅谈Java中的异常
什么是异常呢?就是程序运行过程中,遇到了问题,这就叫异常。异常的体系 Throwable 其实应该分三种 Error 通常出现重大问题如:服务器宕机数据库崩溃等。不编写针对代码对其处理。Exception 除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译的时候必须要处理的,要么try,要么抛RuntimeException RuntimeExce
2016-08-12 11:08:37 372
原创 jvm是如何处理异常的
jvm发现运算是已经违反了数学运算规则,java将这种常见的问题进行描述,并封装成了对象叫做ArithmeticException当除0运算发生后,jvm将该问题打包成了一个异常对象.并将对象抛给调用者main函数,new ArithmeticException("/by zero");main函数收到这个问题时,有两种处理方式:1,自己将该问题处理,然后继续运行2,自己没有针
2016-08-12 10:59:54 1803
原创 HashSet是如何去重的
1.HashSet原理 ◦我们使用Set集合都是需要去掉重复元素的, 如果在存储的时候逐个equals()比较, 效率较低,哈希算法提高了去重复的效率, 降低了使用equals()方法的次数当HashSet调用add()方法存储对象的时候, 先调用对象的hashCode()方法得到一个哈希值, 然后在集合中查找是否有哈希值相同的对象 ◾如果没有哈希值相同的对象就直接存入集合,如果有哈希值相同的
2016-08-12 10:03:20 2813 1
原创 浅谈进程和线程
什么是进程?通俗点来说,它就是一个应用,一个程序,比如我们的QQ,微信,等都是一个进程,它是我们的操作系统划分而出的一块内存空间,通常两个进程之间的切换,其开销是很大的,一般一个进程都有1——n个线程。什么是线程呢?有一个必须要明确的,那就是线程依赖进程而存在,没有进程,线程也就名存实亡,一个进程里可以有多个线程,这样可以增加效率的运行,就如上面的进程一样,线程也是所谓的把进程分成了很多块,线
2016-08-11 14:11:12 382
原创 Android热更新之AndFix就是个大坑
最近一两年Android插件化热更新此起彼伏,也许Android的开发者也希望有朝一日,来颠覆频繁的去更新版本,而像web前端一样,更改了代码立马生效的效果。确实,如果已经上线的版本,突然有了bug,按照现有模式,开发者不得不去解决bug,然后再经测试无误后,再发布到应用市场,这一系列的操作,不仅浪费时间,而且也会影响用户的使用体验。最近热更新的开源项目有很多,比如Dexposed,AndFi
2016-08-04 17:14:36 9527 8
原创 Android视频播放之vitamio播放视频(一)
视频播放的控件有很多,这里我要说的一个开源的项目Vitamio Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。支持 ARMv6 和 ARMv7 两种 ARM CPU,同时对 VFP, VFPv3,
2016-08-04 16:09:25 766
原创 Android中如何显示和隐藏键盘
Android开发中,如何自己控制键盘的显示和隐藏呢,可以用以下方式实现://隐藏 public void hintInputMethodManager(){ InputMethodManager imm = (InputMethodManager) getSystemService(ActivityLiveInteractive.this.INPUT_METHOD_SE
2016-08-04 15:57:30 776
原创 Activity如何刷新自己
在开发中遇到一个问题,就是当前的Activity如何刷新自己,可以用以下方法实现Intent intent=new Intent(this, MainActivity.class);startActivity(intent); finish();//关闭自己overridePendingTransition(0, 0);
2016-08-04 15:54:12 3985
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人