- 博客(48)
- 资源 (16)
- 收藏
- 关注
原创 Android 避免耗时操作及解决办法
Android耗时操作,我们可以通过几种方式实现:IntentServiceIntentService 与Service的不同之处在于IntentService是可以执行耗时任务的,而Service不能够执行耗时任务,否则会出现ANR异常。IntentService的用法:创建一个自定义的IntentService:public class TestService extends IntentService { public TestService(){ super
2020-09-24 15:47:27 1481
原创 Android Studio代码格式化配置
1.安装插件2.进行配置3.格式化文件 .xml格式<?xml version="1.0" encoding="UTF-8"?><profiles version="11"><profile kind="CodeFormatterProfile" name="IDA40" version="11"><setting id=...
2019-05-30 16:19:10 4020
原创 Unable to load class 'org.gradle.api.internal.component.Usage'
GitHub上下载一个项目导入Android studio3.0后报错。解决办法:修改根目录的build.gradle里的classpath 'com.novoda:bintray-release:0.3.4’改为0.5.0版本。
2019-04-11 10:45:34 633 1
原创 Android动态申请权限
Api23以上系统危险权限需动态申请系统危险权限共9组24个:/** * 系统危险权限(9组24个) * Manifest.permission.READ_CALENDAR, * Manifest.permission.WRITE_CALENDAR,//日历 * Manifest.permission.CAMERA,//相机 * Manifest.permission.READ...
2019-04-09 17:14:58 539
原创 Android ConstraintLayout(约束布局)
1、概述约束布局ConstraintLayout,是Android Studio 2.2中主要的新增功能之一,为了实现自适配2、引入app build.gradle中引入implementation'com.android.support.constraint:constraint-layout:1.1.3'在布局文件中就可以引入ConstraintLayout使用了...
2019-04-08 17:33:05 283
原创 Android studio使用Lambda表达式
Android Studio默认使用Lambda表达式是会报错的,即使你使用的是Java8,为了在androidstudio中使用lambda表达式,我们必须借助一个插件retrolambda,该插件将java8中的lambda表达式特性兼容到Java5。使用它也很简单。首先先项目根目录下的build.gradle中加入classpath 'me.tatarka:gradle-...
2019-04-08 17:16:18 1320
转载 人的成功平台很重要
一天,一个小和尚跑过来,请教禅师:“师父,我人生最大的价值是什么呢?”禅师说:“你到后花园搬一块大石头,拿到菜市场上去卖,假如有人问价,你不要讲话,只伸出两个指头;假如他跟你还价,你不要卖,抱回来,师父告诉你,你人生最大的价值是什么。” 第二天一大早,小和尚抱块大石头,到菜市场上去卖。菜市场上人来人往,人们很好奇,一家庭主妇走了过来,问:“石头多少钱卖呀?”和尚伸出了两个指头,
2017-09-03 18:40:23 8441
原创 AndroidStudio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式。在最终realease打包时,混淆的设置是比较重要的,否则会导致生成的包有很多功能不能正常使用。下面列举一个基本的app的build.gradle和混淆文件。并注意,混淆打包后的apk文件大小会比不使用混淆要小。在app根目录下设
2017-07-20 09:53:15 320
原创 Android开源数据库LitePal
LitePal的快速配置1. 引入Jar包或源码使用Android Studio在项目的build.gradle中添加:dependencies { compile 'org.litepal.android:core:1.5.0'}2. 配置litepal.xml在项目的assets目录下面新建一个litepal.xml文件,内容如下:xml ve
2017-06-28 10:00:43 390
原创 Android studio使用Lambda表达式
Android Studio默认使用Lambda表达式是会报错的,即使你使用的是Java 8,为了在android studio中使用lambda表达式,我们必须借助一个插件retrolambda ,该插件将java 8中的lambda表达式特性兼容到Java 5。使用它也很简单。首先先项目根目录下的build.gradle中加入classpath 'me.tatarka:gradle
2017-06-22 13:50:58 357
原创 Android6.0M权限管理实战,完美轻量级封装
Android6.0M权限管理实战,完美轻量级封装随着Android版本的不断更新,Google的Android开发人员也想到了Android应用在权限管理方面的各种问题,让好多用户摸不着头脑就使用了用户的隐私数据。 为了在权限这方面加强管理,安卓平台权限一直有被流氓应用随便利用诟病,Android M的发布彻底解决了这一问题,取而代之的是, app不得不在运行时一个一个询问用
2016-11-17 16:42:07 520
原创 广告倒计时欢迎界面的实现
今天更新了一个App,打开这个App后弹出的页面是一个广告倒计时的页面,倒计时完毕后进入主界面。于是我闲着没事儿简易实现了一下这个功能,如图: 实现这个效果也很容易,在相应布局问下中添加TextView控件,控件的值就是倒计时的数字,这里我给倒计时添加了一个动画效果,项目的目录结构如下: AndroidManifest.xml 这里我配置了WelcomeActivi
2016-11-17 16:40:55 1673
原创 scrollview中嵌套高德地图,触摸冲突解决
今天做的一个页面,要在scrollview中嵌套高德地图,产生触摸冲突,拖动地图和scrollview的滑动事件冲突。先说一下最终的解决方案。亲测可用。。。1、自定义一个viewGroup,继承Relativelayout(或者别的layout) 重点是重写了onInterceptTouchEvent(MotionEvent ev)和onTouchEvent(MotionEve
2016-08-03 14:56:54 3197 1
原创 Android几种常见的多渠道(批量)打包方式介绍
多渠道打包,主要是为了统计不同的渠道上包的下载数量,渠道越多,我们需要打的包数量越多,这个时候,我们没法去使用单纯的手动打包去一个一个的生成不同的渠道包,我们需要更高效的打包方式。声明渠道方式一:通常我们区分渠道都是在我们manifest 文件的 application 用这样来定义渠道信息: ?1<meta-da
2016-07-28 20:03:45 662
原创 Android dimens.xml中保存不带单位的数值
dimens.xml的一般用法在dimens.xml中可以保存各种在UI布局时用到的尺寸,例如:dimen name="sizeA">18spdimen>dimen name="sizeB">5.5dpdimen>dimen name="sizeC">10pxdimen>123在dimens.xml中配置的所有尺寸都必须带有单位,dimens.xml中支持的单位一共有6种。
2016-07-27 13:19:36 1850
原创 Eclipse背景颜色修改
Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中 Test Editors,右边出现Test
2016-03-21 10:08:03 448
原创 Android连续点击两次退出程序
连续点击两次程序就退出程序,这是一个很有趣的程序功能,下来介绍一下我的实现方式(欢迎大家拍砖指点): 1、在Activity中设置一个long型的全局变量 firstTime=0,用来记录第一次按下的时间(单位为毫秒); 2、响应Activity的 onKeyUp事件: @Override public boolean onKeyUp(int keyCo
2016-03-14 15:15:20 431
原创 android使用百度地图定位(获取当前经纬度和地址信息)
首先,当然是把需要用到的包导入到工程项目中。(没有包的自己去百度API官网下载)把 baidumapapi_v3_0_0.jar 和 locSDK_4.2.jar复制粘贴到项目的libs目录下,然后,在libs目录下创建一个armeabi文件夹(有就不创建了),把libBaiduMapSDK_v3_0_0.so 和 liblocSDK4d.so赋值粘贴到armeabi目录下。
2015-11-13 14:30:22 16746 1
原创 Android打开指定程序(微博/微信/人人等)
把此段放入事件代码段内:Intent intent = new Intent();ComponentName cmp = new ComponentName("com.sina.weibo","com.sina.weibo.EditActivity");intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CA
2015-10-19 10:23:42 573
原创 支付宝支付设计和开发方案
背景 在移动支付领域,支付宝支付占用巨大份额,根据艾瑞咨询公布的报告数据:2014Q3,支付宝斩获了82.6%的市场份额,在移动支付的霸主地位越来越稳固。财付通支付的发力点在微信支付和手Q支付,在移动支付格局中取得了10.0%的市场份额,排名第二。 支付宝在移动支付领域的统治地位,使得我们有必要梳理支付宝移动开发流程。本文写作的目的就是梳理支付流程,从架构层面讲述如何在
2015-09-07 11:41:05 5967 2
原创 在win7中输入adb shell提示不是内部或外部命令的解决!
1.在android开发中,有时候要用到入adb shell命令, 用于电脑cmd终端连接android手机。然而很多人在使用过程中,遇到在cmd中输入adb shell提示不是内部或外部命令等现象。2.搜索电脑是否有adb.exe应用程序。如果没有该程序,就可以把sdb目录platform-tools下的adb.exe复制到android-sdk-windows\tools目录下面的
2015-08-20 18:23:46 3080
原创 Android Studio 快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动
2015-07-29 10:57:33 382 2
原创 Android Studio 使用Genymotion模拟器
Genymotion模拟器是一个反应速度和真机几乎无差,并且有各种品牌和分辨率,所以对于Android开发人员来说,使用Genymotion会极大的方便开发过程。1.安装Genymotion1.1、百度Genymotion 进入Genymotion官网1.2、如果没有注册,点击注册(Genymotion是要注册才能使用的)1.3、登录或注册页面
2015-07-28 16:55:27 834
原创 Ubuntu环境下配置jdk并安装android studio
1. 环境UBUNTU 14.04 + Android Studio 0.8.22. 安装jdkopenjdk-7是一个很好的选择:sudo apt-get updatesudo apt-get install openjdk-7-jdk不排除你需要选择一个默认版本: sudo update-alternatives --config java sudo u
2015-07-24 09:21:52 865
转载 Android Xutils 框架
xUtils简介xUtils 包含了很多实用的android工具。xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtil
2015-07-10 14:40:37 459
原创 Android 23种设计模式
简介项目开发中发现问题、解决问题这个过程中会出现很多问题,比如重复出现、某个问题的遗留,这些问题的本质就是设计模式。今天记录设计模式的知识点。内容在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。它们的耦合度依次增强。依赖关系:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一
2015-07-06 11:13:34 709
原创 微信分享
1、首先打开eclipse创建一个应用程序2、在微信开放平台下载jar包 https://open.weixin.qq.com/3、下载所需要的libammsdk.jar以及官方Demo4.将jar粘贴进自己项目下的lib目录下 添加权限 5.解压官方的Demo
2015-07-01 19:56:28 424
原创 android获取手机通讯录联系人
android获取手机通讯录联系人信息[java] view plaincopyprivate void getPhoneContacts() { ContentResolver resolver = this.getContentResolver(); // 获取手机联系人
2015-06-24 19:49:15 507
原创 android应用中去掉标题栏的方法
在android中去掉标题栏有三种方法,它们也有各自的特点。1.在代码里实现[java] view plaincopythis.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 记住:这句代码要写在setContentView()前面。2.在清单文件(mani
2015-06-23 10:39:16 364
原创 Android 友盟社会化组件-分享实现
Android 友盟社会化组件-分享实现2014年2月10日 友盟一站式解决方案研究友盟--移动开发者服务平台,近期小巫想实现一个像一些应用实现多平台分享,例如LOFTER(网易轻博客,如下图)就实现了多平台分享,提供多个平台分享按钮,让用户选择自己想分享内容的平台,如果逐个来调用每个平台的API来实现的话那就太麻烦了,而刚好友盟就是为了方便开发者实现一站式分享和节省开发成本而
2015-06-22 18:45:10 1147 1
原创 Android——SharedPreferences实现登录界面的记住密码和自动登录功能
一、项目开发1、项目运行效果图2、开发概要 主要功能SharedPreferences介绍,其是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceS
2015-06-08 10:41:21 1248
原创 Json转换利器Gson之实例六-注册TypeAdapter及处理Enum类型
枚举类型给我们的程序带来了好处,如何用Gson来实现与Json的互转呢?请看本文.本文重点掌握如何自己写一个TypeAdapter及注册TypeAdapter和处理Enum类型.实体类:[java] view plaincopypublic enum PackageState { PLAY, UPDATE, UP
2015-06-03 20:02:00 564
原创 Json转换利器Gson之实例五-实际开发中的特殊需求处理
前面四篇博客基本上可以满足我们处理的绝大多数需求,但有时项目中对json有特殊的格式规定.比如下面的json串解析:[{"tableName":"students","tableData":[{"id":1,"name":"李坤","birthDay":"Jun 22, 2012 9:54:49 PM"},{"id":2,"name":"曹贵生","birthDay":"Jun 22, 2
2015-06-03 20:00:20 398
原创 Json转换利器Gson之实例三-Map处理(上)
Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(本文),还可以是带有泛型的List(下一篇博客).本例中您要重点看如何将Json转回为普通JavaBean对象时TypeToken的定义.实体类:[java] view plaincopypublic class Poin
2015-06-03 19:57:14 358
原创 Json转换利器Gson之实例四-Map处理(下)
Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(上一篇博客),还可以是带有泛型的List(本文).本例中您要重点看如何将Json转回为带泛型的对象List,并且List中的泛型对象有多种实体.实体类:[java] view plaincopyimport java.ut
2015-06-03 19:57:09 425
原创 Json转换利器Gson之实例二-Gson注解和GsonBuilder
有时候我们不需要把实体的所有属性都导出,只想把一部分属性导出为Json.有时候我们的实体类会随着版本的升级而修改.有时候我们想对输出的json默认排好格式.... ...请看下面的例子吧:实体类:[java] view plaincopyimport java.util.Date; imp
2015-06-03 19:45:45 335
原创 Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。实体类:[java] view plaincopy [java] view plaincopypublic cla
2015-06-03 19:30:54 378
原创 10分钟实现android聊天机器人
Android开发,10分钟使用api,快速实现聊天机器人,功能很强大哦,集成十分十分简单。本例也模仿qq聊天气泡,实现起来也是很简单的说明,不是单纯的内置聊天信息,机器人会根据您输入的信息,自动回复你,相当智能。看下图,是不是觉得在和一个真人聊天? 没错,其实它就是一个机器人,自动根据你发的信息,可以自动回复您
2015-06-03 14:41:59 978
原创 Android 屏幕适配方案
1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象:为
2015-06-03 14:09:26 515
ItemTouchHelp-RecycleView(仿写网易新闻客户端,顶部tabs,滑动排序,增加删除 )
2017-02-28
hprof-conv下载
2017-01-11
23种设计模式
2015-07-06
数据转成json格式数据
2015-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人