自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 MacOs安卓反编译

一、需要的工具apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件。 dex2jar:将反编译后的classes.dex文件转化为.jar文件。 jd-gui:用于将.jar文件转换成java代码。二、反编译步骤第一步:使用apktool工具对APK进行反编译1. 下载apktool下载apktool2. 把下载好的apktool脚本和apktool.jar文件移动到 /usr/local/bin 文件夹下菜单栏点击.

2020-07-28 09:53:01 261

原创 Android中运行项目时 Error:moudle not specified

Android Studio项目运行本来没有问题,突然之后就运行不了了:点击就出现类似这种:解决办法:1、在这里选择这个点击:2、然后在弹出框中选这个:接下来可能运行还是不行,然后接着看:3、点一下搜索:然后在输入款出输入Sync Project With Gradle Files:然后搜到之后直接点击下面的搜到的内容就行了,项目就会开始创建然后修复...

2019-09-19 11:44:23 172

原创 Android 9.0 透明Activity 崩溃 踩坑记录

很多博客都指出关于和两个属性冲突,但是其实并不影响。如果没有显示activity显示的方向其实二者没有关联。具体看截图一。然后就是这么解决了哈哈哈...

2019-05-11 17:04:41 1900 2

原创 Failed to resolve: com.android.support.test:runner:25.0.1处理办法

Android studio创建单元测试时,要修改build.gradle(Module:app),这个网上很多地方都有,大概步骤是这样的:1、在defaultConfig中加://ADD THIS LINE:testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"具体代码:...

2019-05-09 21:45:31 1309

转载 Android 常用开源框架源码解析 系列 (二)网络框架之一 OkHttp杂题

1、Android基础网络编程:socket、HttpClient、HttpURLConnection    1.1 Socket 定义    是一个对TCP/IP协议进行封装的编程调用接口,本身不是一种协议是接口Api!!    成堆出现,一对套接字:包括ip地址和端口号     基于应用层和传输层抽象出来的一个层。App可以通过该层发送、接收数据,并通过Socket将App...

2018-08-21 15:47:22 244

原创 TCP/UDP编程中的问题汇总

TCP和UDP发送大文件的问题。答:发送端:发送时,先发送文件的名称及大小等信息。然后,设置一个缓冲区的大小,假设为4K。再循环读4K的文件内容,并发送,直到发送完成。最后,再发送完成标记。 接收端:接收到第一个包时,得到文件的大小等信息。计算出要接收多少个包。然后,循环接收包,并将接收到的数据写入到文件中。直到,接收到的数据长度等于文件的大小。...

2018-08-20 10:24:31 505

原创 各种文件类型对应的MIME类型

  'chm'=>'application/octet-stream',    'ppt'=>'application/vnd.ms-powerpoint',    'xls'=>'application/vnd.ms-excel',    'doc'=>'application/msword',    'exe'=>'application/octet-stream...

2018-07-12 15:45:56 2525

原创 Android中app瘦身方式

App瘦身的概念App瘦身是指在不减少App功能的前提下,通过一些技巧将打包出来的apk体的体积尽可能减少。 这样做的好处有几个:加快用户下载速度,节省用户下载流量,提升用户下载体验。 如果不进行瘦身,默认打包的apk会包含所有未曾用到的源代码、资源文件等,极大的增加了apk的体积。App瘦身的常用技巧第一种:配置build.gradle文件,开启minifyEnabled,作用是启用混淆压缩模式...

2018-05-15 09:48:01 317

转载 Android Studio生成keystore签名文件

Android App打包时要用到签名文件,Android Studio生成签名文件步骤如下:Build---Generate Signed Apk...如图:如果你的project中有2个或者2个以上module时,会出现以下对话框,让你选择要给哪个module签名。如果project文件中只有一个module,不会出现下面的对话框,忽略此步。如图:点击Next弹出以下对话框选择Create n...

2018-05-14 15:07:31 1697

原创 Android studio项目依赖项冲突解决方法

1冲突Error:Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (25.1.0) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-a

2018-01-19 16:22:00 1627

转载 Failed to resolve: com.android.support.test:runner:25.0.1处理办法

Android studio创建单元测试时,要修改build.gradle(Module:app),这个网上很多地方都有,大概步骤是这样的:1、在defaultConfig中加://ADD THIS LINE:testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"具体代码

2018-01-19 15:26:34 2339

原创 Android 关闭硬件加速的问题

坑爹的。。。我使用TextureView + MediaPlayer进行视频播放的时候,只有声音,而不渲染画面。之前都是好好的啊。囧~看一下LogCat报的日志:TextureView: A TextureView or a subclass can only be used with hardware acceleration enabled.

