自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

筱筱_之家的博客

努力工作的技术小姐姐,大家要pick吗?

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

原创 常见专业名词整理

CRM:Customer Relationship Management - 客户关系管理。ERP:Enterprise Resource Planning - 企业资源规划。IOT:Internet of Things - 物联网。

2024-04-02 13:55:39 129

原创 TS小记--

从clean-webpack-plugin.d.ts文件的内容可知,导出的是以一个对象属性的形式,所以我们在。安装html插件:html:5快速生成html文件。创建ts配置文件:tsconfig.json。Ts函数重载:需要先定义一系列的函数声明。-g全局安装,保证每个地方都可以使用。安装clean:避免dist文件缓存。安装clean:避免dist文件缓存。创建package.json文件。编写package.json文件。安装:避免dist文件缓存。引入ts-loader。编写config文件。

2024-04-02 13:38:37 405

原创 FFMpeg小记

1)下载:[yasm的下载链接](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz)6)安装:make install(提示:Permission denied,就执行sudo make install)2.ffplay -ss 20 -t 10 input.mp4(-ss设置从s秒开始,播放视频的长度)3)切换路径: cd yasm-1.3.0。4)执行配置: ./configure。2)解压:把下载下来的压缩包进行解压。

2024-04-02 13:36:59 712

原创 PS快捷键记录

设置图像大小时,勾选缩放样式,则图层大小会跟着图像一起放大缩小。新建文档时,按住alt不松,取消会变成复位,可以复位预设。ctrl+k首选项,选择性能,设置保存的历史次数和文件夹。ctrl+O打开文件,勾选图片序列,选择一张图片即可。alt+小眼睛,展开收起其他所有图层。抓手工具:滚动所有窗口,所有图层滚动。图像大小:ctrl+shift+i。图层拖拽+shift,拖到原来位置。移动工具ctrl+移动可以自动选择。ctrl+shift+n新建图层。ctrl+shift+【最下方。ctrl+【向下移动图层。

2024-02-01 10:54:41 215

原创 手机端Https抓包

抓包charless

2023-02-16 10:57:17 457

原创 yyyy-MM-dd HH:mm:ss 大小写解释

日期格式说明

2023-02-15 11:27:24 581

原创 ImageView的scaleType与adjustViewBounds详解

adjustViewBounds适用于在ImageView一边固定,一边为wrap_content的时候,设置成true,Imageview会根据图片的比例伸缩。(因为设置成固定大小时ImageView的宽高是确定的,设置成wrap_content,宽高即为图片宽高,也是确定的)两者区别:adjustViewBounds设置ImageView的大小,确定之后,根据scaleType确定图片在ImageView中的显示。图片处理:FIT_XY:不按原始比例伸缩图片,保证充满ImageViewCENTE

2021-05-07 19:03:07 321

原创 在线测试地址 mp3/mp4

mp3下载:http://downsc.chinaz.net/Files/DownLoad/sound1/201906/11582.mp3http://downsc.chinaz.net/files/download/sound1/201206/1638.mp3mp4下载:https://media.w3.org/2010/05/sintel/trailer.mp4http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4http://vjs.zencdn

2021-03-15 11:15:09 1371

原创 「省略…」中间文本自适应省略实现

产生原因:公司现有需求要求有其中一段文本自适应,之前经验以为不管在什么布局里面,内容只要设置了宽度就一定会显示出来,事实证明,会被文本内容挤走,所以设置的父容器的宽度实质上只是容器宽度,而不是实质的内容宽度,举例如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=

2021-02-01 17:51:11 251

原创 java.lang.RuntimeException: Stub!

java引用了不属于自己的库,比如Android或者其他的系统的类

2020-12-25 17:09:16 1776

原创 activity-alias常见应用

动态更换图标动态替换activity

2020-12-24 10:34:00 535

原创 Android常见属性作用解析

