自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 error: cannot lock ref ‘refs/remotes/origin/x‘

原因是远程分支已经删除了,本地仍然存在记录,刷新本地仓库即可。

2024-02-26 08:53:56 1790

原创 初识 Protobuf 和 gRpc

ProtoBuf是将类的定义使用.protobuf文件进行描述。gRpc是一种C/S架构的跨设备通信方式。

2024-02-07 20:22:39 997

原创 java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found

一般某些聊天的SDK都依赖于libsqlite.so(我遇到的是融云),不过由于这个包从来没有变化,使用的是系统默认提供的(/system/lib/)。在Android 6.x及以下的平台可以运行。Android7.x执行更严格的安全检查,禁止使用系统目录的内容。所以如果希望在7.x以上版本,需要把系统目录的libsqlite.so拷贝出来,也放在自己app对应指令目录下。解决方案:apk中...

2019-09-16 14:18:25 2139

原创 Flutter文本组件Text

文本组件在开发中出现的频率几乎是最高的,flutter开发中使用的文本组件主要是Text。现在介绍一下Text的常用属性:属性类型说明styleTextStyle主要是对文本样式的设置textAlignTextAlign文本对齐方式TextAlign.left:左对齐TextAlign.right:右对齐TextAlign.center:中间对齐TextAl...

2019-09-02 20:56:46 306

原创 Flutter错误集合

在运行packages get 的时候出现如下错误Waiting for another flutter command to release the startup lock…解决:删除flutter sdk文件中 flutter/bin/cache文件夹下的lockfile文件...

2019-08-12 16:07:40 261

原创 HelloFlutter

