自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 SDK 嵌入问题记录

在日常开发中,我们常常会遇到如统计 App 的日活、总用户量、错误信息等数据的场景,一般情况下,我们可以嵌入友盟统计、TalkingData 等开发商提供的 SDK 进行统计,而无须自己重复造轮子。一般情况下,SDK 开发商都会提供相应的文档及 Demo 对如何使用该 SDK 进行详情的指导,同时还提供各种各样的嵌入方式,如常见的 Eclipse libs 嵌入方式,aar 库的嵌入方式,以及 An

2017-04-06 20:48:12 1846

原创 WebView小知识点记录

1、ScrollView中嵌套WebView焦点问题有时项目中会遇到一些比较奇葩的需求,像最近,ScrollView里面首先放一个原生的广告轮播图,再嵌入一个WebView显示H5页面。这里不讨论为什么要这么做,总有些历史原因导致。需求很简单,层级关系就只是如下而已:<ScrollView> <LinearLayout> <ViewPager /> <WebV

2017-03-09 15:54:56 349

原创 Android Studio中9Path图片小探究

今天,在为项目嵌入一个SDK的时候,出现了如下一个运行失败的情况,错误如下:Information:Gradle tasks [:app:assembleDebug]Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: com.and

2017-03-02 17:14:24 1333

原创 app升级下载

app升级下载app升级下载在应用开发中是一种非常常见的场景,每当产品迭代出一个新的版本,我们常常可以看到以下两种情况: 1. 用户启动App时,App直接获取到最新版本信息提示用户更新; 2. 用户在“设置”-“检查更新”(也可能是其它描述),“检查更新”的时候获取最新的版本更新; 这两种不同的场景,一种是用户主动请求,另一种则是App主动检查,但原理上来说基本是一致的。 升级模式在App

2017-01-24 14:00:52 916

原创 build.gradle常见配置方式

随着Android Studio的横空出世,以及Google大力推荐,使用Gradle编译Android App的小伙伴越来越多,因此我们有必要稍微了解一些使用Gradle编译Android App的常见配置方式。1、统一配置工程中的compileSdkVersion、buildToolVersion等为什么要做统一的配置呢?如果我们每个module都分别配置, 当我们工程中引

2017-01-09 21:27:48 16338

原创 ListView分页加载数据

ListView分页加载数据ListView分页加载 在Android中是一个经常用到的技术,当我们需要加载大量的数据到列表显示时,假如一次性把所有数据加载完毕,可能会导致整个ListView列表卡顿,给用户的体验也非常不好。因而,我们可以将数据分为多次加载,每次加载其中的一部分,用户有需求的时候再加载其他部分,这样的设计会更加友好。 ListView分页原理在日常开发中,我们可能会遇到以下两种情

2016-06-16 08:04:46 626

原创 Android App图标尺寸

正常情况下我们应该为4种普遍分辨率:低、中、高、超高精度,都提供相应适配的资源,这能帮助我们在不同的分辨率下有良好的画质和效果,特别是当图标中含有文字时更应该对不同分辨率做相应的适配。当然,现在手机的分辨率越来越高,我们还应该添加一种更高的精度xxhdpi要生成这些图像,我们应该从原始的矢量图像资源着手,然后根据以下尺寸比例,生成各种密度下的图像。超超高精度xxhdpi:3.0超高精度

2016-05-20 08:35:22 682

原创 数据存储

Android系统中主要提供了三种方式用于简单实现数据持久化功能,即文件存储、SharedPreference存储以及数据库存储,当然,我们也可以将数据保存在手机的SD卡中,只是上面提到的三种方式使用起来更加简单,安全。文件存储写文件:Context类中提供了一个openFileOutput()方法,接收两个参数,第1个为文件的名字,注意这里不包括文件的路径,所有的文件都默认存储到

2016-05-06 07:58:26 260

原创 Android广播(BroadcastReceiver)

Android的标准广播(Normal broadcasts)标准广播一种完全异步执行的广播,在广播发出后,所有的广播接收器几乎都会在同一个时刻接收到这条广播,它们之间并没有任何先后顺序。Android的有序广播(Ordered broadcasts)一种同步执行的广播,在广播发出后,同一个时刻只会有一个广播接收器接收到这条广播,当这个广播接收器的逻辑执行完毕后,广播才会继续传

2016-04-21 17:48:29 294

原创 Activity启动模式

Android是使用任务(Task)来管理Activity的,一个任务就是一组存放在栈里的Activity的集合,这个栈也被称为返回栈(Back Stack)。栈是一种后进先出的数据结构,在默认情况下,每当我们启动一个新的Activity,它会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或者调用finish()方法去销毁一个活动时,处于栈顶的Activity会出栈,这时前一个入栈的A

2016-04-20 10:05:00 459

原创 Android Studio 导入第三方库

导入“***.jar”文件(以UniversalImageLoader为例)1、将“***.jar”文件复制至项目中“libs”文件夹中;2、将“***.jar”文件右键单击Add As Library;选择要添加个哪个Module中,Add to module;3、在.java文件中测试是否已经导入;导入第三方库项目(以Volley为例)1

2015-04-20 21:24:18 9373 2

空空如也

空空如也

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

TA关注的人

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