自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术上的那点事

好记性不如烂笔头

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

原创 ScrollView 内部子布局如何填充满屏幕

ScrollView 包含一个ViewGroup, 在ViewGroup中填充内容,超过一屏就滚动。但是发现一个问题,在内容不超过一屏的情况下,设置子内容高度为:match_parent ,并不能起到布满屏幕的作用。并且编辑器还提示子布局建议用wrap_content.布局代码如下: <ScrollView android:id="@+id/touch_layout" android:layout_width="match_parent" and

2020-08-12 17:14:57 1232 1

原创 GitLab-视图窗口合并代码

先发起一个合并请求(发起合并的入口有好几个地方)下面是第一种还有第二种:填写合并的相关信息 (审核人的权限必须是master权限以上,不然是没有审核权限的)提交合并请求之后,审核的人登录账号之后会在顶部有一个审核提示,点击对应的合并请求进行审核进行审核 ,然后合并代码这样就可以到对应的分支上看到相关的提交内容了。...

2020-03-10 14:33:22 6018

原创 AndroidStudio SSL peer shut down incorrectly 问题

AndroidStudio 编译时出现如下问题 SSL peer shut down incorrectly 或者某些jar包下载不下来,一般是因为墙的原因导致的。这时候我们就需要配置镜像来解决这个问题(提高加载速度)。配置的方法就是在根build.gradle中添加镜像仓库。可以选择添加阿里的maven 仓库maven { url ‘http://maven.aliyun.com/nexu...

2019-09-23 19:32:04 905

原创 Android Handler(说说我的理解)

前言:一个Android开发者应该都用过Handler,而且应该说对它的用法都很熟悉。最简单的使用案例:// 1. new 一个Handler 实例,并重写handlerMessage方法private Handler mHandler = new Handler(){ public void handleMessage(Message msg){ mTextV...

2019-03-27 18:11:15 429

原创 java设计模式-桥接模式

概念:先把所谓的官方定义拿出来瞅瞅:桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。在桥接模式结构图中包含如下几个角色:●Abstraction(抽象类):用于定义抽象类的接口,它一般是抽象类而不是接口,其中定义了一个Impleme...

2019-03-15 15:56:31 1180

原创 java设计模式-适配器模式

定义:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。概念:适配器模式是一种结构型模式,对类对象进行结构上的组合,解决一些代码结构问题。 适配器这个词简单的解释就是对接,把两个原本没有办法连接转换的事务进行一个对接,转换。如果是放到代码上来理解的话就是通过代码进行一个替换。把需要被替换的部分换成新的部分。下面举个例子就是...

2019-03-14 13:41:45 460

原创 java设计模式-建造者模式

概念: 上一篇记录的是设计模式中的工厂模式(https://blog.csdn.net/ysq_chris/article/details/88350990),和工厂模式一样,建造者模式也是对象创建型模式,可以创建一些复杂的对象。看过一些介绍后很多时候会有一个疑问,建造者模式和工厂模式有什么不一样,适用的场景有不同吗?开发过Android的同学都应该知道,Android中的对话框(eg:Aler...

2019-03-12 20:08:01 240 1

原创 java设计模式-工厂模式

概念:工厂模式根据实现的方式,简单工厂模式、工厂方法模式、抽象工厂模式,他们是层层递进的,实现的复杂性和应用场景都是不同的。下面对不同的设计模式一 一进行学习和记录。1. 简单工厂模式简单工厂模式是属于创建型模式,又叫做静态工厂方法(static Factory Method)模式,简单工厂模式是由一个工厂对象决定创建出来哪一种产品类的实例.简单的说创建一个工厂类,工厂类有一个静态的方法,...

2019-03-12 13:38:33 139

原创 面向对象编程设计模式之-六个基本原则

设计模式概念:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。当有人问起面向对象设计模式的时候,我们脑海里多少能浮现几个设计模式的用法,例如什么单例、工厂等。但很多时候我们在...

2019-03-07 18:44:57 454

原创 Fragment的onCreateView方法注意点

系统会在片段首次绘制其用户界面时调用onCreateView方法。 要想为您的片段绘制 UI,您从此方法中返回的 View 必须是片段布局的根视图。如果片段未提供 UI,您可以返回 null。Fragment默认有预加载的功能,默认是预加载左右各一个fragment实例,在预加载的时候会调用onCreateView 方法,当切换Fragment的时候会调用onDestoryView, 但是并不会...

2019-02-21 16:33:55 6814

翻译 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

说明:当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是 Android 非常关注的事情。用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现有应用应该不会出问题。这就是 compileSdkVersion, minSdkVersion 和 targetSdkVe...

2019-02-21 14:33:54 155

原创 Process 'command 'xxx.java.exe'' finished with non-zero exit value 2

编译过程中一直提示这个错误,尝试解决,也从网上看各种解决方案,最后发现是因为在 gradle 配置中在dependencies中依赖了一个lib库:compile project(':framework_door')同时在libs文件夹下放了这个库的jar文件包导致同一个的两次引用错误,这个是不是错误提示中最后面的 value 2 中的2 就代表这个错误,还不得而知,仅是猜测。在我的项目中...

2018-12-04 16:47:02 1519 1

原创 Androidstudio编译jar和aar

在Android项目中经常会需要导入一些第三方的jar文件或者aar文件, 同时我们也会有把我们自己项目编译成jar或者aar文件提供给其他人使用。在Android studio(后文简写as)不同2.0和3.0版本中生成的文件存储路径也有些不同。做一个记录,以防再入坑。1.首先简单介绍aar和jar文件: jar:只包含class文件与清单文件,不包含资源文件,如图片等所有res中的文...

2018-07-16 16:09:07 4397

原创 设置Android Studio默认启动时打开欢迎界面

在windows系统上的Android studio版本默认打开看到的是上一次最后关闭的页面,虽然有一定便利。但是有时候项目多的时候想切换项目的时候就不太方便了。需要打开项目后再通过file-&gt;open 去打开其他项目。想要直接打开欢迎界面,也就是Welcome to Android Studio界面,在这里选择我最近打开过的工程,则可以通过设置Settings来设置:1.先通过...

2018-07-16 10:48:47 14428 1

翻译 新编译器D8

新的DEX编译器,D8 默认情况下,Android Studio现在使用名为D8的新DEX编译器。DEX编译是将.class 字节码转换.dex为Android Runtime(或Dalvik,适用于旧版Android)的字节码的过程。与之前的编译器(称为DX)相比,D8编译速度更快,输出更小的DEX文件,同时具有相同或更好的应用运行时性能。D8不应该改变您的日常应用开发工作流程。但是,如果...

2018-07-13 17:19:50 1577

原创 ...\build\intermediates\res\resources-official-release-stripped.ap_' specified for property 'resourc

编译apk的时候遇到下面的问题: Error:A problem was found with the configuration of task’:uhome_app:packageOfficialRelease’. File ‘D:\segi_workspace\branches\uhome\uhome_huarun\joylife_v1.2.0\uhome_app\build...

2018-07-12 21:05:43 456

翻译 安卓网络基础

网络数据是应用的主要数据来源,对于一个应用来说连接到互联网是最基本的需求,也是最常用的功能。但是网络总是存在各种各样的稳定性问题,而如何避开这些问题,实现一个稳定的,交互流畅的应用是对开发人员的基本要求。以下总结了一些网络操作的基楚知识和注意点。1.使用网络的权限: 使用网络请求必须要添加的两个请求&lt;uses-permission android:name="android...

2018-07-11 16:38:35 204

原创 安卓Dialog屏蔽空白区域和物理返回按键的作用

在开发过程中,弹出的Dialog表示正在进行某项后台操作,提示用户等待,而且有些情况下不希望用户手动操作去关闭Dialog,打断这个操作。此时有两种情况 1.用户点击对话框视图其余的空白处 2.用户点击了手机的物理返回按钮AlertDialog.Builder builder = new AlertDialog.Builder(context);//实例化一个对话框屏蔽点击空...

2018-07-10 11:02:46 983

翻译 View的渐变动画效果(代码实现)

渐变动画(也叫消失)通常指渐渐的淡出某个UI组件,同时同步地淡入另一个。当App想切换内容或View的情况下,这种动画很有用。渐变简短不易察觉,同时又提供从一个界面到下一个之间流畅的转换。如果在需要转换的时候没有使用任何动画效果,这会使得转换看上去感到生硬而仓促。xml布局&lt;LinearLayout xmlns:android="http://schemas.androi...

2018-07-09 15:30:12 1238

翻译 缓存Bitmap

1.使用内存缓存(Use a Memory Cache) 内存缓存以花费宝贵的程序内存为前提来快速访问位图。LruCache类(在API Level 4的Support Library中也可以找到)特别适合用来缓存Bitmaps,它使用一个强引用(strong referenced)的LinkedHashMap保存最近引用的对象,并且在缓存超出设置大小的时候剔除(evict)最近最少使用到的对象...

2018-07-09 14:25:50 290

翻译 android App分享和接收数据

1.分享文本内容(Send Text Content) ACTION_SEND最直接常用的地方是从一个Activity发送文本内容到另外一个Activity。例如,Android内置的浏览器可以将当前显示页面的URL作为文本内容分享到其他程序。这一功能对于通过邮件或者社交网络来分享文章或者网址给好友而言是非常有用的。下面是一段Sample Code:Intent sendIntent = n...

2018-07-07 11:02:18 1497

翻译 安卓相机基础

1.请求使用相机权限如果拍照是应用的必要功能,那么应该令它在Google Play中仅对有相机的设备可见。为了让用户知道我们的应用需要依赖相机,在Manifest清单文件中添加标签: &lt;manifest ... &gt; &lt;uses-feature android:name="android.hardware.camera" andr...

2018-07-07 10:54:55 441

翻译 控制音量与音频播放

Android为播放音乐,闹铃,通知铃,来电声音,系统声音,打电话声音与拨号声音分别维护了一个独立的音频流.默认情况下,按下音量控制键会调节当前被激活的音频流,如果我们的应用当前没有播放任何声音,那么按下音量键会调节响铃的音量。1.设置需要控制的音频类型 AudioTrack Java API 音频流类型: Stream Type Description STR...

2018-07-06 18:06:52 1347

翻译 android App分享和接收数据

1.分享文本内容(Send Text Content) ACTION_SEND最直接常用的地方是从一个Activity发送文本内容到另外一个Activity。例如,Android内置的浏览器可以将当前显示页面的URL作为文本内容分享到其他程序。这一功能对于通过邮件或者社交网络来分享文章或者网址给好友而言是非常有用的。下面是一段Sample Code:Intent sendIntent =...

2018-07-06 17:14:42 1589

翻译 Android Intent的使用

Android中最重要的特征之一就是可以利用一个带有action的intent使当前app能够跳转到其他app。我们必须使用intent来在同一个app的两个activity之间进行切换。通常是定义一个显式(explicit)的intent,它指定了需要启动组件的类名。然而,当想要唤起不同的app来执行某个动作(比如查看地图),则必须使用隐式(implicit)的intent。1.建立隐式...

2018-07-05 17:04:32 301

原创 Android File 文件存储

Android使用与其他平台类似的基于磁盘的文件系统(disk-based file systems),在Android文件系统上使用 File 的读写APIs对Andorid的file system进行读写.File 对象非常适合于流式顺序数据的读写。如图片文件或是网络中交换的数据等。1.存储在内部还是外部 所有的Android设备均有两个文件存储区域:”internal” 与 “ex...

2018-07-04 15:40:01 584

原创 SharedPreference使用

SharedPreferences简介 为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。一.获取到应用中的SharedPreferences的...

2018-07-03 15:07:51 10397 1

原创 ScrollView 嵌套ListView、ExpandableListView等列表

很多时候在需求上不仅仅是ListView等列表单独滑动,而是在ListView等列表上加上其他的试图,整个试图整体一起滑动,这个时候就会用到ScrollView嵌套ListView等列表试图一起使用。 如下图所示: 但ScrollView嵌套Listview等列表试图比我们预想的实现起来要困难。会有以下的一些问题 1、ScrollView 和 ListView 滑动冲突 2、 Listv...

2018-06-25 17:05:06 1762

原创 CheckBox和RadioButton设置背景变形

在使用CheckBox 和 RadioButton 的时候一般会有以下需求:需要去掉系统带的默认勾选框 android:button=”@null”设置自己需要的背景图片 android:background=”@drawable/icon_select”如上设置之后出现背景图片变形,如下图的左边图形看到的那样。 这个时候要解决变形的问题,可以设置以下CheckBox和Ra...

2018-06-23 17:36:34 1190

原创 单选列表和复选列表

经常需要在应用中使用单选和多选列表,单选和多选列表有些是固定选择项的,有些是不固定选择项数目的,需要根据数据个数类型等动态生成单选或者多选列表。一. 先来说说单选列表:单选列表的首选方案是RadioGroup (1) 下面是固定选项个数的RadioGroup实现的单选列表,固定列表可以直接在xml中如下定义&lt;!--&lt;RadioGroup androi...

2018-06-23 16:49:38 2047

原创 按标题分组显示的ListView

最近项目中需要做一个按标题分组的ListView,要实现的效果如下图 标题是月份,在按月份的数据是改月份的账单数据。开始想的就是在列表的某个位置插入另一个布局,其他的地方和普通的ListView一样。并不知道该在那个位置插入这些标题。所以需要在数据上进行处理,另外需要知道每个item位置应该用什么类型的item view。具体实现如下:1.先对数据进行处理: 需要处理的json...

2018-06-22 20:22:59 2767 4

转载 关于Android Studio无法查看详细的源代码问题解决

转载借鉴:glc_csdn的博客 https://blog.csdn.net/glc_csdn/article/details/53993903 android studio 查看android源码的时候,只能看到class文件,无法看到java源码,android 源码包下面已经下载了相应的包。 但是android studio 中出现的情况如下截图 解决办法: 1.首先找到A...

2018-06-22 17:44:28 4590

转载 ListView的Item根布局layout_margin无效分析

**listView每个item之间的边距设置 ,一开始的想法是在item 的根布局设置margin 属性,但是在listView 中margin无法生效,padding是有效的,所以在此研究下失效的原因。 解决办法就是在根布局中再加一层布局, 新增根布局的下一次布局设置margin. 如果可以给根布局设置padding解决问题的话,设置padding也可**解决方法第一种,设置pa...

2018-06-22 17:30:08 1842

原创 thinking in Java-面向对象(抽象与接口)

一 概要 抽象是面向对象编程的三大特性之一,另外两个是继承(参考https://blog.csdn.net/ysq_chris/article/details/80100793)和多态(参考https://blog.csdn.net/ysq_chris/article/details/80206127)。接口和抽象类能体现Java的抽象的特性。接口和抽象有很多相同的地方,然后也有不同的地方。

2018-05-10 23:12:05 195

原创 蓝牙总结

蓝牙技术简介蓝牙诞生于 1994 年,作为有线传输的无线替代方案,其理念是使用无线电传输(亦即无线传输)来交换数据。蓝牙这个名字来自十世纪的一名丹麦国王 (Harald Blåtand),英文名为哈拉尔·蓝牙 (Harold Bluetooth)。据说,蓝牙å王统一了四分五裂的交战派,亦即现在的挪威、瑞典和丹麦。同样地,蓝牙技术的诞生成为一种开放式标准,让离散的产品和行业可以建立联系和

2018-05-10 21:05:33 917

原创 thinking in Java - 面向对象(多态)

一 . 概念 多态是面向对象编程的三大特性之一, 其余两个抽象和继承(参考https://blog.csdn.net/ysq_chris/article/details/80100793)。很多地方把多态的概念说的很抽象不好理解。我简单的总结理解就是: 一个父类型引用句柄可以被子类型代替,可以实现类型上溯 一个子类型对象被一个父类型的句柄所引用。1. 先理解一下绑定这个概念 将一个方法调用同

2018-05-05 16:34:46 207

原创 Java 关键字 final

关键字 final final 关键字最普通的意思就是表明“某一个部分是不能改变的”。之所以要禁止改变,主要有两个方面的考录:效率和稳定。 final在Java中可以修饰成员数据、方法 和类。一 . final数据 数据的恒定不变是很有用的,它能够减轻系统运行时的负担。对于这些恒定不变的数据我可以叫做“常量”。“常量”主要应用与以下两个地方:1、编译期常量,永远不可改变。 2、运行期初始化时,

2018-05-05 11:48:16 103

原创 new对象 错误 :is not an enclosing class

在一个类里面定义了另一个类,在外部实例化该类的时候提示上面的错误,具体分析理解如下: 先上示例代码:public class A{ public class B{ }}在A类中定义s了一个新的类B。要创建一个A实例,错误的方法是:A.B b= new A.B(); //编译提示 is not an enclosing class (B不是一个封闭类)正确的方法:A a = ne

2018-05-04 16:58:26 3411

原创 Java this 关键字

Java是面向对象编程的,我们操作都是一个个对象,每个对象通过new生成,A a = new A(); 类A被new出来之后就在堆上分配了一定的空间。而在栈上会保存一个句柄引用a,引用a指向的就是这个对象的堆数据区域,通过这个句柄a就能对该引用指向的对象进行操作。在一个对象内部,需要进行内部调用的时候,java提供了一个this关键字来表示当前对象或者是“本对象”。关键字this的使用场景1.构造方

2018-05-02 15:33:54 194

原创 自适应高度的ListView(限定最大高度)

现在公司的项目有一个需求,需要弹出一个对话框,对话框中的中间内容是一个列表,但是由于是对话框显示,所以显示的内容不能过多,会影响美观。当内容只要1条的时候ListView的高度就是包含1条内容的高度,2条就显示2项对应的高度,但是超过3条和3条以上的时候都只显示3项内容的高度。图片如下: 现在显示的是出所有的项,需求是但超过三项的时候显示出来三项,其余的滑动出来。 代码如下: 1. List

2018-04-28 17:09:07 9447

空空如也

空空如也

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

TA关注的人

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