自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android如何防止apk程序被反编译

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难

2015-02-14 17:12:45 278

转载 反编译apk

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)

2015-02-14 17:07:37 261

转载 Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少

一、软键盘显示的原理    软件盘的本质是什么?软键盘其实是一个Dialog!    InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示。

2015-02-14 15:39:50 560

转载 Android_Bitmap_图片的二次采样并生成缩略图

1.Bitmap概述Android系统支持几种图片(.png (preferred), .jpg (acceptable), .gif (discouraged)), 其中Bitmap位图#ffffffff,包括图片透明度Alpha和RGB,图片质量很好,每一个像素位占4个字节,如果图片很大将会占据很大的内存空间。存储在SDCard的image很小,加载进内存可能就会很大。因此,对bi

2015-02-14 15:33:34 355

转载 Android开发优化之——对界面UI的优化(1)

在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分

2015-02-14 15:25:57 314

转载 Android开发优化之——从代码角度进行优化

1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁。所以,一般情况下,静态变量从所在的类被使用开始就要一直占用着内存空间,直到程序退出。如果不注意,静态变量引用了占用大量内存的资源,造成垃圾回收器无法对内存进行回收,就可能造成内存的浪费。先来看一段代码,这段代码

2015-02-14 15:01:31 250

转载 使用软引用和弱引用讲解

Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(Refe

2015-02-14 14:41:44 437

转载 解决Android加载图片时内存溢出的问题

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的so

2015-02-14 14:11:50 266

转载 浅谈android的selector背景选择器(ListView/GridView)

首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。drawable/list_item_bg.xml

2015-02-14 13:55:23 761

转载 Android中View转换为Bitmap及getDrawingCache=null的解决方法

1.前言  Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片;Coverflow中需要把一页一页的view转换为Bitmap、以便实现复杂的图形效果(阴影、倒影效果等);再比如一些动态的实时View为便于观察和记录数据、需要临时生成静态的Bitmap。2.实现方法  1)下面是笔者经常用的一个转换方法

2015-02-14 11:31:18 277

转载 得到ImageView的图片,压缩成PNG,并得到二进制流数据

byte[] img_data;//设置图片ImageView imgExtendImageView1 = new ImageView(mContext);imgExtendImageView1.setImageResource(R.drawable.test);//设置尺寸imgExtendImageView1.measure(MeasureSpec.makeMeas

2015-02-14 11:25:59 302

转载 屏幕适配经验总结

一、细说layout_weight于是就有了现在最为流行的0px设值法。看似让人难以理解的layout_height=0px的写法,结合layout_weight,却可以使控件成正比例显示,轻松解决了当前Android开发最为头疼的碎片化问题之一。先看下面的styles(style_layout.xml)xml version="1.0" encoding="utf

2015-02-13 17:41:40 301

转载 在一个应用程序中启动另外一个已经安装的应用程序或系统程序

注意   其实这个地方就是我们的Activity之间的跳转。我们可以通过ComponentName以及Intent的setComponent来实现:在一个应用程序里面启动另外一个已经安装的应用程序或系统程序。下面是一个在一个应用程序里面启动另外一个已经安装的程序,如下:      //组件名称,第一个参数是应用程序的包名,后一个是这个应用程序的主Activi

2015-02-13 16:48:13 700

转载 android 中退出程序的两种方式

finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里

2015-02-13 16:12:15 311

转载 android Camera 如何判断当前使用的摄像头是前置还是后置

并且有一些功能前后置摄像头上会有所不同。譬如人脸检测,人脸识别,自动对焦,闪光灯等功能,如果前置摄像头的像素太低,不支持该功能的话,就需要在前置摄像头上关掉该 feature.那么是如何判断并切换前后置摄像头的呢?它就是一个 Camera 信息类。它是通过与屏幕的方向是否一致来定义前后置摄像头的。与屏幕方向相反即为 BACK_

2015-02-13 16:03:11 947

转载 SD卡路径问题以及如何获取SDCard 内存

SD卡路径问题以及如何获取SDCard 内存0、获取sd卡路径。1、讲述 Environment 类。2、讲述 StatFs 类。3、完整例子读取 SDCard 内存0、获取sd卡路径 方法一: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); //写死绝对路径,不赞成使用 

2015-02-13 14:59:44 496

转载 EditText其最重要的一个属性是 android:inputType

这个属性不仅可以指定键盘的显示类型,还能控制一些其他的操作,其默认属性是 android:inputType="text",也就是普通的键盘框, android:inputType="textPassword"/>  这个是我们的密码框 android:inputType="textEmailAddress"/>  当设置为textEmailAddr

