自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第二十六篇 Android app混淆

引用jar包后,打包需要注意下面2点,1个是混淆的,另一个是多个jar包META-INF下的文件冲突问题。SMSSDK已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对SMSSDK的混淆操作.(二次混淆会产生不可预期的错误)。-ignorewarnings        # 作用是忽略混淆时出现的警告 -dontwarn org.apache....

2018-07-09 09:25:39 420

原创 第二十五篇 Android app瘦身

1.开启混淆。 2.采用三方工具(如tinypng,是有损压缩)来进一步压缩项目中的所有png图片,从而进一步减小apk体积。首先,打开tinypng网站,将项目中的png图片拖拽网页中,自动进行压缩;然后,下载所有经过压缩的图片,替换项目中对应的png图片;总结:该种方式能够极大的减小图片的体积,基本上能减小50%左右,效果非常显著,强烈建议掌握。或者直接使用webp格式的图片。...

2018-07-09 09:15:33 203

原创 第二十四篇 Android内存泄露与检测

一、内存泄露与内存溢出的区别.内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。(泄露原因:无用对象,但可到达)内存溢出:程序向系统申请的内存空间超出了系统能给的。比如内存只能分配一个int类型,我却要塞给他一个long类型,系统就出现oom。又比如一车最多能坐5个人,你却非...

2018-05-03 15:53:06 179

原创 window7常用命令与常见问题

1.常用命令.打开运行窗口,按 windows桌面图标键+R,打开运行窗口,输入如下命令:at 22:00 Shutdown -s (定时关机命令)2.ThinkPad常见问题.1) 调整thinkpad屏幕亮度的方法:按 Fn + HOME/END .2) 调整thinkpad分辨率,按Fn+空格键.

2018-01-13 16:58:19 187

原创 第一篇 linux安装与常见命令

