- 博客(38)
- 资源 (27)
- 问答 (4)
- 收藏
- 关注
原创 模拟器安装报错INSTALL_PARSE_FAILED_NO_CERTIFICATES
在夜神模拟器中,编译运行项目,报错:The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES 。看了一下模拟器的安卓版本7.1,我的minSdkVersion是24,没有问题啊。后来发现是Google为了提高Android系统的安全性,从Android 7.0开始增加一种新的增强签名模式。不知道是不是Android Studio 4.0强制不允许关闭V2签名模式,才会导致4.0上运行项目到特定的模拟器,才有
2021-07-16 17:18:46 1511 1
原创 使用HMS Scan Kit实现安卓扫码功能
@TOC简介 Zxing 是常用的第三方开源 SDK。但是,Zxing存在以下缺陷:仅实现扫描二维码的基本操作,不支持强光、弯曲、变形等更复杂的扫描环境。目前主流做法是基于Zxing对源码进行优化。但是,优化效果仍然不理想,很多人会在优化上花费大量时间。 华为Scan Kit服务提供便捷的条码和二维码扫描、解析、生成能力,帮助开发者快速构建应用中的二维码扫描功能。得益于华为在计算机视觉领域的长期积累,华为统一条码扫描服务(Scan Kit)可检测并自动放大远距离或小尺寸条码,优化识别常见复
2021-06-02 16:56:55 2861 2
原创 Arcgis-android在图层上画点线面圆
文章目录10.x版本画点线面圆100.x版本画圆10.x版本画点线面圆//经纬度转换为点Point point = new Point(lon, lat));Point gisPoint = (Point) GeometryEngine.project(point, SpatialReference.create(4326), SpatialReference.create(102113));//画点//Color.GREEN为画的小绿点SimpleMarkerSymbol pointSym
2020-05-18 15:26:43 1162
原创 沉浸式状态栏ImmersionBar源码解读
第一步、软引用初始化activity或者fragment。第二步、使用BarParams的javaBean去存储状态栏参数.通过各种set方法去修改javabean中的参数。第三步、判断系统,对个别系统进行单独处理(通过反射)。传的key主要有几个:"ro.miui.ui.version.name" ---> 小米系统"ro.build.version.emui" ---&...
2020-02-27 16:25:55 874
原创 android studio打包报错buildOutput.apkInfo must not be null的解决方案
问题描述:android studio`打包的时候报错:buildOutput.apkInfo must not be null.但是点击左边,查看message详情信息却显示成功,而且安装包可以安装运行.解决方案可以无视报错,因为apk包已经打出来了.当然也可以解决,报错的原因是因为打包生成的output.json文件冲突导致的,这个json文件中有apkInfo字段,而我们要解决...
2019-10-11 13:55:44 7282
原创 添加flutter项目到已有项目作为依赖moudle
把flutter项目当做依赖moudle添加到项目中,详情参看wiki:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
2019-08-15 14:27:36 2284
转载 Android 应用构建速度提升的十个小技巧
文章目录**小技巧 1: 使用最新版本的 Android Gradle 插件****小技巧 2: 避免激活旧版的 Multidex****小技巧 3: 禁用 Multiple APK 构建****小技巧 4: 最小化使用资源文件****小技巧 5: 禁用 PNG 压缩****小技巧 6: 使用 Apply Changes****小技巧 7: 避免被动的改动****小技巧 8: 不使用动态版本标识*...
2019-08-15 11:47:47 504
原创 flutter几种常用的底部tab栏
文章目录普通tab栏底部凹型tab栏底部凸型tab栏普通tab栏效果图: int _selectIndex = 0; static const TextStyle optionStyle = TextStyle(fontSize: 30, fontWeight: FontWeight.bold); static const List<Widget> _wi...
2019-08-06 10:01:07 5452
原创 flutter在与主线程不同隔离区使用定时器
文章目录android_alarm_manager使用效果android_alarm_manager一个Flutter插件,用于访问Android AlarmManager服务(定时服务,并且和主线程不在一个隔离区中,程序退出后还会继续执行定时器),并在警报触发时在后台运行Dart代码。地址:https://github.com/flutter/plugins/tree/master/pac...
2019-06-21 15:07:03 1317
原创 flutter权限管理permission_handler
文章目录添加依赖使用添加依赖 #权限 permission_handler: ^3.0.0使用在android的mainfest中添加权限: <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.per...
2019-06-11 17:17:01 24363 4
原创 flutter路由跳转fluro
文章目录添加依赖新建相关文件初始化配置使用路由添加依赖#路由跳转 fluro: ^1.4.0新建相关文件新建application.dart文件,用于跳转时获取routerimport 'package:fluro/fluro.dart';class Application{ static Router router;}新建route_handlers.dar...
2019-06-11 10:54:06 8992 7
原创 基于ARouter的组件化开发
添加依赖在整个项目的build.gradle中添加:apply plugin: 'com.alibaba.arouter'buildscript { dependencies { classpath "com.alibaba:arouter-register:1.0.2" }}在需要跳转和跳转到的moudle的build.gradle中添加依赖:...
2018-08-16 14:43:06 1030 1
原创 concurrentmodificationexception异常
concurrentmodificationexception异常下面来看一下报错信息: 这个异常出现的原因是在遍历list的时候对list进行增删等操作,抛出的异常. 但是检查发现,我的代码没有相关的操作啊,这是怎么回事啊?而且只是在6.0的系统上抛出这个异常,这是怎么回事呢? (看AbstractList的api只在api23中抛出这个异常)首先,来说一下业务,我在recycle...
2018-04-11 14:11:54 690
原创 Android模拟器或者真机无法连接内网的解决方案(当需要修改hosts的时候)
不管测试机还是模拟器,访问不到内网地址时,很可能是电脑上修改hosts了,但是模拟器和测试机没有修改hosts.模拟器修改hosts使用adb命令修改hosts:1.先root. 执行命令: adb root2.设置为可更改用户账户.adb remount3.在android studio中用device file explorer 找到hosts文件( 路径为:
2018-01-19 15:10:33 8310
原创 android7.0PopWindow显示位置错误的解决方法
解决方案: 重写PopWindow的showAsDropDown()方法.详细步骤1.新建类MyPopWindow,继承PopupWindow.2.重写showAsDropDown()方法.public class MyPopWindow extends PopupWindow { public MyPopWindow(View contentView, int width, int hei
2018-01-06 15:18:26 802
原创 设置tablayout光标宽度
//设置tablayout光标宽度 mTabLayout.post(new Runnable() { @Override public void run() { setIndicator(mTabLayout,60,60); } }); public void se
2017-12-12 16:19:52 507
原创 android studio查询代码行数的插件
安装File –> Settings –> Plugins –> Browse repositories… 搜索Statistic ,点击安装即可。使用提示:本文用的最新版的:Statistic-3.4。打开不同项目的时候,需要设置Statistic:File –> Settings –> Tools –> Statistic。设置如下图:设置完成之后android studio左下角点
2017-11-20 13:38:30 731
原创 gradle错误
报错信息: Gradle sync failed: Unsupported method: BaseConfig.getApplicationIdSuffix(). The version of Gradle you connect to does not support that method. To resolve the problem yo
2017-11-07 17:20:54 6757 2
原创 Android多任务切换效果
就是点击手机多任务键的效果,上下翻滚,点击选择,侧滑删除效果。 https://github.com/vikramkakkar/DeckView
2017-11-07 17:16:05 3247 2
原创 ShortCuts的使用
添加依赖:自定义Application在Activity中添加注解先上效果图:使用的第三方库,github地址:https://github.com/MatthiasRobbers/shortbread使用注意:android7.1及以上才有效果.添加依赖:compile 'com.github.matthiasrobbers:shortbread:1.0.2'annotationProcess
2017-11-06 16:15:45 3360 2
原创 NestedScrollView中嵌套ViewPager导致不能左右切换的解决方法
为NestedScrollView添加属性android:fillViewport="true"就可以了.
2017-10-24 16:38:50 741
原创 RecyclerView添加下拉加载以及和ScrollView的滑动冲突的解决
和ScrollView的滑动冲突的解决办法:使用NestedScrollView即可. 使用recycleView.setNestedScrollingEnable(false);方法可以增加滑动体验效果,但是,使用此方法会导致所有item一次性加载完,当添加下拉刷新的时候尽量设置为true.下拉刷新https://github.com/anzaizai/EasyRefreshLayout
2017-10-24 16:20:47 634
原创 Mvp+Retrofit+Rxjava+RxLifecycle的封装和使用
添加依赖准备base类在BaseActivity中继承RxAppCompatActivity在BasePresenter中写拿到LifecycleProvider的方法方便后边的RetrofitService设置手动关闭订阅使用mvp需要新建抽象类BaseView准备接口地址类和请求参数接口类新建接口地址类Constant新建请求参数接口类RetrofitService准备Retrofi
2017-10-20 16:30:09 5124
原创 Rxjava+Retrofit的简单使用
目录目录添加依赖基本使用添加依赖compile 'com.squareup.retrofit2:retrofit:2.3.0'compile 'com.squareup.retrofit2:converter-gson:2.3.0'compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'compile 'com.squareup.okht
2017-10-20 15:39:07 378
原创 超简单tab切换--tablayout的使用
最近开始使用Tablayout,发现超好用,写一篇文章纪念一下. 先上效果图: 先看布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="
2017-09-26 17:36:25 1555
原创 TabLayout和CoordinatorLayout相结合的库的全面详解及修改
今天看到一个把TabLayout和CoordinatorLayout整合到一起的一个库,确实方便了开发,下面我们来说下这个库的详细使用以及如何根据我们的需求定制化开发. 首先,先来看效果图. github链接: https://github.com/hugeterry/CoordinatorTabLayout CoordinatorTabLayout的使用第一步,添加依赖compile '
2017-09-26 15:11:50 1872
原创 Toolbar使用详解
使用ToolBar需要设置三点: 1.添加依赖库:compile 'com.android.support:appcompat-v7:26.0.0-alpha1'2.activity需要继承AppCompatActivity 3.在AndroidManifest.xml文件中,设置元素使用appcompat中的某个NoActionBar主题,从而来去除使用ActionBar来提供操作栏。<app
2017-09-25 11:37:43 581 2
原创 实现RecyclerView类似3D效果的消失
先上效果图: 使用方法: 1.gradle引入或者下载依赖库都可compile 'com.stone.vega.library:VegaLayoutManager:1.0.1'下载依赖库 http://download.csdn.net/download/huchengzhiqiang/99937842.使用: 设置RecyclerView的Layoutmanger为我们写好的VegaL
2017-09-25 11:05:10 1064
原创 RecyclerView之多层嵌套
本文基于baseRecyclerView依赖库. 先来看效果图: 首先,添加依赖:compile 'com.android.support:design:26.0.0-alpha1'compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.25'首先,先写一个简单的布局:<LinearLayout...
2017-09-18 15:23:09 4995 3
原创 适合RecyclerView使用的万能侧滑删除控件
上效果图 先上代码public class SwipeMenuLayout extends ViewGroup { private static final String TAG = "zxt/SwipeMenuLayout"; private int mScaleTouchSlop;//为了处理单击事件的冲突 private int mMaxVelocity;//计算滑动速
2017-09-14 17:14:13 1325
原创 android实现自定义饼状图每个标志线颜色
要实现下图效果: 使用链接中的依赖库: link text 使用这个方法设置一下: dataSet.setValueLineColors(list); list为颜色的集合.
2017-09-13 15:24:18 1121
原创 android实现仪表盘效果
就是要实现这个效果: 中间的文字很好写,外层的进度条就需要自定义控件了,代码如下: public class CirCleProgressBar extends View { private Paint circlePaint; private Paint textPaint; private int circleColor;//圆弧颜色 private int
2017-09-13 15:13:39 3509 1
原创 MpAndroidChart源码修改之饼状图添加标志线
由于项目需要,需要改MpandroidChart源码,下面,先看下效果图: 效果很简单,但是由于所选依赖库没提供相关方法,所以就需要重写源码了. 这条红色的标志线其实就是那个影厅的均值嘛,这条线看着是不是和图表中的连接线很像呢,那把连接线稍加改造不就可以了吗?下面,先看下此依赖库自带的连接线的效果图: 思考一下,我们只需要把值的颜色设置成透明就可以了,然后把连接线改造一下. 首先,
2017-09-12 15:03:34 3523 3
原创 使用PreparedStatement预编译语句对象
首先,要弄明白为什么要用PreparedStatement 代替Statement? 1、用PreparedStatement,代码的可读性和可维护性高 2、PreparedStatement 能尽最大可能提高性能 3、最重要的一点,极大的提高了安全性(防止sql注入) 简单的sql注入:当用Statement时,用’or 1= 1 or’可以作为password进入任何登陆账户。这是因为当
2016-09-01 23:13:05 986
原创 浅析JDBC操作数据库
一、JDBC完成DDL操作创建表t_student@Test public void testName() throws Exception { String url = "jdbc:mysql://localhost:3306/abc"; // 1、加载注册驱动 Class.forName("com.mysql.jdbc.Driver");
2016-08-31 23:09:41 249
原创 DOM解析XML文档
DOM解析XML文档DOM解析的特点:一次性将整个xml文档读取到内存,在内存中形成一个DOM树,实际上就是对这个树的操作(增删改查)。 优点:速度快,效率高 缺点:如果xml文件过大,会导致内存溢出。Document对象的获取: 1、获取xml文件位置 File f = new File();2、创建DocumentBuilderFactory对象 Documen
2016-08-29 23:51:50 387
Android开发艺术探索 pdf 下载 高清完整版版).pdf
2018-09-27
剑指offer pdf完整版
2018-02-23
Recyclerview中可以任意拖拽item的demo
2017-11-09
一行代码使用TableLayout和CoordinatorLayout
2017-09-26
recyclerview的自定义layoutmanger实现要3d item消失的效果
2017-09-25
BaseRecyclerViewAdapterHelper的多级嵌套的demo
2017-09-18
android可以包含任意viewgroup的侧滑删除
2017-09-14
MpAndroidChart依赖库修改
2017-09-13
android开发,在三星note8上边,启动app进首页有个图层遮盖怎么回事
2018-01-24
android中用openGl画的立方体,怎么样才能获取到点击面的id
2017-05-02
android中用openGl画立方体,旋转几次之后就不知道哪个面是哪个面了
2017-05-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人