使用一个新的框架,都是从helloworld开始。show me the code!由此开始我们和flutter正式见面。接下来是一个简单的示例。import 'package:flutter/material.dart';void main()=> runApp(MyApp());class MyApp extends StatelessWidget{ @override W...

2019-08-10 12:22:48 282

原创 解决No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

具体问题最新版本的ndk中移除了mips64el-linux-android,解决方法:推荐按照 提示,升级Gradle plugin 版本 ,例如当前使用Gradle plugin 版本buildscript { repositories { jcenter() } dependencies { classpath 'com.andr...

2019-08-07 17:49:47 144

原创 搭建Flutter开发环境

由于目前使用Mac开发,暂时只记录Mac环境下使用AndroidStudio进行Flutter开发需要搭建的环境。Windows配置大致相同。获取Flutter SDK去flutter官网下载其最新可用的安装包,转到下载页 。注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flut...

2019-07-31 20:49:08 163

原创 Flutter简介

Flutter简介Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。Flutter特性快速开发毫秒级的热重载,修改后,您的应用界面会立即更新。使用丰富的、完全可定制的widget在几分钟内构建原生界面。...

2019-07-29 21:16:57 163

原创 侧滑返回实践

类似于ios右滑可以关闭当前页面。要实现这种类似的效果,其实有多种方法,使用开源库SwipeBackLayout ,或者监听手势,或者使用v4包提供的SlidingPaneLayout。使用SlidingPaneLayout是个人认为效果最好,也是最简单的。使用SlidingPaneLayout实现右滑效果的时候,可以这样做,左侧的panel是一个透明的view,右侧content是正常显示的A...

2019-06-11 11:06:12 376

原创 AndroidStudio 上传library到Bintray

记一次在AndroidStudio上传library到Bintray的过程。https://bintray.com/注册好了账号, Add New Repository,添加一个package。 首先在项目的build.gradle 中引入插件 dependencies { classpath 'com.android.tools.build:gradle:3.0.1...

2018-09-07 18:39:32 435

原创 AndroidStudio 中gradle统一管理配置

AndroidStudio 中gradle统一配置当我们进行模块化开发的时候,为了方便管理各个模块中的依赖,比如v4,v7等的版本,可以在project中统一配置,然后再各个module中进行引用就行了。 首先在project的gradle中定义gradle ext{ supportLibrary="27.1.1" dependencies=[ ...

2018-08-26 17:10:37 1075

原创 Error:Execution failed for task ':app:preDebugAndroidTestBuild'.

Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test ...

2018-05-24 12:11:11 390

原创 The option 'android.enableAapt2' is deprecated and should not be used anymore.

AndroidStudio升级到3.1时候遇到了这个问题,提示Use 'android.enableAapt2=true' to remove this warning.然而gradle.properties=true/false都没解决。最后仔细看以下错误信息,String types not allowed(at '@android:attr/windowEnterAnimation' xxx...

2018-05-23 08:52:57 19162

原创 TextView 文字滚动(跑马灯效果)

TextView 文字横向滚动设置:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="mat

2018-05-21 13:28:00 1310

原创 Android集成微信支付

申请资质什么的一大堆东西请自行解决,点击去微信开放平台申请应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名。点击下载签名工具最终我们得到的AppID,AppSecret,PartnerID。下面是app工程接入...

2018-05-15 21:03:50 364

原创 OkHttp之OkHttpClient.Builder

okhttp3.OkHttpClient.Builderpublic static final class OkHttpClient.BuilderOkHttpClient.Builder是用来帮助创建OkHttpClient的;通过它我们可以方便的对OkHttpClient进行设置;下面是OkHttpClient.Builder设置OkHttpClient的常用方法:设置连接的连接超时的时间,默...

2018-05-12 17:48:07 18047

原创 OkHttp之OkHttpClient

okhttp3.OkHttpClientpublic class OkHttpClient implements Cloneable, Call.Factory, WebSocket.FactoryCall.Factory 用来发送请求和接收响应OkHttpClient 使用单例模式能够发挥更好的效果。每一个client 拥有各自的连接池和线程池...

2018-05-11 15:44:18 8283 1

原创 OkHttp详解

HTTP是现代应用的网络方式。我们用其交换数据和媒体。高效地执行HTTP使您的数据加载速度更快并节省带宽。OKHTTP无疑是一个有效的HTTP客户端:支持HTTP/2,允许同一个主机的请求(request)共享一个socket如果HTTP/2不可用,连接池也可以减少请求延迟使用GZIP缩小下载数据的大小响应缓存避免重复的网络请求当网络出现问题时,OKHTTP会从常见的连接问题中自动恢复。如果您的服...

2018-05-10 13:28:43 953

原创 No virtual method keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;

异常信息java.lang.NoSuchMethodError: No virtual method keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; in class Ljava/util/concurrent/ConcurrentHashMap; or its super classes (declaration of 'j...

2018-05-02 11:18:21 2205

原创 transformClassesWithJarMergingForRelease

这个问题是由于jar冲突引起,解决可以参考解决Gradle中jar冲突我的错误显示Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.> com.android.build.api.transform.TransformException: java.util.zip.ZipExce...

2018-04-27 14:28:34 347

原创 解决Gradle中jar冲突

如果有两个依赖引用了相同jar包的不同版本时,默认情况下gradle会采用最新版本的jar包,此时可以通过排除选项来排除。首先,看一下依赖一个库时的格式,name也就是module compile group:'com.android.support',name:'appcompat-v7',version:'26.1.0'1.直接在configuration中排除 configuratio...

2018-04-27 10:51:22 12603 1

原创 Java代理模式之静态代理

代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.直接访问会给使用者带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.调用的时候通过调用代理对象的方法来...

2018-04-26 11:58:20 244

原创 Fragment通信

Fragment 通信的方法有多种:static静态变量:通过读写静态变量的值来达到传值,但是静态变量过多容易造成内存溢出Broadcast Receiver广播:广播主要是实现不同组件间的通信接口实现:Fragment 定义callBack接口,Activity实现callBack接口,这样Fragment调用callBack方法时,Activity就可以收到回调EventBus:能够简化各组件...

2018-04-25 10:08:34 258

原创 通过clipPath裁剪实现圆角ImageView

目前实现圆角图片的方法有很多种,有自定义ImageView的(裁剪bitmap,裁剪canvas),也有借助图片加载框架的(glide,picaso),本文介绍的是通过裁剪canvas,即通过canvas.clipPath实现的。直接上代码 源码地址public class RoundImageView extends ImageView { private Path mPath; ...

2018-04-04 15:41:53 5195

原创 软件体系结构—B/S和C/S架构

在进行软件开发时,通常会在两种基本架构中进行选择,即C/S架构和B/S架构。1.C/S结构C/S架构是客户端/服务器端交互模式,是Client/Server的简称。它是早期常用的一种软件架构,这种架构的软件需要在用户的电脑上安装客户端程序,下面通过一张图来了解C/S架构客户端与服务器的交互过程。如图1-1所示:图1-1 C/S架构图2.B/S结构B/S架构是浏览器/服务器交互模式,是Browser...

2018-03-14 16:30:40 21525

原创 HashMap源码

package java.util;import java.io.IOException;import java.io.InvalidObjectException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.ObjectStreamField;import jav

2017-11-13 10:31:44 240

原创 栈的应用--逆波兰表达式

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2017-11-07 14:45:33 317

原创 recyclerView item 宽度不能撑满

View.inflate(mContext, R.layout.item_layout, null);  在这种情况下会出现宽度match不起效;需要使用LayoutInflater.from(mContext).inflate(R.layout.item_layout, parent, false);

2017-04-05 19:14:54 2494

原创 ImageView保持宽高比例 adjustViewBounds属性

将ImageView的宽或者高限定,按照比例展示图片,搜索得到的结果是:android:adjustViewBounds 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。我只用了android:adjustViewBounds 属性,并没有与max###一同使用。

2017-02-17 17:35:08 2161

原创 Multiple dex files define与app:transformClassesWithDexForDebug

Error:Error converting bytecode to dex:Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/app/ActionBarDrawerToggleHoneycomb$SetIndicatorInfo;Error:Execution failed for...

2017-02-16 17:42:07 1111

原创 StackOverflowError:android.view.View.jumpDrawablesToCurrentState

ViewPager的时候,出现了这个问题,经过搜索发现,是由于在inflate布局文件的时候出的问题,在fragment加载布局时,inflater.inflate(R.layout.fragment,container,false);第三个参数需要加上,具体什么原因待查找

2017-02-15 16:45:47 1001

转载 Android开发中软键盘的常见问题

软键盘显示的原理       软件盘的本质是什么?软键盘其实是一个Dialog。        InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏

2017-02-04 10:38:13 613

原创 ScrollView嵌套LinearLayout布局不能撑满全屏的问题

当ScrollView里的元素想填满ScrollView时,使用"fill_parent"或者"match_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。当ScrollView没有fillViewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是...

2017-02-04 10:12:11 10893 7

PagewidgeTes

电子书翻页效果 可以左右翻页

2016-05-25

item左划得listview

可以左划,代码简单,秒懂

2016-03-31

空空如也

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

TA关注的人

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