自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只驴在敲代码

很牛逼的一只驴

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

原创 Android Studio 上 .so文件无法提交到svn上

这里是说, svn在提交时会自动忽略以这些后缀的文件,如果要提交so文件,去掉 *.so 这一项就可以了。windows可以利用svn图形界面化操作,这里就不说了。

2022-08-26 13:34:47 437 1

原创 Android -- WebView 与 JS 交互方式总结

前言现在很多App都选择混合开发模式,即App内置Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等App中加载网页是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现下面是对 Android通过WebView与JS交互 的总结1. 交互方式总结Android与JS通过WebView互相调用的方法,实际上是:A...

2020-12-21 17:29:22 2273 2

原创 Android -- WebView 支持文件下载的几种方式

1. 前言最近在做 Android 混合项目的开发,涉及到 WebView 控件的文件下载功能,这里总结一下。Android 中 Webview 控件默认是不支持文件下载的,需要设置其属性才支持。Webview 实现下载的方式主要有三种:跳转到浏览器下载使用系统的下载服务自定义下载本人能想到的只有三种,如有遗漏,还请赐教~~记得添加 网络权限&文件读取权限,此处忽略不计,不懂请自行百度2. WebView 设置下载监听器Webview 默认是不支持文件下载的,需要给其设置下

2020-12-21 15:40:00 8061 3

原创 Android -- Html5混合开发之WebView调试必备神器DevTools