supportsRtl:简单来说就是“支持右到左”的布局,可以通过开发者模式的“强制右到左布局”来查看allowbackup:允许用户备份系统应用和第三方应用的apk安装包和应用数据(会造成恶意备份,造成数据丢失,所以一般设置成false)...

2020-12-24 10:19:29 207

原创 Android R文件常见问题

1.导入新项目,项目可以运行,R文件报红找不到。这种原因通常是R文件太大了(超过了Android Studio的上限25.6M了)AndroidStudio菜单—>Help—>Edit Custom Properties…在文件里添加如下配置:idea.max.intellisense.filesize=5000000...

2020-12-23 16:40:35 204 1

原创 Java的private,default,public,protected

public:可以被所有其他类所访问private:只能被类内部访问,如匿名内部类,内部类,静态内部类只能访问静态元素。protected:当前类,子类,同一包下类访问default:当前类,同一包中的类可以访问,声明时没有加修饰符。...

2020-12-13 21:20:27 97

原创 屏幕适配方案

1.项目中尽量使用dp,sp2.项目中尽量使用wrap_content,match_parent,weight3.图片采用.9图4.使用最小宽度限定符5.通过计算像素比(需要ui出的像素图,并且生成的文件很多),AndroidLayout适配:在代码里面直接修改像素,减少了文件,但是三方控件不能用AndroidAutoSize适配:通过在代码里面直接设置dp值6.刘海屏适配:添加一个固定的高度...

2020-12-09 10:11:28 91

原创 RelativeLayout和LinearLayout的比较

LinearLayout性能优于RelativeLayout在源码当中,由于RelativeLayout是相对布局,布局之间相互依赖,所以当测量完横向布局的时候,还需要进行一次纵向布局的测量,才能最终获得布局的大小,但是LinearLayout由于布局方向确定,在无weight的情况下之测量一次,即使有weight也只是测量部分view的大小。(详细请看源码)注意:在层级深度相同的情况下,建议使用LinearLayout约束布局的优点约束布局是相对布局的进化版,与RelativeLayout的区别在

2020-12-09 09:52:35 1217

原创 Java基础-int值和对象值

