- 博客(27)
- 收藏
- 关注

转载 记录下Android中常见的设计模式
对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次。而在android开发中,必要的了解一些设计模式又是非常有必要的。对于想系统的学习设计模式的同学,这里推荐2本书。一本是Head First系列的Head Hirst Design Pattern,英文好的可以看英文,可以多读几遍。另外一本是大话设计模式。单例模式首先了解一些单例模式...
2019-06-13 10:21:10
157
原创 学习记录——Activity的启动模式
为了实现Activity的复用,Android系统提供了Activity的启动模式,即LaunchMode,根据情况选择创建还是复用实例。启动模式包含以下四种:Standard(默认)、SingleTop、SingleTask、SingleInstance。标准模式每一次都会去创建新的Activity,其他三种会根据情况选择创建还是复用。由于被创建的Activity会运行与启动的Activit...
2019-10-12 10:47:57
255
转载 记录下Fiddler返回数据的三种方法
背景访问某个URL地址,正常返回结果是{"code":0,"msg":"success","rows":["US","CA","GB","AR","AU","AT","BE","BR","CL","CN","CO","HR","DK","DO","EG","FI","FR","DE","GR"]},而我们需要将response在返回之前将json数据修改成{"code":1,"msg":...
2019-09-20 11:32:51
2143
转载 记录下Intent.resolveActivity
详解1:在自己的应用程序中利用第三方应用程序的Activity和Service是十分方便的,但是你无法保证用户设备上安装了特定的某个应用软件,或者设备上有能够处理你的Intent请求的程序。因此,在启动第三方APK里的Activity之前,确定调用是否可以解析为一个Activity是一种很好的做法。通过Intent的resolveActivity方法,并想该方法传入包管理器可以对包管...
2019-09-11 09:55:43
587
原创 记录下混淆,免得忘记
混淆的目的?为了不开源应用,实现功能等同却难以阅读理解,加大反编译的成本,却不能避免反编译。具体做法:在build.gredle中找到minifyEnabled这个配置,设置为true,然后在proguard-rules.pro文件中添加混淆的规则,网上有一些通用的设置,具体百度即可注意:如果在应用中用到反射去获取的类对象是不能被混淆的,不然会导致反射失败在应用中哪些不能被混淆...
2019-08-28 10:23:23
208
转载 记录下android中的复制粘贴
我们知道,windows系统中有剪贴板,Android中也有剪切板(ClipboardManager)在android api 11之前,ClipboardManager全称(父类):android.text.ClipboardManager在android api11之后,ClipboardManager全称(子类):android.content.ClipboardManager早...
2019-08-26 16:21:30
387
原创 记录下版本号对应的android版本
Platform Version API Level VERSION_CODE NotesAndroid 9 28 P Platform HighlightsAndroid 8.1 27 O_MR1 Platform HighlightsAndroid 8.0 26 O Platform HighlightsAndro...
2019-08-19 17:04:58
1915
原创 记录下设置Dialog进出方式
在dialog构造方法中:if(getWindow()!=null){getWindow().getAttributes() . windowAnimations=R.style.XXX;}R.style.XXX这么写:<style name="dialogAnimationslate"><item name="android:windowEnterAni...
2019-08-13 16:26:38
154
原创 记录下Git上操作合并的操作
1、切换到要合并的主分支上2、右键-->合并-->选择要合并的分支(开发的分支)--合并成功(此时合并的是本地分支)-->没有冲突-->push到远端可以合并单个文件,需要特殊的代码(每一次修改都有个特殊的码,如:https://blog.youkuaiyun.com/chankee/article/details/51727919)...
2019-08-12 11:10:19
258
转载 Http状态码与含义
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功)表示成功处理了...
2019-08-05 10:34:58
225
原创 记录下线程切换的问题
线程切换的2种方法:thread.setPriority(Thread.MAX_PRIORITY);//1~10,通过线程设置Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);//-20~19,通过进程设置这两种方法是相对独立的,在android中建议用使用process去设置,其中第二种方法可以通过线程ID去设...
2019-08-02 10:36:24
231
原创 内部类与外部类的关系
private,public,protected,default的访问权限区别在学习外部类与内部类之前我们首先要弄明白private,public,protected,default在访问权限上有什么不同,这对我们之后的理解会有一定的帮助。1、private:访问权限最低的访问控制符,被它修饰的变量只能访问本类的对象。2、public:访问权限最高,不仅是本类,子类,本包,其他的包,都可以去...
2019-06-13 14:47:45
1303
原创 Dialog中需要注意的地方
启动DIalog的Context不能是Application而必须是Activity,否则会报错,除非是系统的window,但是系统的window需要在Androidmainfest中声明权限然后在代码中设置:dialog.getWindow().setType(LayoutParams.TYPE.SYSTEM.OVERLAY);这样就可以使用系统的window。关于Dialo...
2019-06-12 16:21:08
347
原创 使用windowAnimations定义Activity及Dialog的进入退出效果
看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了。设置Dialog首先通过getWindow()方法获取它的窗口,然后通过getAttributes()方法获得window的WindowManager.LayoutParams lp, lp有个公共属性windowAnimations, 只要把要实现的animation的id赋值给它就可以...
2019-06-12 10:04:45
314
原创 Android中关于使用动画应该注意的地方
1、OOM问题尽量避免使用帧动画,就算使用也要保证图片尽量小2、内存泄漏在属性动画中有一类无限循环的动画,这类动画需要在Actviity退出时及时停止,否则会导致Actiivty无法被会回收,进而内存泄漏3、兼容性在Android3.0以下的系统上有兼容性的问题,在某些特殊场景可能无法工作,要做好适配工作。4、View动画的问题View动画是对View的影响做动画,并不...
2019-06-11 15:47:04
169
转载 Android studio MultiDexApplication 多个dex分包教程——一键解决65536问题
王能的博客https://blog.youkuaiyun.com/weimingjue/article/details/84976614
2019-06-11 12:02:55
839
转载 Android中.9图片和在Androidstudio的制作流程
记得刚学Android的时候对.9图片很懵逼,当时同学使用android studio制作.9图片的时候感觉好神奇,但是年少轻狂的我并没有学会哦。刚好今天接触到这个.9图片,就打算今天把这个弄懂,不对的地方望指点,下面就随我一步一步详细的来绘制.9图片之ic_launcher.9.png:一、9patch图片的概念1、9patch图片是andriod app开发里一种特殊的图片形式,文件的扩...
2019-06-11 09:27:00
309
原创 Android中占位符的使用
在Android开发中,我们经常要根据服务返回的数据去变化我们当前的某些文案,这个时候使用占位符是一个很好的方法,具体如何呢?Android的占位符分为3种,为%s、%d、%f。中间以n$代表着第几个,完整的使用的是%4$s,代表着第4个占位字符%s:字符串类型%d:整数类型%f:浮点数类型String.format(str,占位符对应文案,占位符对应文案,占位符对应文案);有多...
2019-06-10 10:20:20
2161
原创 硬件加速的优缺点
硬件加速:原理:调用GPU代替CPU完成绘制的计算工作,从工作分摊和绘制机制优化来提升绘制速度。缺点:受到GPU绘制方式的限制,Canvas有些方法在硬件加速开启的时候会失效或者无法正常工作,所以在自定义控件的绘制操作中可以手动地去关闭硬件加速 view.setLayerType(LAYER_TYPE_SOFTWARE, null); 加大内存的使用,...
2019-06-10 10:13:33
3975
原创 所谓网络延迟的一些必然因素
一般网络游戏延迟(delay)标准,1-50ms 优(网络流畅),50-90ms 良(无明显卡顿,正常游戏),90-150ms 一般(偶有卡顿,可游戏),大于150ms,差(卡顿严重,不适合游戏)网络传输帧数(FPS)大于60的情况下人眼分辨不出差别,也就是60帧/s与200帧/s,肉眼看不出来网络加速的作用点第一类是由于不同网络运营商间的壁垒造成的,比如说联通去连接电信的服务器是需要时间...
2019-06-10 10:12:51
2044
原创 Java中的数据结构
简单记录下:Java数据结构按观察视角来分:可以分为逻辑结构和物理结构逻辑结构:逻辑结构是指元素之间的逻辑关系描述。可以分为集合结构:结构中的元素之间没有关联,唯一的共同点是它们属于同一个集合 数组线性结构:结构中的元素之间存在一对一的关系 链表树状结构:结构中的元素之间存在一对多的关系网状结构(图状结构):结构中的数据元素之间存在着多对多的任意关系。物理结构:就是逻...
2019-06-10 10:10:23
208
原创 获取移动设备本地路径的一些方法
开发中我们可能需要获取设备中的文件信息,这时候就需要通过文件路径去获取对应文件了,以下是获取本地路径的一些方法,记录下,方便使用:Environment.getExternalStorageDirectory().getPath() /storage/emulated/0 获取内存卡目录Environment.getDownloadCacheDirectory().ge...
2019-06-10 10:09:18
524
原创 记录下反射
反射:用来调用hide之类的方法代码演示:/** * 反射步骤: * 1、获取Class对象,可以有forName、xxx.class、对象.getClass() * 2、获取getConstructor()对象,有参数需要传入参数类型 * 3、获取对象实例,constructor.newInstance(),也可以直接...
2019-06-10 10:07:01
105
原创 曾经遇到的坑
代码设置ring类型的shape时候找不到设置thickness、innerRadius的方法,貌似是隐藏的,所以并不能动态去是设置颜色,有个小坑,就是后面设置的颜色会覆盖掉之前的颜色,如果是先设置background,再在代码中获取对象这中方式就会出现这种情况;建议以其他的方式去实现。RecycleView在设置成横向列表的时候,系统提供了SnapHelper这个辅助类来调整Item的位置,...
2019-06-10 10:05:56
198
原创 常用的adb命令
root@kali:~# adb root //rootroot@kali:~# adb remount //把设备改成可读可写root@kali:~# adb shell //进入到设备中adb pull /data/data/packageName/databases/rm_in_store_db E:\data //把数据库pull到data文件夹中adb...
2019-06-10 10:03:55
322
原创 Drawable的分类
常用的Drawable有BitmapDrawable、ShapeDrawable等,现在一般加载图片都用第三方去处理,如Glide等,我们经常使用shape文件来作为View的背景来实现我们想要的效果,那么shape的语法究竟是什么样的呢?这里记录下:如下图Shape里面的内容都在这里了,需要注意的是<shape>标签创建的Drawable,其实体类实际上是GradientDr...
2019-06-06 17:25:10
394
转载 SSD、eMMC、UFS的区别
首先,这三种技术都是属于闪存(Flash Memory)的不同种类,区别主要在于控制器,接口标准以及更底层的 Flash 芯片标准。它们在电脑/手机等系统中的主要作用是作为存储设备(storage)/文件系统。(注意它们虽然也叫memory,但和运存的 memory是完全两回事儿)以前电脑系统中的主要的存储设备是机械式磁盘,访问速度慢,体积庞大,功耗高,而且对震动非常敏感,因此很难用于小型化的...
2019-06-06 15:56:52
1362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人