1.前言Android & Html5 混合开发本身并不难,难点在于Webview加载H5的异常定位。本人最近在开发中遇到一个坑,Webview加载H5页面,当Webview调用H5的js方法将 图片的base64、宽度和高度 这几个参数传给H5后,H5需要根据宽高设置图片显示。webView.loadUrl("javascript:setPNG('" + webViewId + "...

2019-12-04 10:01:50 1487 1

转载 Android -- 自定义 View XML属性详解

1. View的构造函数自定义View必须重写至少一个构造函数 // 如果View是在Java代码里面new的,则调用第一个构造函数 public CustomView7(Context context) { super(context); } // 如果View是在.xml里声明的,则调用第二个构造函数 public CustomView...

2019-11-21 11:46:10 3260

原创 Android Studio 常用快捷键

以下是对 Android Studio 默认风格 的常用快捷键汇总:快捷键说明Ctrl + X剪切Ctrl + D在当前下方复制一行Ctrl + E查看最近打开的文件Ctrl + N查找类名、文件名Ctrl + O显示父类中可复写的方法Ctrl + F类内搜索Ctrl + R查找替换Ctrl + J弹出快捷代码框...

2019-09-16 17:50:20 439

转载 Android -- 高版本http网络请求失败

一、前言为保证用户数据和设备的安全,Google 针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接。因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android...

2019-09-04 11:00:06 3266 2

原创 Android -- RecyclerView中嵌套EditView

一、前言在 RecyclerView 中使用 EditText 嵌套开发,是开发中经常遇到的,由于 RecyclerView 的回收复用机制导致 EditText 出现数据混乱 及 EditText TextWatcher 监听混乱等问题。二、 RecyclerView 中嵌套 EditText2.1 场景(例如:购物车)1、当需要以列表样式管理某些数据时,可能需要列表项的某个字段可编辑...

2019-08-19 14:52:34 2105

转载 Android -- Autosizing TextView 自动调整文字大小

一、前言在 Android 8.0 (API level 26)以上(含26)中,TextView 增加了一个字体大小变动新的特性:Autosizing。

2019-08-19 10:11:27 2803

原创 Error: Cannot fit requested classes in a single dex file

最近写项目,写着写着运行时突然就报错了,运行不起来了,报错如下:Error: null, Cannot fit requested classes in a single dex file (# methods: 67346 > 65536)主要原因项目太大, 已经超过65k个方法, 一个dex已经装不下了,需要个多个dex, 也就是multidex。因为Android系统定义总方...

2019-08-09 10:44:57 602

原创 Android -- 通知栏微技巧,8.0系统中通知栏的适配

1、前言Android 8.0系统最主要需要进行适配的地方有两处:应用图标 和 通知栏。Android 8.0系统应用图标的适配 请看 Android应用图标微技巧,8.0系统中应用图标的适配 。本篇文章,讲的是 Android 8.0系统的通知栏适配。其实在8.0系统之前,还有一次通知栏变动比较大的版本,就是5.0系统。关于5.0系统需要对通知栏进行适配的内容,请看 Android – ...

2019-08-03 15:57:00 480

转载 Android -- 通知栏微技巧,5.0系统中通知栏的适配

前言对于通知栏的使用,Android各个版本其实都有比较大的调整,包括即将发布的Android 7.0版本,通知栏功能上又要有大动作。那么新版本的通知栏API无法兼容老系统这就会是一个很头疼的问题。使用为此 Android 在 appcompat-v7 库中提供了一个 NotificationCompat 类来处理新老版本的兼容问题,我们在编写通知功能时都使用 NotificationCom...

2019-07-13 11:35:36 273 1

原创 Android -- AndroidX库

前言今天在 Android Studio 上新建了个项目,引入 butterknife:10.0.0,运行后居然抛出了异常:Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android...

2019-02-19 14:12:24 7177 1

转载 Android -- 自定义跑马灯

前言Android 里 TextView 控件本身就带有跑马灯的效果,但会存在 EditText 和 Dialog 抢占焦距使跑马灯效果失效等问题。1 TextView 实现跑马灯效果用 TextView 实现跑马灯效果,只需关注5个属性:单行显示单行显示多余部分如何显示,即 ellipsize 属性的设置获取焦点跑马灯重复次数强制的获得了焦点,让 View 响应所有的 touc...

2019-01-24 16:52:10 2054 2

原创 Android -- Intent、Bundle传递map集合

sadas

2019-01-23 16:56:45 2301

原创 Android -- TextView设置空格

1、代码里,空格使用 ( \u3000 ) 生效 textview.setText("你\u3000好");2、xml布局里,空格使用 (& #160;) 和 ( \u3000 ) 都生效<TextView android:id="@+id/textview" android:layout_width="match_parent" ...

2019-01-22 16:11:05 4638

原创 Android -- SharedPreferences保存基本数据、序列化对象、List数据

前言Android提供了五种数据存储方式:使用 SharedPreferences 存储数据文件存储数据SQLite 数据库存储方式使用 ContentProvider 存储数据网络存储数据在 Android 下做持久化的数据存储,大部分是用 sqlite 数据库或 sharepreference。为了少写 sql 语句,大部分都是用 ORM 形式的开源数据库框架,例如 gree...

2019-01-22 14:51:29 6414 2

原创 Android -- 读取assets文件夹下的资源

1 Android 中的资源文件Android 资源文件大致可以分为两种:res/raw 和 assetsres/rawres/raw 目录下存放可编译的资源文件这种资源文件系统会在 R.Java 里面自动生成该资源文件的 ID,所以访问这种资源文件比较简单,通过 R.XXX.ID 即可。assetsassets目录下存放原生资源文件,可以存放一些图片,html,js, css等文件...

2019-01-15 10:45:50 29914 1

原创 Android -- adb forward实现PC和App的通讯

前言使用 adb forward 打造一个通过USB连接建立的PC端与手机端交互的工具,类似于银行里的服务评价器,由PC端发出指令,在手机端(或终端)接收指令并显示页面。1、 adb forward 原理概述adb forward 的功能是建立一个转发如:adb forward tcp:8000 tcp:9000 的意思是,将PC端的 8000 端口收到的数据,转发给手机中的 9000 ...

2019-01-14 16:04:11 7590 2

原创 Android -- Socket通信

1、通信简介安卓与服务端的通信方式主要有两种,一种是 Http 通信,一种是 Socket 通信。Socket 属于传输层,因为 TCP/IP 协议属于传输层,解决的是数据如何在网络中传输的问题Http 协议属于应用层,解决的是如何包装数据两者最大的差异,就是工作方式的不同:Http:采用 请求—响应 方式1、即建立网络连接后,当 客户端 向 服务器 发送请求后,服务端才能向...

2019-01-11 16:13:45 852

原创 React Native -- unable to load script from assets 'index.android bundle'

1、问题描述创建一个 React Native 项目后,用 Android Studio 运行 android 项目,结果跑出异常:unable to load script from assets ‘index.android bundle’ ,make sure your bundle is packaged correctly or youu’re runing a packager ...

2018-11-16 16:34:08 233

转载 React Native -- 注释问题

前面React Native 注释太讲究,动不动就报错,而且很不智能。这里对注释惊醒你一下总结。问题呈现代码如下: //标题栏 ① <View style = {styles.container}> ②<View style = {styles.headerView}>&a

2018-11-08 14:24:24 1463

原创 'Navigator is deprecated and has been removed from this package. It can now be installed ' +

问题描述在 React Native 中,给页面添加 Navigator 跳转组件,报出如下错误:‘Navigator is deprecated and has been removed from this package. It can now be installed and imported from react-native-deprecated-custom-components ...

2018-11-05 11:57:30 785

原创 React Native -- 创建组件的三种方式

1. React Native 创建组件的方式React Native 创建组件有三种方式,分别是:ES6 创建组件 ( 推荐 )ES5 创建组件函数式定义的无状态组件下面分别讲下。2. 创建组件创建一个 HelloComponent.js 文件,写入组件。并在 App.js 中调用 HelloComponent 组件。App.js 代码如下:import React, {C...

2018-10-26 19:06:05 3069

原创 Android Studio -- 关联源码

这里已 SDK 27 为例1、下载 SDK 27 源码打开 SDK Manager,选中 SDK Platform,选择勾选 Show Package Details,选中 SDK 27 的源码,下载下载完后,找到 SDK 所在目录,可查看源码(我的所在路劲:C:\Users\rs\AppData\Local\Android\sdk\sources)2、关联源码打开 SDK 所在目...

2018-10-23 14:09:25 512 1

原创 React Native -- java.lang.string cannot ...uimanager.accessibility DelegateUtil$accessibilityRole

问题描述:给页面添加 Button 组件,运行时却报出错误:java.lang.string cannot be cast to com.facebook.react.uimanager.accessibility DelegateUtil$accessibilityRole代码如下:import React, {Component} from 'react';import {Pla...

2018-10-18 17:01:53 1495

原创 React Native --bundling failed: Error: Unable to resolve module /../react-transform-hmr/lib/index.js

前言第一次运行 React Native,各种问题,坑死!!!这里总结几个 bug 。此处针对的 React Native 版本为"react-native": "0.57.2"问题一shangguanluludeMacBook-Pro:Reatc Native shangguanlulu$ rea

2018-10-15 14:00:25 1336

转载 Android 实现TextView字符串关键字变色

1. 字符串关键字变色在界面显示的时候,偶尔需要将某些字符串中特定的字符串重点标出,如图:这个方法针对于比较 固定的字符串 ,并且需要自己 计算 需要变色的文字 位置。public static CharSequence setColor(Context context, String text, String text1, String text2) { SpannableString...

2018-10-08 16:32:10 2864 1

转载 Android LayoutInflater动态添加子View的属性生效问题

1. 前言最近在做动态添加 View 的效果,给动态添加的 View 设置了 margin 属性,但却总是被忽略,不起作用。原因是出在 LayoutInflater 上。LayoutInflater 有三种加载方式,但是想要使动态加载的view的属性生效,实际上取决于我们使用的 LayoutInflate r的方法。2. 获得 LayoutInflater 的三种方式获得 LayoutIn...

2018-10-08 15:47:46 2552

转载 Android自定义控件 -- 带边框的TextView

1. 前言原来使用带边框的 TextView 时一般都是用XML定义来完成,在drawable目录中定义如下所示的xml文件

2018-10-08 11:51:59 2153

转载 Android自定义控件 -- 带有边框的RelativeLayout、LinearLayout

前言开发的时候总会遇到一些分割线,可以用一个View或者一个ImageView来绘制一条比较细的分割线,在布局写多了,感觉很麻烦,而且显得代码不优雅,所以一个带有边框的ViewGroup对开发会方便很多。1. 实现1、自定义属性,在 attr.xml 文件中写入<!--边框的view,可以是 RelativeLayout 或 LinearLayout --&g

2018-09-14 16:27:43 3392

原创 解决插件ButterKnife在Library中使用的坑

前言ButterKnife是控件注入框架,可以帮助安卓开发者省去初始化控件的重复性工作,简单快捷地初始化布局文件中的控件,极大地提升开发效率。1. 背景在一般app中我们都是单组件开发,即只有一个主moduel,所有代码不管是java,xml,资源,依赖库都在app中,此时使用 ButterKnife 是非常简单的,参考 GitHub 官方文档 就可完成。2. 问题但是...

2018-06-05 11:24:39 2900 2

转载 Android 动画:插值器与估值器

前言动画的使用是Android中常用的知识可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策Android中 补间动画 & 属性动画实现动画的原理是: 其中,步骤2中的 插值器(Interpolator)和 估值器(TypeEvaluator)是实现 复杂动画效果的关键这里,将详细讲解 插值器(Interpolator)...

2018-05-29 14:19:52 317

转载 属性动画

动画分类 相关文章 View 动画这里介绍属性动画1. 属性动画出现的原因属性动画(Property Animation)是在 Android 3.0(API 11)后才提供的一种全新动画模式。 那么为什么要提供属性动画(Property Animation)?1.1 背景实现动画效果在Android开发中非常常见,因此Android系统一开始就提...

2018-05-28 14:47:09 265

转载 View 动画

动画分类Android动画总体分为两类:传统动画 和 Android3.0 之后出现的属性动画。 传统动画又分为两类:帧动画(Frame Animation)和补间动画(Tweened Animation)(补间动画也可以叫View动画)。传统动画帧动画帧动画是最容易实现的一种动画,这种动画更多的依赖于完善的UI资源,他的原理就是将一张张单独的图片连贯的进行播放,从而在视觉上产生...

2018-05-17 16:10:09 581

转载 Android Studio 3.1更新注意事项

1、gradle版本AndroidStudio3.1对应的gradle版本为4.4 同时:此处版本同Android Studio版本 2、compile使用compile依赖包都要替换为api或implementation,否则会一直gradle失败,出现如下提示: 替换为如下: **api:前面用此引用的架包,可被依赖包所引用 implementatio...

2018-04-02 17:20:31 6001

原创 多窗口模式的什么周期

Android 7.0中支持多窗口任务处理,即多窗口模式。所谓的多窗口模式,就是在大屏幕设备中,同时打开两个应用程序,如你可以一边网上冲浪,一边发微信给自己的朋友。 这里看下多窗口模式下的生命周期。多窗口模式下的生命周期将build.gradle中的targetSdkVersion设置为24(或比24更高),创建项目并在各个生命周期上加入Log日志:public class ...

2018-03-26 16:32:14 724

转载 adb的配置及Logcat日志输出成文件

Logcat日志输出成文件之前,要先配置adb。adb介绍adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、系统升级、运行shell命令等。adb配置如果没有配置过adb或adb配置错误,在使用adb命令的时候会出现:“’adb’ 不是内部或外部命令,也不是可运行的程序或...

2018-03-02 14:34:29 6747

原创 听云App接入总结

听云App接入总结在app中接入听云,可以高效率的捕获异常信息,是一款比较好用的统计分析工具,核心功能有:崩溃分析,交互分析,网络请求分析,错误分析,ANR分析等。 在接入听云App的过程中,遇到了一些坑,在这里做个总结。注意事项本文只针对Andorid Studio开发工具。1、添加听云符号表插件 apply plugin: ‘newlens’添加这个插件...

2018-03-01 14:19:05 8310

转载 自定义Behavior实现快速返回效果

利用recyclerView的上下滑动来使FloatingActionButton显示或隐藏,点击FloatingActionButton使recyclerView快速滑动到顶部。实现这个这个功能,主要涉及三个知识点,悬浮按钮(FloatingActionButton),自定义Behavior,以及解析并解决sdk25以上FloatingActionButton只隐藏不显示的问题。本次开发环境基于s

2017-12-04 11:48:35 408

空空如也

空空如也

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

TA关注的人

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