自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (14)
  • 收藏
  • 关注

原创 鸿蒙(HarmonyOS)HelloWo入门

HarmonyOS

2023-12-01 11:56:58 633

原创 Android build.gradle读取String中文件及gradle.properties数据

在网上找了好久没有一个完整的学习文档,自己总结下,方便后面使用,话不多说直接上代码。读取gradle.properties。

2023-10-25 15:43:09 830

原创 Mac系统配置java、Android_sdk、gradle、maven、ndk、flutter、tomcat环境变量

打开终端(相当于Windows系统的命令提示符),运行 open .zshrc ,它会自动打开编辑文件,加上source生效命令,然后保存。建议设置好一个环境就打x关闭一次终端窗口,右键退出终端,再打开一次,再运行命令,保证每个环境的完整生效。然后保存,再开终端运行一次source ~/.bash_profile,就生效了。然后保存,再开终端运行一次source ~/.bash_profile,就生效了。然后保存,再开终端运行一次source ~/.bash_profile,就生效了。

2023-03-09 16:16:50 2257 1

原创 AndroidStudio 代码报错(引入红色),但可正常运行解决方法(4种方式)

一、自带清除缓存点击AndroidStudio菜单File -> Invalidate Caches/Restar… ,在弹出的对话框中点击Invalidate and Restar。等待AS清理并自动重启。![](https://img-blog.csdnimg.cn/20210616180458999.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4

2021-06-16 18:07:30 880

原创 Retrofit2基本使用

概述Retrofit是当下最热门的Android网络请求库,准确的来说Retrofit是一个RESTful的HTTP网络请求框架的封装,因为它内部网络请求的工作,本质上是通过OkHttp完成,而Retrofit仅负责网络请求接口的封装。具体是客户端通过Retrofit请求网络,实际上是通过Retrofit的接口层封装了请求参数,header,url等信息,之后由OkHttp完成后续的请求工作。然后在服务端返回数据之后,OkHttp将原始的结果传递给Retrofit,Retrofit根据客户端的相关配置,

2021-02-18 19:01:00 3173

原创 Retrofit2深入浅出

Retrofit2简单的说就是一个网络请求的适配器,它将一个基本的Java接口通过动态代理的方式翻译成一个HTTP请求,并通过OkHttp去发送请求。此外它还具有强大的可扩展性,支持各种格式转换以及RxJava。本文基于Retrofit2解析。Retrofit2基本使用先定义一个PersonalProtocol的java接口public interface PersonalProtocol { /** * 用户信息 * @param page * @.

2021-02-18 16:16:47 111

原创 RxJava系列1(简介)

前言提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近一年来国内的技术圈子中越来越多的开始提及Rx,经过一段时间的学习和探索之后我也深深的感受到了RxJava的魅力。它能帮助我们简化代码逻辑,提升代码可读性。这对于开发效率的提升、后期维护成本的降低帮助都是巨大的。由于我本人是个Android程序猿,因此这一系列文章中的场景都是基于Android平台的。如果你是个Java Web工程师或者是其它方向的那也没关系,我会尽量用通俗的语言将问题描述清楚。响应式编程在介绍RxJava前,我们先

2021-02-08 10:57:55 157 1

原创 android Mvp简单使用

什么是MVP,为什么要用MVP?网上介绍MVP的很多,百度一下你就知道,至于为什么要用MVP,当然是由于它的优势了:1.代码简洁此处的简洁是逻辑的简洁,而不是代码本身 举个栗子image.png比如购物车界面,有很多请求网络的地方:获取购物车商品列表、购物车商品的删除、购物车商品的购买等等, 这么多网络请求,如果都写在一个Activity,而且还有大量逻辑判断,那这个Activity的行数~ 看着就让人头痛, 即便写了注释,维护起来也是比较麻烦的2.降低耦合,方便维护MVP..

2021-02-04 18:37:44 453 1

原创 Android组件化开发

一.什么是组件化开发所谓组件化,就是将整个庞大的项目以业务逻辑进行拆分成多个模块,并且各个模块之间相互独立,相互解耦,每一个模块可以单独进行开发调试,各个模块调试完,以library的形式依赖在壳App中组合成一个完整的项目。二.为什么要采用组件化随着APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将

2021-02-04 15:16:27 3332 2

原创 textview折叠效果

ViewTreeObserver vto = tv1.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { int lineCount = tv.

2021-01-09 15:45:13 131 1

原创 文字添加模糊效果

SpannableString stringBuilder=new SpannableString(bean.getList().get(0).getReportContent()+""); stringBuilder.setSpan(new MaskFilterSpan(new BlurMaskFilter(10f,BlurMaskFilter.Blur.NORMAL)), 0,stringBuilder.length(), Spann.

2021-01-09 15:35:00 410

原创 TextView前添加图片

啥也不说上代码private TextView text; String text="这里是多行文字"; SpannableString newText = new SpannableString(text+ " "); int len = newText.length(); //加载本地资源图片 Drawable d = ContextCompat.getDrawable(mContext, (R.drawable.abc_pic)); //距离文字左

2021-01-09 15:33:53 782

原创 反编译

反编译我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。在开始学习之前,首先我们需要准备一个APK文件,为了尊重所有开发者,我就不拿任何一个市面上的软件来演示了,而是自己写一个Demo用来测试。这里我希望代码越简单越好,因此我们建立一个新项目,在Activity里加入一个按钮,当

2020-12-16 17:03:57 5650 1

原创 Android studio build界面乱码问题

然后在打开的文件中添加一句-Dfile.encoding=UTF-8重启就行了

2020-08-26 11:13:27 343

原创 【adb】adb shell 查看 APK 信息(权限等)

adb shell dumpsys package apk包名 eg:adbshelldumpsyspackagecom.android_sync.service

2019-12-10 17:39:25 2175

原创 git更新远程分支列表

有时会遇到git branch -a时总是不出现新的分支或者远程已经没有的分支在本地还有,这时就需要更新下本地的git分支保持和远程分支一致,使用下面命令即可:git remote update origin --prune...

2019-12-10 10:28:28 210

原创 git无法查看远程分支方法

git fetch --allgit reset --hard origin/mastergit fetch

2019-08-15 18:51:16 2098

原创 android studio3.0 生成apk安装到手机上失败(-15)

啥不说  上图双击installDebug,出现下图时,就说明打包成功!记录下 方便以后使用

2018-11-08 17:47:15 1714 2

原创 excel添加文件和文件批量修改名称

1.添加文件名称到excel中将文件放到一起,打开命令窗体执行 dir 文件名路劲:文件夹名称/b>生成Excel路劲名称   例如:dir D:\123/b>D:\1234.xls  回车即可2.将Excel中的名称替换修改的文件名称 将原来的文件名称和修改后的文件名称放到不同的两列  在第三列中执行 ="ren "&原来应用的一行&" "&修改后名称的一行 ...

2018-04-26 14:14:20 655

原创 Rxjava操作符的基本使用

from将其他种类的对象和数据类型转换为ObservableInteger[] in={1,2,3,4,5,6,7,8,9,10,11,222};//将其他种类的对象和数据类型转换为Observable //map讲Integer转化成String Observable.from(in).map(new Func1<Integer, String>() {

2017-11-23 17:37:47 231

原创 EditText和ScrollView冲突的解决

EditText.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //这句话说的意思告诉父View我自己的事件我自己处理

2017-10-26 16:02:17 415

原创 ButterKnife使用

1.使用ButterKnife优势 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的ViewHolder绑定问题 3.运行时不会影响APP效率,使用配置方便 4.代码清晰,可读性强2.下面是配置1.)在Project的build.gradle中添加如下配置 buildscript {

2017-10-20 14:54:36 226

原创 android 抽屉菜单

总结下抽屉的使用,记录使用方法,方便以后查看 使用SlidingMenu SlidingMenu是一个开源的侧滑菜单(https://github.com/jfeinstein10/SlidingMenu)。 为大家的安卓程序提供侧滑菜单,这个功能也非常有用。 下载项目到本地放到项目中,然后添加到项目中进行依赖 SlidingMenu样式的抽屉,主要使用了MainActivity(1,2,3)

2017-10-18 15:49:09 1393

原创 Android Tab导航

demo中实现tab有2中方式:TabPageIndicator和TabLayoutTabPageIndicator实现需要导入com.inkapplications.viewpageindicatorTabLayout实现需要导入com.android.support:designTabPageIndicator和TabLayout的介绍(自我总结)TabPageIndicator和TabLayo

2017-10-18 15:24:30 991

转载 Github上的README.md文件

来自:http://blog.csdn.net/zhaokaiqiang1992/article/details/413498191.来龙去脉和语法特点**Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

2017-10-18 15:12:45 484

转载 Android框架的收藏

缓存DiskLruCache Java实现基于LRU的磁盘缓存2.图片加载Android Universal Image Loader 一个强大的加载,缓存,展示图片的库Picasso 一个强大的图片下载与缓存的库Fresco 一个用于管理图像和他们使用的内存的库Glide 一个图片加载和缓存的库3.图片处理Picasso-transformations 一个为Picas

2017-09-14 16:37:19 200

原创 MyBites的使用,连接xml

MyBites 主要是对数据的操作,操作数据库首先的写接口对其进行操作,首先新建一个Servlet,复写doGet,doPost方法,在doPost中添加数据,首先创建实体(这个就不写了),给实体添加数据MyBitesStudio.javaString name=request.getParameter("users");//获得用户输入的数据 List<UserBean> lis

2017-08-31 16:01:48 415

原创 android 流布局实例

特别好用的util,啥都不说了直接上代码import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;public class AutoUtil extends ViewGroup{ public AutoUtil

2017-08-18 16:41:04 319

原创 在App中打开淘宝

什么都不说了直接上代码/** * 检测该包名所对应的应用是否存在 * @param packageName * @return */ public boolean checkPackage(String packageName) { if (packageName == null || "".equals(packageName))

2017-05-27 11:58:14 15247

原创 分分钟带你搞定Android开发圆形头像

转载:http://blog.csdn.net/kjunchen/article/details/50573326目前在应用开发中,矩形的头像基本没有了,大多是圆形或圆角矩形,本文简简单单轻轻松松帮你搞定圆形或圆角矩形的头像。可以自定义控件实现,而本文使用的是第三方开源控件RoundedImageView,改控件支持圆形、椭圆、圆角矩形等,使用非常方便。添加RoundedImageView依赖使用

2017-04-13 18:00:36 539

原创 Bugly的使用

Bugly为解决开发者紧急修复线上bug,而无需重新发版让用户无感知就能把问题修复的一项能力。Bugly目前采用微信Tinker的开源方案,开发者只需要集成我们提供的SDK就可以实现自动下载补丁包、合成、并应用补丁的功能,我们也提供了热更新管理后台让开发者对每个版本补丁进行管理。第一步:添加插件依赖 工程根目录下“build.gradle”文件中添加:buildscript { repos

2017-04-13 15:32:12 31794 3

原创 Android Studio运行缓慢的解决办法

使用Android Studio以来发现内容越多,编译越慢,随着项目内容的添加编译运行一次要5分钟,这样的效率怎么能工作,今天有空解决了下这个问题,在gradle.properties中添加配置即可,现在只要5秒就可安装运行,效率非常快,如果这样还是不行,那说明该换电脑,加内存了org.gradle.daemon=trueorg.gradle.jvmargs=-Xmx2048m -XX:MaxPe

2017-03-13 18:05:36 2496

原创 ViewPager设置广告位,无限滚动

import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;impor

2016-12-05 16:21:29 219

原创 ScrollView自动滑动

MainActivity .classimport android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.util.Log;impo

2016-10-13 15:27:42 1828

原创 Android 中Webview 自适应屏幕

webview中右下角的缩放按钮能不能去掉settings.setDisplayZoomControls(false); //隐藏webview缩放按钮让Webview加载的页面居中显示有我知道的几种方法 第一种方法:WebSettings settings = webView.getSettings(); settings.setLayoutAlgorithm(LayoutAlgorithm

2016-09-02 13:15:35 213

原创 Android 6.0授权悬浮框

Android6.0 的更新对于权限做了调整,一些权限需要用户自己去授权,下面是我遇到的做下记录,方便以后使用if (Build.VERSION.SDK_INT >= 23) { if (Settings.canDrawOverlays(context)) { //不需要授权 } else {

2016-08-30 17:08:28 1147

原创 Fragment案例

Fragment也是常用的在Android中,之前只是总结了下知识点,今天写了个例子,对只是巩固了下,下面是例子: MainActivity.classpackage com.example.fragmentdemo1;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android

2016-08-19 16:07:08 335

原创 ViewPager+Fragment实现无限加载

ViewPager+Fragment在开发中也是非常常见的,今天有空总结下,方便以后使用,下面是总结: MainActivity.classpackage com.example.viewpager_fragment_demo;import android.os.Bundle;import android.support.v4.app.Fragment;import android.sup

2016-08-16 14:16:30 2051

原创 PopupWindow自定义类

public class PopupWindow extends PopupWindow{ private View conentView; private ListView popLv; private Window window; private WindowManager.LayoutParams layoutParams; private Activit

2016-08-12 16:11:50 397

原创 Android Sqlite学习

MainActivity.classpackage com.example.db2;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget

2016-08-12 13:37:47 258

AutoFlowLayout

自定义ViewGroup实现view自动换行

2017-08-18

ViewPager+Fragment实现无限加载

ViewPager+Fragment实现无限加载

2017-04-15

Bugly单渠道

bugly

2017-04-13

Android 抽屉

抽屉式显示 类似于京东筛选

2017-01-12

android 图片放大

点击单张图片 放大后可滑动查看图片 放朋友圈的查看图片

2017-01-12

Android 微信

微信发消息,发送朋友圈

2017-01-07

android 语音

Android 语音功能

2016-12-27

Android 3d反转

Android 3d 反转

2016-12-27

Android图片预览

图片点击放大预览

2016-12-27

Android ViewPager广告位

ViewPager+handler实现广告位无限循环

2016-12-05

ViewPager广告位滑动

ViewPager广告位滑动

2016-12-05

listView滑动删除2

listView滑动删除实现删除 效果不是最好

2016-09-19

listView滑动删除

仿QQ滑动删除功能的实现

2016-09-19

Android自定义声音

Android自定义声音

2016-07-22

空空如也

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

TA关注的人

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