自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wme_jn

Android技术浅谈

  • 博客(23)
  • 收藏
  • 关注

原创 设计模式简述

设计模式简述什么是设计模式为什么要用设计模式设计模式的由来设计模式的六大原则设计模式分类

2019-05-23 17:46:14 2142

原创 Android_monkey 压力测试

一、Monkey测试的相关的原理monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。二、Monkey介绍简述Monkey程序由And...

2019-05-23 19:12:17 194

原创 自动切换文字大小的TextView

需求用户信息显示全部;但是针对不同型号的手机以及个人信息长度的不同要想把信息全部展示就需要改变文字的大小。这一点官方已经给出了解决方案AppCompatTextView;AppCompatTextView 继承自TextView 并且实现了AutoSizeableTextView接口;实现1、xml文件实现 <android.support.v7.widget.AppCompa...

2019-01-21 11:39:21 197

原创 LeakCanary内存泄漏检测工具

首先来说一下我再项目中遇到的内存泄漏的问题:公司一个上线很久的项目突然有用户反馈使用程序时间就了手机就变得很卡。额,这不是内存泄漏嘛!但是由于这个旧项目不是笔者开发并且没有改过其中的问题。突然来一任务就要解决内存泄漏的问题,当时笔者内心是很拒绝的,但是身为一个负责任的程序员就不能说“不”。之前用过LeakCanary检测内存泄漏,这次依然使用的是LeakCanary。不检测不知道一检测吓一跳...

2019-01-18 14:04:05 205

原创 BUG 总结

一、FATAL EXCEPTION: mainProcess: com.ainiu.downlaodmarket, PID: 20919 android.view.WindowManager$BadTokenException: Unable to ...

2018-06-15 08:57:55 221

原创 Java常用设计模式(一)

一、单例模式 1、构造方法私有化,阻断一切外部new的入口; 2、防止类多次实例化;1)懒汉式:声明一个静态变量。并且在用户getInstance 时进行初始化;例如:public class Singleton{ private static Singleton instence private Singleleton(){}//构造函数私有化 pub

2018-06-05 16:07:16 196

原创 Android 修改状态栏属性

1、沉浸式状态栏方法1、设置Theme 属性为透明状态栏 因为 API21 之后(也就是 android 5.0 之后)的状态栏,会默认覆盖一层半透明遮罩。且为了保持4.4以前系统正常使用,故需要三份 style 文件,即默认的values(不设置状态栏透明)、values-v19、values-v21(解决半透明遮罩问题)。//valuse <style name="Tra...

2018-02-24 17:50:27 1788 1

原创 Java 数据类型

简介: 1)java是一种强类型的语言,包含 ①所有的变量必须声明后使用; ②指定类型的变量只能接受类型与之匹配的值。 2)java支持的类型分为基本类型和引用类型;一、基本数据类型 基本数据类型包含8种。 一个字符占2个字节,一个字节占8位(bit); 1、char :字符型,用于存储单个字符,占16位(bit),2个字节,取值范围从0-65535,默认为空,包装类型:Charact

2017-12-21 18:52:15 159

原创 java 关键字

一、特性 1、java 中一些具有特殊用途的单词被称为关键字(keyword),当定义标识符时不要让标识符和关键字相同; 2、java中的关键字都是小写的; 3、关键字不能用作变量名、方法名、类名、包名和参数; 4、java有52个关键字(包含两个保留字(reserve word))); 5、保留字:是预留的关键字,虽然现在没有使用但是以后可能会用到; 6、两个保留字:const,got

2017-12-20 14:56:28 232

翻译 自定义评星条

实现自定义评星条,任选星条背景,星大小,左右间距,是否可点击1、原理介绍 我采用的是继承LinearLayout,在Lin中添加View的方法,此方法笨拙,但是可以实现星星的完全符合设计图(因为仍然才有UI妹子的切图),anyway这种方法使用起来方便啊,避免了特别复杂的星星的绘制,废话太多了,那就看一下我是如何实现的吧; 2、代码实现 代码so easy package com.ainiu.