1.去系统之家,下载Centos7 Linux系统.2.linux常见命令.Ctrl+Alt+F1 virtual进入到命令行界面或者到桌面模式(Ctril+Alt+F2)1.ifconfig -a 查看ip地址.2.exit 退出用户3.clear 清屏4.Shift + PageUp 向上翻页(linux命令行过长翻

2018-01-13 16:47:42 216

原创 第一篇 mydql安装与基础知识

1.mysql命令行安装.http://www.jb51.net/article/52090.htm2.mysql常见约束含义.PRI主键约束;UNI唯一约束;MUL可以重复。3.mysql常用命令.1.mysql -u root -p 连接mysql,需要有root用户的密码。连接mysql后:1.show databases; 显示数据库2.use

2018-01-13 16:36:18 556

原创 第二十三篇 Android通过原生Api获取经纬度以及百度定位注意点

Android通过原生Api获取经纬度:原生定位API只能定位到经纬度,但是如果要定位具体的地址,则需要将经纬度信息发送到谷歌服务器,进行反向地理位置解析,因为目前国内无法连接谷歌服务器,所以使用原生定位API就不合适了,而且百度定位的功能多又强,非常适合用来定位以及获取地图等.工具类:public class LocationUtils { private static

2018-01-08 22:46:30 5666 1

原创 第二十二篇 Android开发的一些小技巧以及Android Studio快捷键

1.不需每次用android studio重新编译app,可以直接在模拟器启动app然后开启debug进行调试 不需要每次进行编译.2.apk重新签名: 1.定位到jdk的bin目录,有个jarsigner.exe工具。 2.在当前文件目录下打开cmd,执行下面命令,进行apk的重新签名。 jarsigner -verbose -keystore 证书路径 -s...

2018-01-08 22:14:28 187

原创 第二十一篇 Android listview异步加载本地视频缩略图

最近项目中需要在listview上加载视频缩略图,如果直接使用ThumbnailUtils类获取会出现oom,然后参考了网上这边文章,感觉不错,稍微做了下调整,这里做个记录,方便后续复用.MyVideoThumbLoader类:public class MyVideoThumbLoader {// 创建cacheprivate LruCache lruCache;private

2018-01-07 20:05:13 1117

原创 第二十篇 Android获取本机图片、音频、视频、文档以及本地文件夹列表

android获取本机图片文件夹,即相册,以及相册下的所有图片的方法,贴出工具类,方便后续使用,效果图就类似百度网盘上传图片的 选择相册界面和点击某个相册选择图片的界面.FileManager类:public class FileManager {private static FileManager mInstance;private static Context mContext;

2018-01-02 09:40:54 5757

原创 第十九篇 android使用ImageLoader加载本地图片

最近在项目中,需要在gridview列表或listivew列表上展示图片,但是发现图片多了出现内存溢出的情况,原因可能是使用原生的方式去获取会导致内存溢出,所以决定采用开源的ImageLoader工具类来加载本地图片.使用开源的工具ImageLoader进行异步加载,该项目的Github地址链接:https://github.com/nostra13/Android-Universal-Image-

2018-01-01 22:00:50 2428

原创 java 第八篇 使用comparator实现自定义排序

java 如何对对象进行排序,比如File对象,根据file.lastModified()最后修改时间进行排序,这个时候就需要使用comparator来实现排序,可以对数组对象以及集合对象进行排序. File[] files = directory.listFiles(); //对文件进行排序 Arrays.sort(files, new FileComparator()

2018-01-01 21:27:41 1070

原创 oralce 第一篇 Oracle跨数据库Dblink的使用以及跨用户同义词创建

创建dlink:1.确定用户是否有创建DBLink的权限:select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); 2.创建dlink,使用plsql直接创建即可.①使用DBLink select * from A_TEST@WDW补充:查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需

2017-12-23 16:12:25 2715

原创 第十八篇 适配器的职责

Android便充分利用了适配器来实现view和数据的联系,这里的view指的的ListView等.通俗的讲:适配器负责将item子布局、子布局中组件的点击事件以及数据data填充到view里。(当然如果有必要,也可以将ListView的点击事件以及长按事件交给适配器处理,减少代码的冗余)那么平台定义的adapter以及SuperAdapter和普通自定义的Adapter有什么差别?

2017-12-08 22:13:46 225

原创 java第七篇 Nginx反向代理的使用

一.正向代理和反向代理的区别:两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端.即:正向代理隐藏真实客户端,反向代理隐藏真实服务端.二.Nginx的使用:1.nginx下载: http://nginx.org,下载后解压出来即可。2.nginx启动: 进入nginx根目录,执行以下命令(所有命令都在nginx根目录开启cmd来执行): 开启

2017-12-08 21:40:18 723

原创 java第六篇 tomat部署常见问题

1.jdni配置有误,具体配置可能多了空格或者jndi名称有误,注意tomcat如果部署多个应用,应该每个jdni的名称不一样才行.2.tomcat启动报错: java.net.ConnectException: Connection refused: connect通过定位发现是端口占用问题,通过这篇文章,杀掉占用端口的进程,即可成功。查看端口被哪个程序使用,打开cmd,输入如下命

2017-12-08 21:31:52 187

原创 java第一篇:使用jdbc进行关联查询以及java开发常见问题

最近因为公司框架的限制只能使用jdbc,不能使用hibernate,所以只能使用jdbc进行关联查询,很久没搞java了,忘记了很多, 在这里对不懂的、遗忘的java内容做个纯粹的记录,好了,闲话不多说,方法大概如下: 一对多关联查询: 1.查询主表的所有记录List. 2.遍历List,查询出所有的从表记录xqList,并在内部遍历xqList,讲xqList的记录add到

2017-12-06 23:01:28 855

原创 java第二篇 枚举类的使用

为什么需要枚举? 枚举一般用来定义一些固定的不变的数据,JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决.(以前最先是通过定义类,类里面定义常量来定义固定的不变的数据,后来通过定义对象,定义一系列当前对象并私有化构造器来解决这个问题,但书写比较麻烦,所以提供枚举来解决这一问题)JDK 5新增的 enum 关键字用于定义一个枚举类. 创建枚举格式:

2017-12-06 22:44:54 248

原创 java第三篇 泛型的了解与使用

泛形的作用: 泛型应用在集合上。 泛型应用在一些通用性较高的代码上。 JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。例如: ArrayList list = new ArrayList(); list.add("abc"); Integer num = (Integer)

2017-12-06 22:41:33 187

原创 java第四篇 可变参数

从JDK 5开始, Java 允许为方法定义长度可变的参数 public void foo(int … args){ }注意事项: 调用可变参数的方法时, 编译器将自动创建一个数组保存传递给方法的可变参数,因此,程序员可以在方法体中以数组的形式访问可变参数 可变参数只能处于参数列表的最后, 所以一个方法最多只能有一个长度可变的参数 只能定义在方法中,不能用来定义

2017-12-06 22:32:52 173

原创 java第五篇 java反射的学习

java第五篇 java反射的学习1.java反射是什么? java反射机制:指的是程序运行时能够获取自身的信息。在Java中只要给定类的名字,那么就可以通过反射机制来获取类的所有信息。2.反射有什么用? 增加程序的灵活性,避免将程序写死到代码里. 优点:可以实现动态创建对象和编译,体现出很大的灵活性。3.反射一般用在哪里? 一般用在框架体层比较多,如:初始

2017-12-06 22:27:09 214

原创 第十七篇 ContentProvider之访问其他程序中的数据

内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能.1.通过Context 中的getContentResolver()方法获取到该类的实例。2.调用ContentResolver的CURD方法进行对其他程序数据的增删改查。3.cursor.close();内容URI是什么?内容URI 给内容提供器中的数

2017-12-04 12:46:39 560

原创 第十六篇:Android 性能优化之布局优化

1.使用复用布局资源文件layout.2.使用防止嵌套时候产生多余的嵌套层级。使用merge的前提条件就是merge标签必须是当前xml布局的根标签.3.使用viewStub来延迟加载布局或组件,替代组件的GONE或INVISIABLE.4.尽可能的减少层级、减少控件数量,并达到同样的ui效果(使用Hierarchy View检测布局嵌套层次).在 AS 工具栏中点击 Tool

2017-11-14 08:36:59 287

原创 第十五篇 Android中使用Fiddler实现手机抓包的基本设置以及接口测试

1.      Fiddler是http协议调试工具。2.      Fiddler的好处:可以发现Fiddler可以以各种格式查看网络请求返回的数据,包括Header, TextView(文字), ImageView(图片), HexView(十六进制),WebView(网页形式), Auth(Proxy-Authenticate Header),Caching(Header cache),...

2017-10-26 09:03:04 656

原创 第十四篇:Android Notification通知的使用

通知的关键:NotificationManager、Notification以及PendingIntent。通知(Notification)是Android 系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通知的图标,下拉状态栏后可以看到通知的详细内容。补

2017-10-26 08:52:59 461

原创 第十三篇:Android 序列化的两种方式

1.Intent.putExtra 表示给intent携带一些额外的参数,多用于传递参数。 Intent.putExtras表示给intent携带intent或者bundle,多用于传递一批参数。 注意:如果intent要传递对象,则要实现序列化。序列化:表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。序列

2017-10-23 17:12:29 235

原创 第十二篇:Android GET请求获取网络数据以及POST数据(使用HttpURLConnection)

//1.连接网络的Api : URL类。try {            URL url = new URL("http://www.itheima.com/images_new/logo.jpg");//http://www.itheima.com/images_new/logo.jpg --由于这里使用的是http协议去获得连接,所以获得的是//HttpURLC

2017-10-23 12:17:29 949

原创 第十一篇 Android Studio配置gradle实现一键打包以及自定义apk的文件名

传统的打包方式,是通过Build-->>generate signed APK,选择正式签名文件进行打包。但这样做的缺陷是,如果切换过工程,执行generate signed APK的时候又需要重新选择签名文件、填写密码等,比较麻烦。解决办法:通过配置gradle,来一键打包。解决步骤:1.进入Project Structure,或者直接按快捷键Ctrl+Alt

2017-10-17 12:17:08 1401

原创 第十篇 Android Studio 使用常见问题

1.Android Studio 更新svn代码后出现 ErrorConfiguration with name 'default' not found,并且model更新下来为空的.原因:svn更新起冲突了.     hcbd的工程更新有问题,没更新下来。但是在settings.gradle里面有引用该library.所以会报上面的错误。解决办法:先把model为空的进行

2017-10-15 21:55:30 344

原创 第九篇 Android Studio .so文件无法提交到svn

之所以无法提交.so到svn上,因为svn默认有个全局忽略,指定哪些类型的文件默认不进行add to VCS 操作,即无法添加到svn上。解决办法,如下:第一步:查看Android Studio使用的subversion configuration directory(svn配置目录),如下图:容易犯得错误:找错svn配置目录。一定要查看android

2017-10-15 21:26:54 693

原创 第八章 Android开发规范整理以及Strings.xml定义规范化

1.使用mvp模式,并对代码进行合理的封装、优化等.2.将color资源都定义到colors.xml中.3.将string资源都定义到strings.xml中.4.layout布局文件的快速开发 定义布局模板或者styles样式或者使用include引用layout资源.5.增加特殊的注释符号,    如://TODO 表示此处待编写。//FIXME 表示此处待修正。

2017-10-12 12:32:45 1426

原创 第七篇:Android 将实体类中方法定义到接口中

定义的好处:将实体类中的字段的get()、set()方法 定义在接口中,而我们只需要修改 类中的名称,接口的方法不改,这样就避免了因为字段名称变化而导致所有代码中相关的方法名称 也要改过来.(这样就不需要根据服务端字段变化,而不断变更get、set等方法)注意:如果设计到对象,则接口中定义Object即可。然后在实现的实体类中将 T 转成Object,如:p

2017-10-09 11:10:37 1471

原创 第六篇:Android 代码中动态改变Shape资源的边框颜色

最近在开发过程中需要根据返回的颜色,动态修改某些组件的背景边框颜色,因为边框颜色都是在shape资源中定义的,所以我们需要动态修改shape资源的stroke的颜色,办法如下: GradientDrawable mGroupDrawable= (GradientDrawable) layout.getBackground();                /*设置边框颜色和宽

2017-10-09 11:09:27 3709

原创 第五篇:android studio和idea如何设置类头注释

打开Android Studio或者Idea,找到file->setting->Editor->Filr and Code Templates->Includes->File Header,如下:直接在右边的文件框里编辑你说需要注释的东西,然后应用保存之后,当你创建类的时候就会自动生成注释,可以自由定义,选择中文还是英文都可以。

2017-10-08 10:30:58 815

原创 第四篇 EditText与ScrollView滑动冲突

有时候EditText显示内容过多,需要用到垂直滚动条,但是发现滚动的时候,如果有嵌套在ScrollView里面的话,滑动会存在冲突,在网上找了好多方法,有些并不管用,这里做个总结,方便后续查看:如果显示了滚动条,滑动事件交给Edittext处理。如果内容太少,滑动事件由外层ScrollView持有。1).xml中设置android:scrollbars="vertical"

2017-10-02 15:31:47 259

原创 第三篇:menu菜单的创建以及使用

1.使用onCreateOptionsMenu() 来创建并显示菜单。2.使用onOptionsItemSelected()来定义菜单响应事件.android:id="@+id/add_item"android:title="Add"/>android:id="@+id/remove_item"android:title="Remove"/>这里

2017-09-04 08:38:36 720

原创 第二篇:Android四大组件之Activity的认识与使用

1.activity:1.注意,如果你的应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他的应用在内部进行调用的,如支付宝快捷支付服务。 (android studio中无法进行安装)2.隐藏标题栏:requestWindowFeature(Window.FEATURE_NO

2017-09-04 08:37:39 239

原创 第一篇:Android的基本认识

1.由于谷歌的开放政策,任何手机厂商和个人都能免费地获取到Android 操作系统的源码,并且可以自由地使用和定制。三星、HTC、摩托罗拉、索爱等公司都推出了各自系列的Android 手机,Android 市场上百花齐放。仅仅推出两年后,Android 就超过了已经霸占市场逾十年的诺基亚Symbian,成为了全球第一大智能手机操作系统.2.Android 系统架构.

2017-09-04 08:30:04 1440

jdk1.7.0_45.zip

Java 语言的软件开发工具包,JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。此版本是jdk1.7

2018-09-19

Apk反编译工具

Android Apk源码反编译工具,可以反编译android apk,内附教程,操作简单

2018-09-19

空空如也

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

TA关注的人

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