2015-02-13 14:26:31 410

转载 Linearlayout

①android:layout_weigth:这个属性是用来控制子控件占据的比例的。如果一个父控件在摆放了子控件后,还有剩余空间,那么我们可以通过layout_weigth这个属性可以将剩余的空间按比例分配给子控件。注意:layout_weight 瓜分的是父控件的剩余空间,而不是瓜分整个父控件。小技巧:既然layout_weight瓜分的是父控件的剩余空间,那么我们如果要设置子控

2015-02-13 14:07:58 378

转载 ImageView的ScaleType属性

scaleType,这个属性是用来控制我们的图片怎样缩扩或者移动来匹配我们和ImageView本身设置的大小。①fitCenter:这个值指的是,当我这张图片比ImageView大的时候,就会按照比例对图片进行缩放,并将图片居中显示。如果这张图片比ImageView小,那么就会根据比例对图片进行扩大,然后将其居中显示,注意:如果图片分辨率不是两个相等的值,例如480*320,那么因为缩

2015-02-13 13:56:31 350

转载 内边距 外边距

控件和控件之间的距离我们称之为外边距,控件中的内容与控件之间的距离我们称之为内边距。

2015-02-13 13:52:19 317

转载 android:nextFocus 属性介绍

1.默认情况  系统会按照布局从上到下,从左到右的传递focus2.自定义focus传递  通过以下属性设置:Buttonstyle="@style/clockFaceNum"android:text="12"android:id="@+id/button12" android:layout_alignParentTop="true"

2015-02-11 20:18:18 831

转载 Android View.VISIBLE、INVISIBLE、GONE的区别

android view setVisibility():有三个参数:Parameters:visibility One of VISIBLE, INVISIBLE, or GONE,想对应的三个常量值:0、4、8VISIBLE:0  意思是可见的INVISIBILITY:4 意思是不可见的,但还占着原来的空间GONE:8  意思是不可见的,不占用原来的布局空间

2015-02-11 20:14:16 1491

转载 Android中的RequestFocused使用

RequestFocus用来让某个View获得焦点,RequestFocus只能依附于view内部而不能单独使用。使用RequestFocus需注意以下几点:         (1)只能用在edittext上,不能用在button上。并且不能用在隐藏的控件上。(2)若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个EditText获取焦

2015-02-11 19:44:09 1181

转载 Json数据解析

1:Json是一种轻量级的数据交换方式,  一般情况下  它的数据格式是有两种,  一种就是:依key :  value的形式  存在的无序的                  jsonObject对象,就是简单地将对象装在  花括号里面   从而实现我们的数据格式。键值对的格式存储。  key和value之间使用冒号:来分割。       key是String格式的数据。  但是我们

2015-02-10 10:06:56 619

转载 常见小错误

Migrate Android Code1:就是我们错误地将工程设置为了lib包。这个时候需要将lib删除     或者ctrl12.Caused by: java.lang.IllegalStateException: ScrollView can host only one direct child根据报错信息提示,ScrollView控件下面必须有且只有一个子布局,不要将

2015-02-09 18:05:03 345

转载 线程池的使用讲解

线程池简介1:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。        假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;2、工作线程

2015-02-09 09:37:28 360

转载 创建多线程的方法 以及 几种创建多线程方法的异同点

我们在创建多线程的时候:具体方法如下:1:    需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法这种方法就是我们通过继承的方法  实现我们的多线程的创建   但是集成具有局限性   我们只可以但继承2:实现Runnalbe接口,重载Runnalbe接口中的run()方法。我们实现Runnable接口  来实现我们线程的创建。

2015-02-06 13:59:25 452

转载 TextView的省略号不显示 小bug解决

1:一般情况下  如果是汉字   这个时候  我们直接设置为在xml中:android:ellipsize="end"     省略号在结尾android:ellipsize="start"   省略号在开头android:ellipsize="middle"   省略号在中间android:ellipsize="marquee"  跑马灯如此可实现。2:如

2015-02-02 11:14:24 458

dex2jar最新版

dex2jar最新版,将apk解压后拿到.dex文件 放到dex2jar跟目录后打开cmd,定位到dex2jar目录后在此时的命令窗口中输入:d2j-dex2jar classes.dex 然后回车(注意:d2j-dex2jar和classes.dex之间在输入的时候有空格),执行完成后,会多出一个classes-dex2jar.jar文件,这个文件就是我们需要的

2018-07-29

java编程思想第四版

详细讲述了java编程思想,提高java编程思想很有帮助。

2015-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除