![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
--------【Android】
文章平均质量分 62
赏金术士
分享android开发中的一些心得
展开
-
空包打包签名
Android APP空包签名原创 2023-01-13 10:58:44 · 827 阅读 · 1 评论 -
阶段性内容总结
1、Android实现代码画虚线边框背景效果原创 2021-06-11 16:02:48 · 98 阅读 · 1 评论 -
recyclerView使用 ExpandableTextView 列表展开收起功能
1、需求: 文字列表中展示收起和全部2、采用RecyclerView 实现列表,网上查找了许多展开收起的样式,实测结果不如人意,2.1 设置了最大展示行数之后,出现了展开之后,收起出错的问题2.2 显示文字的View错位的时候,点击“收起/展开”事件无效。设置了点击事件,实际没有执行 onInterceptTouchEvent 中 mAnimating引起3、解决方式借鉴方案:关于ExpandableTextView几点优化解决方案:点击跳转4、工具类package xxx;impo原创 2021-06-11 16:00:53 · 812 阅读 · 0 评论 -
android 视频置顶悬停,下面等内容可以滑动效果
1、需求: 页面头部是一个 视频,下面是章节内容和评论内容,要求视频播放时,视频在头部悬浮不能滑动, 下面的评论内容可以向上滑动, 视频暂停时,视频可以跟着布局一起向上滑动,如图网上之前看过类似的需求,也没有太多网友解答 ,详见:android 界面上滑时如何控制视频控件置顶悬浮,但还能保证还能接着播放2.实现:2.1 阿里播放器AliyunVodPlayerView SurfaceView实现,由于 SurfaceView不能支持平移等动画,采用网上提供的StickScrollView原创 2021-03-31 19:50:21 · 531 阅读 · 0 评论 -
Android studio模拟器启动失败 The emulator process for AVD Pixel_2_API_29 was killed
路径中不能携带中文 : 解决方法: 修改 Android Studio 模拟器的默认安装位置(只需要在环境变量中配置 ANDROID_SDK_HOME 为你想要存放模拟器的位置即可)需要安装 intelx86 emulator Accelerator(HAXM installer)路径举例:D:\sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe 下载完成之后,点击安装,如安装失败,请关闭电脑,打开.原创 2020-12-11 14:24:03 · 4008 阅读 · 0 评论 -
Android-AndroidX的迁移
AndroidX简介:我们来大致了解一下,到底什么是AndroidXAndroid 9.0(API level 28)发布时,AndroidX也作为一个新的支持库发布出来了。AndroidX时Jetpack的一部分,它包含了现有的支持库和最新的Jetpack组件。AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库(android.support.v7或android.support.v4),不仅提供同等的功能,而且提供了新原创 2020-11-19 17:13:37 · 365 阅读 · 0 评论 -
ButterKnife 8.x 基本使用
1.在Activity中使用 :在setContentView设置之后使用: ButterKnife.bind(this);//butterKnife绑定注解器2.在Fragment中使用: private View rootView; private Unbinder bind; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc原创 2020-09-01 09:37:24 · 190 阅读 · 0 评论 -
近期相关总结,微信支付/应用商店/FileDownLoader/编码转换/流式布局
1.Android微信支付回调区分总的来说就是在request中使用 request.extData 字段进行自己业务的区分,比如 充值/支付/分享等private void wxPay(WeiPayModel.ResultData data,String payOrRecharge) { IWXAPI api = WXAPIFactory.createWXAPI(mContext,Constant.APP_ID_WX); api.registerApp(Constan原创 2020-08-18 16:11:53 · 227 阅读 · 0 评论 -
Lint found fatal errors while assembling a release target.
错误信息:调试的时候,都没有问题,但是在打包的时候,报出下面的错误Lint found fatal errors while assembling a release target.To proceed, either fix the issues identified by lint, or modify your build script as follows:...android { lintOptions { checkReleaseBuilds false转载 2020-07-28 16:44:46 · 197 阅读 · 0 评论 -
Gradle配置lintOptions
int检查对于app来说也是很重要的,可以检查出很多问题。android { lintOptions { // true--关闭lint报告的分析进度 quiet true // true--错误发生后停止gradle构建 abortOnError false // true--只报告error ignoreWarnings true // true--忽略有错误的文件的全/绝对路径(默转载 2020-07-28 16:39:36 · 179 阅读 · 0 评论 -
日常搬砖 - 腾讯X5 tbs 文件预览
源自: https://www.jianshu.com/p/b54f65d8b5a7其实吧,网络上很多 X5的教程。我只是想写一点 我遇到的问题吧。https://x5.tencent.com/tbs/sdk.html上面是官网下载地址。Android studio 可以直接 导入,很方便。像这个样子。api ‘com.tencent.tbs.tbssdk:sdk:43697’然后听说 需要 兼容一些 cpu。需要导入一些 .so 文件,和一些配置。像这个样子。配置像这个样子。vecto转载 2020-07-17 14:04:21 · 1686 阅读 · 0 评论 -
查看 gradle依赖关系,以及去除重复依赖包
1、如何查看 as 中 包之间的依赖关系可以得到类似以下层级依赖关系------------------------------------------------------------Project :appdebugAndroidTestCompileClasspath - Resolved configuration for compilation for variant: debugAndroidTest+--- com.android.support.test.espresso:es原创 2020-07-17 13:44:44 · 2905 阅读 · 0 评论 -
Android半边圆角实现之shape
1.类似以下需求2.实现步骤第一步:就是在res/drawable中创建half_shape.xml(命名主要看个人)<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置背景填充色...原创 2019-10-31 11:33:58 · 1959 阅读 · 0 评论 -
webView监听是否滑动到底部
在使用webView时,经常需要知道webView滑动了多少,是否滑动到底部,webView高度是多少等等?其实webView 中有个方法onScrollChanged()函数可以计算滑动高度等1.实现1.1、自定义webView public class MyWebView extends WebView { public ScrollInterface mScrollInterface;原创 2017-02-16 13:57:27 · 3925 阅读 · 0 评论 -
EventBus使用详解(一)——初步使用EventBus
一、概述 EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。 1、下载EventBus的类库 源码:https://github.com/greenrobot/EventBus2、基本使用(1)转载 2017-02-10 10:21:51 · 224 阅读 · 0 评论 -
horizontalscollview实现今日头条首页动态改变tab
先看效果图:思路:1,关于tab栏目横着滑动功能控件的选择,这里我采用的HorizontalScrollView,每个tab采用动态创建的方式。至于为什么没有选择流行的TabLayout,是因为项目后期需求需要每个tab有一个长按的响应事件,但是TabLayout的长按事件不知道怎么回事,总是无法响应,(有空会去研究)。2,对栏目进行编辑界面的功能介绍:①栏目分为当前用户栏目和当前用户没有选择的栏目转载 2017-02-28 13:24:39 · 659 阅读 · 0 评论 -
onWindowFocusChanged重要作用
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。 译注:从onWindowFocusChanged被执行起,用户可以与应用进行交互了,而这之前,对用户的操作需要做一点限制。比如我们在做OTT项目时候,我们就是在这onWindowFocusChan转载 2017-02-28 13:56:10 · 285 阅读 · 0 评论 -
解决listView设置 fadingEdge不管用,滑动到底部和底部时两边仍然有蓝色
在xml属性中设置:android:overScrollMode=”never”原创 2017-01-19 17:19:13 · 1006 阅读 · 0 评论 -
android studio修改项目包名
闲暇之余使用了一下androidstudio,这里对androidstudio更改项目包名做一下总结,因为自己在改包名的时候走了不少弯路,为自己mark一下,闲话少说无图无真相,直接上操作步骤: 首先说明一下androidstudio更改引用包名不如eclipse方便,只能一个一个改,且在manifest文件和build.gradle中要手动更改包名。1、更改build.gradle中的applic原创 2017-01-19 17:34:02 · 789 阅读 · 0 评论 -
EventBus使用详解(二)——EventBus使用进阶
一、概述前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是:1、onEvent 2、onEventMainThread 3、onEventBackgroundThread 4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念:告知观转载 2017-02-10 11:00:42 · 220 阅读 · 0 评论 -
关于android使用ksoap2报Caused by: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to or
Caused by: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject报这种类似的错误的,困扰了我挺久。偶尔报不是一直报。原来是少了一个判断,因为服务器每次返回的不一定是我们想要的结果。见图困惑了好久,最后在 stackoverflow 里面原创 2017-02-23 13:23:04 · 908 阅读 · 0 评论 -
Ksoap2-android 添加网络超时的实现
最近做一个项目,用的Ksoap2进行的WebService调用,开始的时候没有发现什么问题,后来测试的时候发现,当在测试环境没有外网ip的时候进行登录的时候总是提示正在登录,很长时间没有反应。因为当时手机用的是3G网络,根本访问不到测试的地址,这时问题就这样出现了,查看Ksoap的API根本没有设置网络超时的相关方法,只能求助网络进行解答,可是费劲了各种力量还是没有找到可行的解决方案,最后在仔细观察转载 2017-02-23 13:26:11 · 759 阅读 · 0 评论 -
解决adb not responding if youd like to retry...错误
Android Studio 老提示adb问题,restart后任然无解,最后发现某手机助手软件占用端口…解决步骤: cmd进入 C:\Users\xxx>netstat -ano | findstr “5037” TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 6040 TCP转载 2017-02-27 14:19:17 · 467 阅读 · 0 评论 -
HTTP协议状态码详解(HTTP Status Code)
使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部原创 2017-02-16 10:44:19 · 279 阅读 · 0 评论 -
IP地址分类
现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。 IP地址类型 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与原创 2017-02-16 13:44:57 · 203 阅读 · 0 评论 -
关于用java编写生成word文档,动态添加数据到word文档的一些心得
关于用java编写生成word文档,动态添加数据到word文档的一些心得,经过翻阅了无数的有用的和无用的资料以后,总算找到了一种靠谱的方法1.概述经过反反复复的查阅资料,总算找到了一个靠谱的生成word的方案,这里分享给大家. 2.需求首先我们的需求是通过一个指定的word模板来生成新的word并且填充内容,内容是我们在布局页面上面就写好的,比如说EditText,TextView,或者是图片Ima原创 2016-09-07 12:57:41 · 18852 阅读 · 3 评论 -
eclipse项目导入的问题
关于eclipse中项目导入出现的 找不到入口类的解决方法.....原创 2015-10-20 17:38:56 · 345 阅读 · 0 评论 -
关于自定义AlertDialog,设置不能充满全屏的解决方法
1.直接在Mainactivity中的oncreate中使用以下方法:发现dialog可以充满整个屏幕onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AlertDialog dialog=new Ale原创 2015-04-03 17:25:43 · 8568 阅读 · 0 评论 -
取消androidStudio打开时默认打开上一个项目
如图,在setting中进行设置,将选中的对勾去掉即可原创 2017-01-19 17:08:58 · 4988 阅读 · 0 评论 -
android scrollview、horizontalscollview的scrollto方法不起作用的办法
当我在使用scollview时发现一个有趣的现象,在按钮点击的事件中,我们进行对与scollview的位置设置scollTo方法是完全ok的,但是当我们想要在初始化过程中就进行对scollview滑动到的位置进行设定时,就无效了。网上找了一些资料,都说是用handler.postDelayed方法,进行一个延迟操作,试过了之后,并没有什么用,由此对scollview进行研究:1.scrollTo()原创 2017-02-28 13:52:55 · 1310 阅读 · 0 评论 -
Android自定义配置文件(.properties文件)的使用
1.首先在源代码根目录(src下)下创建一个名为netconfig.properties的文件(也可以在其他目录下)。 2.打开netconfig.properties文件,在该文件中添加下列代码.#该处为注释 IP=192.168.1.111 PORT=3535 MSG=这是一个很长的字符串,<br>我们可以使其换行 \ 一行显示不下时,<br>可以分行显示。 说明:上面代码中,#原创 2016-09-30 13:58:40 · 7856 阅读 · 0 评论 -
在Fragment中的子View(如Button等)点击事件失效解决方法
根据fragment生命周期的执行过程,初始化ID(findViewById)和控件点击事件,一定要放在fragment中的onActivityCreated方法中,在onCreateView中,只是进行根节点 rootView的初始化。1.init()方法和handleData()方法放在 onActivityCreated中,而不是放在onCreateView。解决方案如下:@Override原创 2016-10-20 13:01:20 · 5995 阅读 · 0 评论 -
在一个activity中不同的fragment中加载百度地图时,百度地图重合叠加覆盖的解决方案
1.首先引用百度论坛上的一个例子,地址为:http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=883982.问题主要表现在 2.1 tabOneFragment中有百度地图,tab2中也有百度地图,切均为全屏显示,为了保存在fragment切换过程中,记录保存当前fragment的状态和一些控件的值,采用了 hide和show的加载方式来原创 2016-10-21 18:19:04 · 3236 阅读 · 2 评论 -
Android Studio中创建keystore
一直在Eclipse中开发Android,切换到Android Studio 中之后,各种不习惯。基本的创建keystore文件的操作也是找了半天才找到。1.点击Build ,在下拉框中选择 “Generate Signed APK”2.选择 “Create new”3.按照里面的内容填写即可,注意最后文件的扩展名变为”.jks”,而不是以前的”.keystore”.转载 2017-03-14 13:29:51 · 850 阅读 · 0 评论 -
webstorm怎么运行调试html
WebStorm教程(一)HTML5搭建:Hello,World!一.WebStrom 简介三.建立一个HTML文件1.打开WebStorm——Creat New Project——(左边栏)Empty Project——(给项目命名)——(选择)Creat(确认建立一个工程)2.进入编辑工程界面: 1) 在命名处右键——New——HTML File 2)(给页面命名)——OK如图: We原创 2017-02-24 16:37:33 · 43039 阅读 · 8 评论 -
android jxl对excel进行读、写、修改操作,设置excel列宽
1、首先下载 jxl开发包 jxl.jar 点击下载2.excel工具类import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import jxl.Sheet; import jxl.Workbook; import原创 2017-02-28 14:25:55 · 2475 阅读 · 0 评论 -
android的EditText重新获取焦点问题
1.在android开发过程中关于EditText在setFocusable(false);后,当需要再次获得焦点输入时设置setFocusable(true);后还是无法获得焦点的问题:解决办法:对EditText设置后就可以了!et.setFocusable(true);et.setFocusableInTouchMode(true);et.requestFocus();et.findFo转载 2017-04-07 15:33:11 · 2038 阅读 · 0 评论 -
AndroidStudio中代码混淆
1.关于项目如何进行混淆请参照: http://blog.csdn.net/ttccaaa/article/details/47687241核心混淆文件代码:# Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in原创 2017-03-14 13:41:31 · 339 阅读 · 0 评论 -
android 在selector中同时设置button的圆角和点击效果,简单颜色无需美工
1,如果我们没有美工来设计我们的圆角图片,可以采用shape的方式实现:<?xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 填充的颜色 --> <s原创 2017-03-14 14:20:00 · 2444 阅读 · 0 评论 -
Android EditText不弹出输入法总结,焦点问题的总结
一、如果页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属相:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法。<activity android:name=".ui.login" android:configChanges="orientation|keyboard转载 2017-03-14 14:43:49 · 4842 阅读 · 0 评论