2017-08-22 09:31:15 989

转载 Android Studio完整插件整理

现在Android的开发者基本上都使用android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应java Bean的过程。使用方法:快捷键Alt+S也可

2017-08-17 16:10:19 450

原创 获取报错的具体log

2017-02-08 09:32:52 352

转载 Android点击EditText文本框之外任何地方隐藏键盘的解决办法

1,实现方法一:通过给当前界面布局文件的父layout设置点击事件(相当于给整个Activity设置点击事件),在事件里进行键盘隐藏[java] view plain copy "http://schemas.android.com/apk/res/android"      android:id="@+id/traceroute_roo

2017-01-23 15:25:21 371 1

原创 现在安卓常用框架

1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、and

2017-01-11 17:18:12 260

原创 android studio build.gradle怎么配置

本地依赖12345678910dependencies {        //单文件依赖    compile files('libs/android-support-v4.jar')      //某个文件夹下面全部依赖    compile fil

2017-01-09 12:14:23 235

原创 android build.gradle学习

什么是Gradle?Gradle 以module 来管理project,在Gradle 构建的Gradle project中通常包含application module(com.android.application),与library module(com.android.library)两种module。在Gradle 的project 中需要使用,基本上全都使用.grad

2017-01-09 12:10:06 287

转载 《Android 中文API (69) —— BluetoothAdapter[蓝牙]》

本文原创, 转载请注明出处:http://blog.csdn.NET/qinjuning     天气逐渐热了,自己也越来越懒了,虽然看着了很多东西,解决了很多问题,有些收获却不想写着。主要有一下两方面原因:           第一、以前写的一些关于Android知识的Blog,都是在学习过程中发现网络上没有相关知识,因此下了很大决心,才一步

2016-10-28 12:48:02 359

原创 Android 区别真机和模拟器的几种方法

现在的模拟器的功能太强大,从蓝牙,传感器等配件到IMEI,Mac,以及手机硬件信息什么都可以模拟为了防止用户利用模拟器模仿真机进行刷单,刷流量等恶意操作。需要获取设备返回的一些信息来鉴别设备的真伪。下面是整理的模拟器和真机的区别虽然大部分都可以模仿,伪造,但是如果综合所有维度来监控,应该不存在太大问题。一,native方式。通过c代码读取设备中的配置和硬件相关信

2016-10-27 14:48:06 719

原创 Android属性动画特性

如果你的需求中只需要对View进行移动、缩放、旋转和淡入淡出操作,那么补间动画确实已经足够健全了。但是很显然,这些功能是不足以覆盖所有的场景的,一旦我们的需求超出了移动、缩放、旋转和淡入淡出这四种对View的操作,那么补间动画就不能再帮我们忙了,也就是说它在功能和可扩展方面都有相当大的局限性,那么下面我们就来看看补间动画所不能胜任的场景。注意上面我在介绍补间动画的时候都有使用“对View进行操

2016-10-11 10:47:26 1487

原创 Requestlayout,onlayout,onDraw,DrawChild区别与联系

requestLayout()方法 :会导致调用measure()过程 和 layout()过程 。 说明:只是对View树重新布局layout过程包括measure()和layout()过程,不会调用draw()过程,但不会重新绘制 任何视图包括该调用者本身。onLayout()方法(如果该View是ViewGroup对象,需要实现该方法,对每个子视图进行布局)调用onDraw()方法绘

2016-10-11 10:46:05 2289

原创 什么情况导致oom

1)使用更加轻量的数据结构 2)Android里面使用Enum 3)Bitmap对象的内存占用 4)更大的图片 5)onDraw方法里面执行对象的创建 6)StringBuilder

2016-10-11 10:32:27 403

原创 ANR定位和修正