2017-11-24 10:23:36 330

原创 安卓图片加载汇总(Glide、Picasso)

一、Glide注意问题 Glide在项目开发中是我们经常用到的图片加载框架,他加载图片平滑,速度快,使用方法简单,可以设置缓存;但是在使用过程中仍然会有许多需要我们注意的点,以下都是我在开发中遇到的问题总结:1、Glide加载背景变绿 Glide在加载满屏图片的时候背景被图片全部填充,但是Glide在加载纯净图片时,背景会变绿,这也是在项目中偶然遇到的问题,那么如何解决呢,原来Glide早

2017-03-31 18:41:17 338

原创 Android 性能优化

最近闲来拜读了任玉刚大神的《Android开发艺术探索》这本书,总结了几点,方便以后查阅。 1、布局优化 尽量减少布局文件 的层级,布局减少了那么安卓绘制的工作就减少了; 方法: 1.1 尽量少采用RelativeLayout,因为RelativeLayout的计算量相对于Linearlayout还是大的。但是如果Linearlayout无法实现布局,需要增加层级,那么还是使用

2017-03-01 17:44:03 322

原创 6.0后权限的处理

在安卓6.0后我们获取一些手机的权限不仅需要在AndroidMainfist中配置,还需要我们在代码中动态的去获取一下相应的权限。在软件开发版本没有适配6.0的时候运行在安卓6.0的手机上是不会崩的,因为我们开发对应的版本没有适配6.0,它仍然只需要在配置文件中添加权限即可;但是当版本适配到了6.0那么我们就需要到代码中获取权限,运行在低于6.0的手机版本时不执行代码添加权限的方法;只会在大于或等于

2017-02-28 15:58:15 255

原创 Activity生命周期

1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。4.当前Activity转到

2016-07-12 14:04:58 281

转载 自定义圆形头像

复制一下圆形图到自己的工程下package com.example.cir;import com.example.text.R;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.BitmapShad

2016-06-30 14:47:52 271

转载 短信验证

1、到ShareSDK或友盟上下载SDK,查看官方文档2、配置AndroidManifest.xml<uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permis

2016-06-30 10:02:54 275

转载 第三方登录和分享

(一)分享使用ShareSDK或者友盟,到官网下载SDK,查看官方文档, 解压SD卡,将Sample下的文件复制覆盖到你的工程下1、配置AndroidManifest.xml 1)添加权限<uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.p

2016-06-30 09:53:36 444

原创 城市列表

城市列表及为两个listView,左边ListView实现加载不同的布局,右边ListView实现滑动导航, 布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout

2016-06-28 09:41:54 278

原创 PagerSlidingTabStrip实现横划

通过使用第三方的PagerSlidingTabStrip控件来实现,需要把第三方导到本地项目的同级目录下。 xml如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo

2016-06-27 11:55:04 254

原创 SAX解析

SAX解析是按照xml文件的顺序一步一步的来解析,人为的不可以控制进度,自动调用方法。package com.example.parse;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.SAXParser;import javax.xml.p

2016-06-27 11:44:50 228

原创 Pull解析

Pull解析器是通过标签来解析文档,人为的可以控制解析的进度。调用parser.nextText()方法可以获取下一个Text类型节点的值。package com.example.parse;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.Xml

2016-06-27 11:38:31 441

原创 DOM解析

DOM解析是xml文件解析的一种,它是一次性加载文件的所有内容,属于文档驱动的解析。具体实现如下package com.example.parse;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.DocumentBuilder;import

2016-06-27 11:32:46 435

原创 SQLite数据库的增删改查

SQLite是安卓专用的数据库,通过继承SQLiteOpenHelper来创建数据库,重写oncreate();//创建数据库和onUpgrade();//数据库更新两个方法;package com.bwie.test.utils;import java.util.ArrayList;import java.util.List;import android.content.ContentValue

2016-06-27 11:25:27 323

空空如也

空空如也

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

TA关注的人

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