public static void main(String[] args) { Integer i = new Integer(100); Integer j = new Integer(100); int k = 100; Integer m = 100; Integer n = 100; System.out.println(i == j); System.out.println(k == i); System.out.println(

2020-12-07 21:26:49 209

原创 Handler消息机制

ThreadLocal中存放的是ThreadLocalMap1.为什么要使用handler?主线程不能执行耗时操作,否则会anr,所以需要用到多线程,如何让知道子线程中的任务何时完成,如何在子线程之间传递数据?所以使用handler实现线程间通信。线程安全主要是通过ThreadLocal实现的1.Handler 的基本原理?handler在子线程中通过sendmessage或者post发送消息到消息队列,然后looper通过looper.loop循环不停的从消息队列出取出消息,然后通

2020-12-04 15:29:45 209 1

原创 mvc,mvp,mvvm之间的区别

mvc:model:业务逻辑层,controller:交互层(activity来控制),view:视图层当需要请求数据时,view通知controller,controller调用model进行业务逻辑请求,请求完成之后,model将数据返回给view优点:将业务逻辑和视图很好的解耦缺点:activity中既是controller又是view,导致activity臃肿mvp:model,presenter,view当需要请求数据时,view通知presenter,presenter调用m

2020-12-04 13:34:03 97

原创 Android自定义View事件分发机制

1.为什么会有事件分发机制?因为在Activity中会有多个view重叠,当点击屏幕上的某个点时,需要知道是谁去处理这个事件。2.事件分发的是什么?什么是事件序列?TOUCH事件,事件序列指的是从用户点击屏幕开始到结束,中间产生的一系列的事件。3.事件有几种类型?MotionEvent.ACTION_DOWN 按下时产生的事件 MotionEvent.ACTION_MOVE 滑动时产生的事件 MotionEvent.ACTION_UP 抬起时产生的事件 MotionEvent.AC

2020-12-04 12:03:53 233

原创 Android自定义view面试

1.view绘制流程:measure,layout,drawmeasure:onMeasure,measureChild,measureChildren,setMeasureDimesion先测量子view的大小,最后测量自身的大小layout:onLayout,setFrame先确定自身的位置,然后调用child.layout()确定子类位置getLeft,getRight都是相对父控件的位置,相对原点的位置是getRawXMeasureSpec:32位,父类传递过来的值和自己的LayoutP

2020-12-03 22:00:06 1324

原创 Java基础

基本类型:int,short,long,byte,double,float,char,boolean引用类型:类,接口,数组,注解,枚举Java的String和StringBuffer和StringBuilder区别:String:是final类,不可更改,所以在代码里一段拼接文本最好不使用+=,因为会创建两个对象。StringBuffer是线程安全的,每一个方法都通过synchronized加锁所以平常使用比较多的是StringBuilder,如果要求线程安全会使用StringBuffer

2020-12-03 13:31:25 85

原创 Java-括号配对算法

public boolean bracket(String s) { Stack<Character> stack = new Stack(); char[] chars = s.toCharArray(); for (int i = 0; i < chars.length; i++) { if (chars[i] == '(' || chars[i] == '[') { stack.push(chars[i]); .

2020-12-02 17:19:18 173

原创 数据结构-判断单链表是否有环-java

//set集合 public boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; } Set<ListNode> listSet = new HashSet<>(); while (head != null) { if (listSet.con.

2020-12-02 15:53:46 75

原创 数据结构-单链表反转-java

1.递归法:时间复杂度O(n)递归的时间复杂度一般看层数,这个层数是n层,每层执行一次操作,所以是O(n)/*原理:把当前结点看做需要递归反转的点*/ public ListNode reverseList(ListNode head) { if(head == null || head.next == null){ return head; } ListNode curr = reverseList(head.nex

2020-12-02 15:21:02 105

原创 数据结构-单链表交换相邻两个元素-java

1.递归法:时间复杂度O/*原理:对每一个结点进行反转*/ public ListNode reverseList(ListNode head) { if(head == null || head.next == null){ return head; } ListNode curr = reverseList(head.next); head.next.next = head; head

2020-12-02 13:18:54 951

原创 数据结构-单链表的头插法、尾插法建立及遍历

//创建结点类class ListNode { int data; ListNode next;}/*头插法头插法原理:定义一个head头结点,之后添加元素在头节点和已有元素之间。*/public ListNode createListHead() { ListNode head = new ListNode(); head.next = null; for (int i = 1; i <= 5; i++) {

2020-12-02 11:58:35 2332 1

原创 Android Studio无法调试 Couldn‘t attach to process

方案1:端口被占用,需要杀死对应进程,但实际上该端口是AndroidStudio在使用。方案2:in android studio: tools->android->enable adb integration(this should be checked) uncheck this, then check again. this solved me this problem. (it restarts the adb integration)。方案3:如果项目引入了so库文

2020-11-03 15:15:19 2818

原创 批量删除本地git分支和远程git分支

批量删除本地git分支:git branch |grep ‘分支的关键字’ |xargs git branch -d批量删除远程分支:git branch -r |awk -F ‘[/]’ ‘/feature_/ {printf “%s\n”, $2}’ | xargs -I {} git push origin :{}样例分支:origin/feature_message...

2020-09-24 10:42:31 247

原创 Android面试

线程池的好处:线程池的重用避免了大多数线程的创建和销毁控制线程的并发数,太多线程同时开启可能会导致内存不够而崩溃管理线程,线程可以定时Art和DalvikDalvik:靠JIT,解释字节码art:靠AOT,在安装时,预编译字节码到机器语言1.占用空间大,安装时间更长2.系统性能提升,启动,运行更快h5在Android上渲染效率低,网页调用设备api比较难React nat...

2019-08-28 14:58:20 87

原创 Android面试-常见设计模式

1.观察者模式:一对多的依赖关系,一个对象状态改变,依赖的对象随之改变2.责任链模式:发送一个请求多个对象处理,将对象串成一条链,在链中决定谁来处理它,最终返回处理对象3.适配器模式:把一个接口转换为用户希望的另一个接口,实现数据和view的转换类适配器和对象适配器4.构建者模式:当一个对象需要很多参数,根据不同的参数可以构建不同的对象,实现复杂对象的构建5.单例模式:保证一个类只有一个...

2019-08-28 14:09:53 367

原创 Android面试-java基础

面向对象:封装,继承,多态封装:把客观事物封装成抽象类,暴露出来一些方法给用户,保护内部数据继承:某个对象获取另一个对象的所有属性和方法多态:类实例的相同方法有不同的表现形式类加载过程:BootStrap,Extension,AppAndroid:Boot即系统的,PathDex已有的即apk的,Dex1.通过classLoader将class加载到虚拟机,生成Class对象2....

2019-08-28 14:00:34 195

原创 volatile关键字的原理、使用场景

在之前学习单例的时候,看到定义变量的时候需要加上这个关键字,所以对于这个关键字查阅了一番资料进行整理。volatile是Java提供的一种轻量级的同步机制,同synchronized相比(synchronized通常称为重量级锁)。synchronized 所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够执行synchronized 修饰的方...

2019-07-26 15:12:18 532

原创 Android LayoutInflater.inflate(R.layout.activity_test, container,false)参数解析

LayoutInflater.inflate()的功能:将一段 XML 资源文件加载成为 Viewpublic View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) { final Resources res = getContext().getResourc...

2019-07-26 13:59:57 2181

原创 Gradle sync failed: Cause: error in opening zip file Consult IDE log for more details (Help | Show

 1、尝试用是 Tools-Android-Sync Project with Gradle Files 重新加载。2.在gradlewrapper-propoties中将下载地址复制到浏览器下载:https://services.gradle.org/distributions/gradle-3.3-all.zip3. 1、下载https://services.gradle.org/distri...

2018-03-02 16:10:23 12583

原创 数据存储

Android数据存储五种方式总结本文介绍Android平台进行数据存储的五大方式,分别如下:       1 使用SharedPreferences存储数据    2 文件存储数据          3 SQLite数据库存储数据    4 使用ContentProvider存储数据    5 网络存储数据下面详细讲解这五种方式的特点第一种: 使用SharedPreferences存储数据   ...

2018-02-27 18:18:35 150

原创 屏幕适配

Android屏幕适配--六大适配方法(你必须知道)屏幕适配u  首先阐释一些术语和概念Ø  屏幕尺寸(screen size):实际的物理尺寸,屏幕的对角线测量。为了方便,Android把所有的屏幕尺寸分为了4个广义的大小:小、正常、大、更大。Ø  屏幕密度(screen density):屏幕占据的物理区域所含像素的个数,通常被称为dpi(dots per inch)即每英寸的像素点数。Ø  ...

2018-02-27 18:15:11 122

原创 viewpager

1.使用FragmentPagerAdapter后viewpage的fragement内容不显示注意:适配器继承FragmentPagerAdapter后 不需要实现isViewFromObject和instantiateItem方法,写了会出现各种问题,我这里就是多写了isViewFromObject方法。PagerAdapter与FragmentPagerAdapter区别:PagerAdap...

2018-02-27 17:26:32 97

原创 day9-phone

1.杀毒界面1.从home界面设置点击跳转到杀毒界面,记得加break 给gv宫格列表的条目注册点击事件        gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView&lt;?&g...

2018-02-27 16:16:33 221

原创 android版本更新代码

package com.itheima.mobilesafe104;import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.ActivityI...

2018-02-24 11:08:50 1270

空空如也

空空如也

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

TA关注的人

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