- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 Gradle三:创建构建Variant
什么是Variant?每个android项目都有debug和release构建类型,而productflavor让管理多个应用或依赖库版本成为可能,而构建类型常常和product flavor一起使用,可以很容易地处理测试和生产应用的免费和付费版本,构建类型和product flavor的结合结果称之为variant。构建新类型创建一个新的构建类型staging如下代码: buildTypes { release { minifyEnabled fal
2021-09-21 20:00:26
383
原创 Gradle二:任务入门
在Android Studio中,会提供一个管理Gradle任务的窗口,如下:在根Tasks中,有些常用的任务,可以直接双击运行:assemble:集合项目的输出clean:清理项目的输出check:运行所有的检查,通常是单元测试和集成测试build:同时运行assemble和checkapp中的android目录下则有:assemble:为每个构建版本创建一个apkclean:删除所有构建内容,例如apkcheck:运行Lint检查,如果Lint发现了一个问题,则可终止构
2021-09-14 07:40:05
233
原创 Gradle一:初识Gradle
Gradle官方文档:https://docs.gradle.org/current/userguide/installation.htmlGradle基础:1.Gradle构建脚本的语言:基于Groovy的领域专用语言(DSL)2.基于build文件组装项目和任务对象。一个任务对象包含一系列动作对象,这些对象之后会按照顺序执行。3.Gradle构建阶段:(1)初始化:根据项目模块(依据build),创建多个项目实例。(2)配置:构建脚本执行,为每个项目实例创建和配置任务。(3)执行:根据
2021-09-14 07:27:18
339
原创 Android报错信息整理
Execution failed for task ‘:app:transformDexArchiveWithDexMergerForDebug’.com.google.gson.stream.MalformedJsonException: Invalid escape sequence at line 1 column 31 path $[0].name解决:https://www.cnblogs.com/xkd-/p/11542294.htmlAndroid Studio 解决build日志.
2021-01-04 10:35:56
186
原创 Android好用的第三方开源库
SmartRefreshLayout以打造一个强大,稳定,成熟的下拉刷新框架为目标,并集成各种的炫酷、多样、实用、美观的Header和Footer。 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。 它继承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout, 其他
2020-12-29 10:50:30
3897
原创 Python:dict和set集合
dictdict跟java中的map是一样的,使用键-值(key-value)存储,具有极快的查找速度。这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的
2020-12-17 11:03:31
105
原创 RecyclerView嵌套ViewPager滑动冲突
将ViewPager替换如下:public class RecycleViewPager extends ViewPager { private Context mContext; public RecycleViewPager(Context context) { super(context); this.mContext = context; fixTouchSlop(); } public RecycleViewPag
2020-12-11 15:48:22
1036
原创 获取Android设备DeviceId、UUID、IMEI
public final class DeviceIdUtils { private static final String TAG = DeviceIdUtils.class.getSimpleName(); private static final String TEMP_DIR = "system_config"; private static final String TEMP_FILE_NAME = "system_file"; private static fin
2020-12-11 15:40:01
1667
1
原创 ViewPager禁止左右滑动的工具类
public class NoScrollViewPager extends ViewPager { private boolean noScroll = true; public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public NoScrollViewPager(Context context) { supe
2020-12-11 15:37:11
117
原创 databinding入门
阅读指南简介一、引用方式和Activity基础赋值1.引入库2.修改layout布局3.新建一个Student对象4.并且在data标签中引用:5.利用student对象给布局中的控件赋值:6.设置数据源:总结简介databinding,实现数据绑定的一种框架,可以降低Activity布局和逻辑的耦合性,省略传统的findViewById操作,节省代码,其中双向绑定,或者单项绑定的操作,可以大量减少传统赋值的代码,有效防止内存泄露,而且能自动规避空指针异常。优势省略findViewById
2020-12-11 11:20:12
439
原创 Python:循环的语法
for…in循环依次把List或者Tuple中的每个元素迭代出来:>>> names = ['Michael', 'Bob', 'Tracy']>>> for name in names: print(name)MichaelBobTracyrange()函数:可以生成一个整数序列,通过list()函数可以转换成List>>> list(range(10))[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>
2020-11-24 12:15:07
109
原创 Python: if 条件判断
if条件判断可以根据不同的条件判断出不同的内容,根据Python的缩进规则,如果if语句判断是True,就把缩进的代码内容执行了,否则什么都不做。特点:从上至下判断,如果有符合的条件,则不往下面执行了。这里通过一个小例子来显示:小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻18.5-25:正常25-28:过重28-32:肥胖高于32:严重肥胖用if-elif判断并打印结果:>>>
2020-11-23 17:52:09
329
2
原创 Python:使用List和Tuple
ListList是Python内置的一种‘列表’数据类型,是一种有序集合:表达方式为:>>> myList = ['coco', 'juce', 'haha']>>> myList['coco', 'juce', 'haha']其中List的元素的数据类型是可以不同的:>>> myList = [1, 'juce', True]且List中可以嵌套List:>>> p = ['asp', 'php']>&g
2020-11-23 17:37:08
217
原创 Android screenOrientation 设置竖屏失效
问题是这样的,当我在AndroidManifest.xml文件中设置如下代码:<activity android:name=".MainActivity" android:screenOrientation="portrait" android:launchMode="singleTask"/>发现,在手机不显示横竖屏切换的时候,页面还是会随着手机的横竖切换而变化。这时只要在BaseActivity里面设置如下代码即
2020-09-22 15:58:25
1707
原创 Gitee.com push项目时报错Permission denied (publickey)
具体报错信息如下:Push failedGit@gitee.com: Permission denied (publickey).Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.造成原因:公钥设置不当导致解决方案:码云的公钥分别要设置两个位置,一个是部署公钥,一个是个人公钥下面介绍两种公钥的生成方式:部署公钥
2020-09-21 15:38:28
1388
原创 仿淘宝、京东商品详情页、视频悬浮效果、tab吸顶效果
这是仿照淘宝的商品浏览详情页,主要实现的效果有: 视频和图片横向Banner浏览效果 视频播放全屏和小窗悬浮效果 tab吸顶效果这是效果实例图:具体完整代码,可以下载demo自行运行查看布局文件:使用的是<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sc
2020-09-14 18:09:58
1343
原创 Android键盘工具类
package com.guocheng.education.android.utils.ui.keyboard;import android.app.Activity;import android.content.Context;import android.graphics.Rect;import android.view.View;import android.view.ViewTreeObserver;import android.view.inputmethod.InputMetho
2020-09-03 11:28:53
130
原创 Android实现淘宝、京东首页浏览效果
CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+Fragment实现淘宝、京东首页效果欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的
2020-09-01 17:22:11
2324
仿照的淘宝商品详情页的浏览demo
2020-09-11
淘宝、京东首页浏览效果、tab悬浮吸顶
2020-09-01
jsp基本语法.pdf
2019-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人