android
封宸落宇
IT码农,技术为java web方向,android应用和IOS应用开发
展开
-
【Android】-- 处理 android 方法总数超过 65536 . the number of method references in a .dex file exceed 64k的两种办法
一:问题描述: 应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了. 二、解决方案: 方案1:使用插件化框架 比如: https://github.com/singwhatiwanna/dynamic-load-apk 方案2:分割Dex 三:分割 Dex 文件实现方法转载 2016-10-15 17:38:44 · 687 阅读 · 0 评论 -
【Android】 图片编辑:创建圆角图片
创建圆角图片的方式大同小异,最简单的就是 9.png 美工做出来的就是,这样的最省事直接设置即可。第二种就是通过裁剪这里的剪裁指的是根据原图我们自己生成一张新的bitmap,这个时候指定图片的目标区域为一个圆角局域。这种做法有一点需要生成一个新的bitmap,所以会消耗至少2倍的图片内存,下面分析一下代码的含义:a.首先创建一个指定高宽的bitmap,作为输出的内容原创 2014-06-17 10:48:38 · 1032 阅读 · 0 评论 -
【Java】java和android网络编程 - 对byte数组压缩和解压缩(zip,gzip,bzip2,jzlib)
无论是java还是android 都需要对网络字节进行加密和压缩。这里转载了一些压缩和解压缩的方法,可用于android的网络编程//导入bzip2.jar和jzlib相关java文件 import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io转载 2015-10-07 15:05:26 · 2695 阅读 · 1 评论 -
【Android】媒体——利用MediaPlayer实现对讲语音播放
这个就很简单了。MediaPlayer 是媒体播放器,只不过它木有界面。MediaPlayer mp=MediaPlayer.create(context,R.id.mediaFile);开始播放:mp.start();create方法有三种重载,可以传入资源id,也可以传入Uri 。停止播放:mp.stop();暂停:m原创 2015-09-18 09:42:21 · 1223 阅读 · 0 评论 -
【Android】媒体——利用MediaRecorder实现录音对讲功能
看到QQ,微信都有对讲功能,多高大上啊,咋们也来弄一个看看效果。。这就是效果啦!然后贴代码:package cn.com.zte.uc.ui;import java.io.IOException;import java.util.Timer;import java.util.TimerTask;import android.app.Dial原创 2014-06-30 16:05:25 · 1514 阅读 · 0 评论 -
【Android】图片操作之 —— Bitmap,byte[],Drawable,InputStream相互转化工具类
1、将byte[]转换成InputStream public InputStream Byte2InputStream(byte[] b) { ByteArrayInputStream bais = new ByteArrayInputStream(b); return bais; } 2、转载 2015-09-17 16:47:28 · 839 阅读 · 0 评论 -
【Android】集成QQ登录
注册腾讯开放平台(open.qq.com),并上传应用通过审核下载SDK: http://wiki.open.qq.com/wiki/mobile/SDK下载 因为只用到QQ登录,所以只要下载基础包就OK了。代码集成: 在AndroidManifest.xml中,加入:原创 2015-10-05 08:51:10 · 1212 阅读 · 0 评论 -
【Android】资源系列(二) -- 文件原样保留的资源assets和res/raw目录
这两个目录都可以存放文件,而在打包的时候被原样保留。那用这两个目录能够做什么事呢?1、放一个apk,要用的时候调出来,免得去下载服务器下载。2、放一个sql,当app数据库很大的时候,这可以省事很多。3、放一段视频、录音等,作为开机启动的介绍,是不是很炫。。。。。 那问什么要弄两个目录呢。。。。其实assets翻译为"资源",raw翻译为"原始的",并且在res目原创 2015-07-19 17:48:10 · 3212 阅读 · 2 评论 -
【Android】资源系列(一) -- 国际化(多语言)
1、Android 中要实现国际化比较简单。 字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了, 如,英语环境下的,文件夹命名为:values-en 美国英文环境:values-en-rUS 中文环境为:values-zh 大陆地区中文环境: values-zh-cn 在 eclips原创 2015-07-18 17:07:54 · 3960 阅读 · 0 评论 -
【Android】 AndroidManifest.xml文件全部属性详细解析
一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Inte转载 2014-06-23 10:34:30 · 1209 阅读 · 0 评论 -
【Android】 使用UncaughtExceptionHandler捕获全局异常
在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器。然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常。首先实现创原创 2014-06-16 10:49:11 · 1356 阅读 · 0 评论 -
【Android】图片异步加载三方框架Universal Image Loader详细配置
这篇文章写得杠杠的,转载过来,备后续查看! 这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。转载 2015-11-04 14:15:26 · 487 阅读 · 0 评论 -
【Android】-- gradle for android 学习和在studio上构建多版本
参考文献:Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )Gradle for Android 第二篇( Build.gradle入门 )Gradle for Android 第三篇( 依赖管理 )Gradle for Android 第四篇( 构建变体 )Gradle for Android 第五篇( 多模块原创 2016-09-01 19:15:42 · 573 阅读 · 0 评论 -
【Android】—— DDMS开发工具获取ROOT权限查看手机文件、导出数据库文件等
在这之前首先手机要打开ROOT权限,可以借助安卓刷机精灵等一键ROOT软件其次像魅族、小米等手机拿到ROOT以后不能执行su命令,所以无法给手机中的文件授权,需要下载一个SuperSU权限管理器有了他们我们就可以开始下面的步骤了:1.window->show view->other2. 输入 file 查找 3. 出来了吧转载 2016-07-26 16:37:55 · 3641 阅读 · 0 评论 -
【Android】Ant打包签名时中文alias怎么办
开始以为是由于编码的问题:转成UTF-8的、GBK的。都没法解决这个问题。。。原来ant只能识别ascii编码的文件,androidzi'dai原创 2016-03-15 17:23:24 · 1489 阅读 · 0 评论 -
【Android】 桌面图标右上角显示数字(角标)
废话不多说先上效果图:SonySamsungLGHTCXiaomiASUSADWAPEXNOVAAndroid(before 4.4)(Deprecated原创 2015-11-26 21:21:07 · 14009 阅读 · 4 评论 -
【Android Studio】studio学习系列(一) 从eclipse导入工程
Android google官方出的IDE android studio 一直都在走bate版本,虽然如此,总觉得它比ADT更加靠谱。所以我也想用studio来开发滴。可项目一直都是eclipse的,所以今天先把eclipse项目导入到studio。1、更新最新的ADT插件 都会的2、 选择Generate Gradle build filesnext 》ne原创 2014-08-05 11:03:57 · 902 阅读 · 0 评论 -
【Android】让引导页每次在更新之后都出现的实现方法
Android APP要发布新版本了,可是这次增加了引导页,可我想在下次更新的时候,引导页就不出来啦。我的实现方式是利用SharedPreferences记录是否首次打开,是的话就打开引导页。可是没有地方记录是否更新了呀:::思考方法一:数据库有更新方法public void onUpgrade(SQLiteDatabase db, int oldVersion, int newV原创 2015-11-20 15:18:23 · 3729 阅读 · 0 评论 -
【Android】仿QQ功能点击通知栏返回应用,非启动一个新Activity
我也要实现一个像QQ一样的功能,点击通知栏上正在后台运行的通知,返回应用的需求: 整得我够惨啊,众说纷纭,可没一个可以实现的:网上整理的:方法一:利用activity的加载方式launchMode来区分,(这里可能需要补充一下activity的4种启动模式了)示例代码如下:在 Mainfest 里设置 Activity flags android:launc原创 2015-11-21 18:05:07 · 2225 阅读 · 1 评论 -
【Android】adb shell 命令探索
ADB是什么,做android开发的没有不知道的。window下运行cmd,输入adb help就会打印adb都能够做的事情,包括 adb push 。。adb pull 。。 adb devices adb install。。。 等等。。并且一搜一大把。 其中有一个命令叫做 adb shell,android是基于linux的,shell模式下linux的命令可是非常多的,a原创 2014-07-08 10:20:37 · 5758 阅读 · 0 评论 -
【Android】检测app是否安装、安装并打开的方法
1、检测app是否安装 检测app是否安装的方法有很多,以下列举几种。基本都是利用packageManager来完成。 a、通过packagemanager获取已经安装的包,然后对比得出是否安装。代码:public boolean isAppInstalled(Context context, String packageName) { fina原创 2015-07-18 21:50:56 · 6106 阅读 · 0 评论 -
【Android】内存优化
写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读。(本文最后我会尽量列出所参考的文章)。OOM:转载 2014-10-15 14:49:38 · 721 阅读 · 0 评论 -
【Android】应用安全——反编译
用java开发最担心的就是得到反编译,所以作为开发者我们需要知道怎么反编译,那样才能知道如何防止反编译、保证代码安全。下面来看下比较常用的方法!第一种方式:利用apktool反编译1,首先在http://code.google.com/p/android-apktool/downloads/list下载两个文件:apktool1.5.2.tar.bz2和apktool-in原创 2014-10-24 14:26:21 · 1202 阅读 · 0 评论 -
Anfroid -- 深入理解Fragment生命周期,Fragment和activity的生命周期对比
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment11-29 14:26:35.095: D/AppListFragmen转载 2013-11-26 09:05:58 · 1260 阅读 · 0 评论 -
Android -- 控件的显示与隐藏 setVisibility View.VISIBLE View.INVISIBLE View.GONE
在android中setVisibility作为显示和隐藏的属性,一般我们呢都是在代码中进行操作,例如: this.mItem.setVisibility(View.VISIBLE);其能够被设置的值有三个,分别是:View.VISIBLE 可见View.INVISIBLE 不可见,但是它原来占用的位子还在View.GONE 不可见,并且不留痕迹,不占位置原创 2014-03-05 16:05:04 · 6414 阅读 · 0 评论 -
Android -- UI界面之threme和style
做java的人一般都做过CSS,我们都知道它也有一个样式,android中的样式也可以进行类比:Android系统的themes.xml和style.xml(位于\base\core\res\res\values\)包含了很多系统定义好的style,建议在里面挑个合适的,然后再继承修改。1、threme android中的主题一般用于窗体级别的,用于改变窗体样式原创 2014-03-03 12:57:38 · 1107 阅读 · 0 评论 -
Android -- 设置textview文字居中或者控件居中
有2种方法可以设置TextView文字居中:一:在xml文件设置:android:gravity="center"二:在程序中设置:txtTitle.setGravity(Gravity.CENTER); 设置控件居中:android:layout_gravity="center"是对textview控件在整个布局中居中,也可以在其父layout中调用设置a原创 2014-03-05 16:25:07 · 14917 阅读 · 0 评论 -
Android -- 获得当前正在运行的activity信息
要获取到当前正在运行的activity需要用到ActivityManager。例如:ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); RunningTaskInfo info = manager.getRunningTasks(1).get(0)原创 2014-03-06 17:57:57 · 1187 阅读 · 0 评论 -
Android - 开源项目侧边栏菜单(SlidingMenu)深入剖析
原创:http://blog.csdn.net/t12x3456/article/details/12798157SlidingMenu简介:SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果。如Evernote、Google+、Foursquare等,国内的豌豆夹,转载 2013-10-31 16:46:07 · 4230 阅读 · 0 评论 -
Android -- setTag的妙用和The key must be an application-specific resource id 异常
tag是view的一个属性,也可以说是view用于存放参数的一个map,对于提高性能和参数传递都有妙用,比如提高listview的性能:用于缓存item的viewpublic View getView(final int position, View convertView, ViewGroup parent) { ItemViewHolder holder; if (c原创 2014-03-05 16:39:29 · 2660 阅读 · 0 评论 -
Android -- 状态栏通知Notification、NotificationManager详解
本想自己写一个的,但是看到这篇之后,我想还是转过来吧,实在是非常的详细:在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationManager 、 Notification。 NotificationManager转载 2014-03-06 16:42:29 · 941 阅读 · 0 评论 -
【Android】 Android开发优化之——对Bitmap的内存优化
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问转载 2014-06-27 15:57:14 · 705 阅读 · 0 评论 -
【Android】 Android开发优化之——对界面UI的优化(2)
在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候转载 2014-06-27 14:48:16 · 717 阅读 · 0 评论 -
【Android】 Android开发优化之——对界面UI的优化(1)
在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分转载 2014-06-27 14:46:59 · 623 阅读 · 0 评论 -
【Android】常见异常 —— android.view.WindowLeaked 分析以及解决办法
问题虽小,不过不知道还是比较麻烦的。异常信息:10-22 10:19:38.651 12723-12723/cn.com.zte.uc E/WindowManager﹕ android.view.WindowLeaked: Activity cn.com.zte.uc.activites.shipTicket.OrderWrite1 has leaked window com.android原创 2014-10-22 10:32:45 · 5829 阅读 · 1 评论 -
【Android】开发优化之——系统性能调优工具:TrackView,Systrace,Oprofile
前面发布了一篇转载 2014-07-25 09:02:29 · 2360 阅读 · 0 评论 -
【Android】开发优化之——调优工具:TrackView,Method Profiling
Android SDK自带的tool TrackView 位于 sdk的tools目录下。用法为:进入到tools下,运行traceview e:\loginActivityTracing.trace即可。那trace文件怎么生成的呢。有两种方式生成1、使用代码生成,想调哪调哪。原创 2014-07-24 10:58:32 · 3512 阅读 · 0 评论 -
【Android】开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露
虽说知道一般性的开发android应用需要注意的问题,可是也有水平参差不齐的情况,特别是维护代码,如果内存占用大,内存溢出严重,又怎么解决呢? -- 通过DDMS把heap抓出来分析原创 2014-07-24 09:15:51 · 3252 阅读 · 0 评论 -
【Android】开发优化之—— 一般总结
不管是java还是android,都应该了解内存分配和垃圾回收机制,工程师要做到写的代码中没有bad code很难,关键是在出现问题的时候该怎么去排查Android内存优化一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器转载 2014-07-23 10:42:23 · 754 阅读 · 0 评论 -
【Android】 Android开发优化之——使用软引用和弱引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的转载 2014-06-27 15:55:48 · 629 阅读 · 0 评论