如果开发机器上出现问题,我们可以通过查看/data/anr/traces.txt即可,最新的ANR信息在最开始部分。主线程被IO操作(从4.0之后网络IO不允许在主线程中)阻塞。主线程中存在耗时的计算主线程中错误的操作,比如Thread.wait或者Thread.sleep等 Android系统会监控程序的响应状况,一旦出现下面两种情况,则弹出ANR对话框应用在5秒内未响应用户的输入事件(

2016-10-11 10:30:10 983

原创 什么情况导致内存泄漏

1.资源对象没关闭造成的内存泄漏描述: 资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如 SQLiteCursor(在析构函数finalize(),

2016-10-11 10:22:57 1736

原创 launch mode应用场景

standard,创建一个新的Activity。singleTop,栈顶不是该类型的Activity,创建一个新的Activity。否则,onNewIntent。singleTask,回退栈中没有该类型的Activity,创建Activity,否则,onNewIntent+ClearTop。注意: 1.设置了"singleTask"启动模式的Activity,它在启动的时候,会先在系统

2016-10-11 10:21:26 349

原创 低版本SDK实现高版本api

自己实现或@TargetApi annotation

2016-10-11 10:19:24 768

原创 Handler、Thread和HandlerThread的差别

从Android中Thread(java.lang.Thread -> java.lang.Object)描述可以看出,Android的Thread没有对Java的Thread做任何封装,但是Android提供了一个继承自Thread的类HandlerThread(android.os.HandlerThread -> java.lang.Thread),这个类对Java的Thread做了很多便利

2016-10-11 10:18:47 371

转载 一次网络请求的流程

2016-10-11 10:17:57 415

原创 Activity、Window、View三者的差别,fragment的特点?

Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图) LayoutInflater像剪刀,Xml配置像窗花图纸。在Activity中调用attach,创建了一个Window创建的window是其子类PhoneWindow,在attach中创建PhoneWindow在Activity中调用setContentView(R.layout.xxx)其

2016-10-11 10:16:52 4711

原创 android基础

1.数据库的操作类型有哪些,如何导入外部数据库?把原数据库包括在项目源码的 res/rawandroid系统下数据库应该存放在 /data/data/com..(package name)/ 目录下,所以我们需要做的是把已有的数据库传入那个目录下.操作方法是用FileInputStream读取原数据库,再用FileOutputStream把读取到的东西写入到那个目录.2.是否使用过本地

2016-10-11 10:16:16 278

原创 抽象类接口区别

默认的方法实现 抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现实现 子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现构造器抽象类可以有构造器接口不能有构造器与正常Java类的区别除了你不能实例化抽象类之

2016-10-11 10:05:13 240

原创 什么导致线程阻塞

线程的阻塞为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持.阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已

2016-10-11 09:58:24 602

原创 string stringbuffer stringbuilder 区别

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改

2016-10-11 09:52:09 181

原创 Android开发之通知栏Notification详解

Notification的用法  --- 状态栏通知 发送一个状态栏通知必须的两个类:          1. NotificationManager   --- 状态栏通知的管理类,负责发通知,清除通知等    NotificationManager : 是一个系统Service,必须通过 context.getSystemService(NOTIFICATION_SERVICE

2016-10-09 16:04:03 711

原创 android手机闪退原因

手机闪退原因一 、缓存垃圾太多        由于安卓系统的特性,如果长时间不清理垃圾文件会导致手机在使用中越来越卡,也会出现闪退情况。        闪退修复方法:        进入设置---应用管理----全部,找到出现状况的应用程序,清理数据和缓存(注:清除数据会清除掉应用的个人设置,账户信息等)。手机闪退原因二 、内存不足

2016-09-29 16:40:22 1245

原创 IDEA中的run与debug与compile,rebuild,和make project关系与区别?

以下为参考资料:• Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。• Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。• Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,

2016-09-29 16:08:40 4350

原创 java对象转换为字节数组

package welcome;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.ByteArrayInputStream;import java.io.*;import java.util.ArrayList;/** * 目的是把一个类文件写入到字

2016-09-29 16:04:13 1466

原创 基于Android下载并解压Zip文件,更新UI简单帮助类

下载文件:?12345678910111213141516171819202122232425262728293031

2016-09-29 15:51:24 473

原创 Notification(Notification的通知栏常驻、Notification的各种样式、Notification点击无效)

Android的Notification是android系统中很重要的一个机制, 产品人员常常利用通知栏的方式,跟用户进行弱沟通。拥有推送通知的app要比没有此类功能的app活跃率要高很多。另外类似于墨迹天气,清理大师等 app,也会将通知栏常驻,利用自定义的布局,方便用户及时快捷的查看所需的信息和使用快捷的功能。所以Notification的使用,也在开发当中, 使用的越来越频繁。今天我就来跟大

2016-09-29 15:46:00 1366

GreenDaoDemo-master.zip

基于greendao设计的即时通讯数据表,其中包含聊天好友列表,以及好友聊天记录 表与表关联一对一关联

2019-05-11

rxWebSocket-master.zip

基于okhttp websocket开发 demo,安卓端和服务器进行socket 通信。轻量版即时通讯吧 哈哈

2019-05-11

RxTools-工具使用

Rxjava-工具使用,相应的代码使用方式。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-08-08

RatingBar自定义

2016-09-29

自定义RatingBar

2016-09-29

空空如也

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

TA关注的人

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