自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 linux下配置Android studio环境

Java环境1 jdk下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2 解压到当前文件夹 tar -zxvf jdk-8u221-linux-x64.tar.gz3 移动到你想要的文件夹sudo mv jdk1.8.0_221 /usr/android4...

2019-09-24 16:22:50 1343

原创 Android热修复Sophix

文章目录引言阿里云申请项目配置生成补丁发布补丁其他引言  一直觉得android维护成本挺高的,如果版本出现bug,需要马上发布新版,然后去应用市场申请。这个时候可能需要很长的一段时间,造成用户的流失。  这个时候如果可以不知不觉的修复一些bug就好了。只有你想不到,没有人做不到。Sophix诞生了。记得以前关于热修复生成补丁需要进行繁琐的操作。而Sophix的图形界面化简单操作就可以生成补...

2019-08-29 11:14:10 375

原创 内存泄漏

1.利用profile检查内存泄漏如上图所示,内存分析器的默认视图包括以下内容:1 强制执行垃圾收集事件的按钮。2 捕获堆转储的按钮。3 记录内存分配的按钮。通过2(堆转储)以及1(垃圾回收)可检查有无内存泄漏可以看出firstActivity存在内存泄漏2.mat分析2.1 将profile堆转储文件导出2.2 转换格式:  如导出文件为2019-8-3.hprof;...

2019-08-04 22:00:26 108

原创 build.gradle配置

文章目录1 build.gradle配置1.1 project下的build.gradle1.2 module下的build.gradle2 Apk版本号的命名规则及配置方法2.1 命名规则2.2 配置方法2.3 生成apk命名3 Android studio 3.0以下及3.0以上gradle dependencies依赖的区别4 Dependencies依赖关键字的区别1 build.gra...

2019-06-03 10:43:29 6624

原创 SQLite数据库版本更新

1.SQLiteOpenHelper  查看源码其是一个抽象类:public abstract class SQLiteOpenHelper{ ``````省略代码 // 抽象方法 // 数据库创建时调用 public abstract void onCreate(SQLiteDatabase db); // 数据库版本更新时调用 public abstract void on...

2019-04-17 09:22:38 1794

原创 排序

一、快速排序算法:序列:{33, 38, 54, 18, 17, 9, 29, 62}1.基于一个基准进行排序,一轮排序后,基准前的所有数比基准小,基准后的所有数比基准大。2.故数列分成了两部分,剩下两部分按1所述的方法进行排序。特点:具有分治法的思想,减少了比较的部分。不稳定性。29 9 17 18 33 54 38 62  基准为2918 9 17 29 33 54 38 62  ...

2019-04-03 11:50:58 93

原创 贝塞尔二阶曲线

  Path里面有两个方法可以进行贝塞尔二阶曲线: //默认起始点 (0,0),控制点(x1,y1),终点(x2,y2) public void quadTo(float x1, float y1, float x2, float y2) { isSimplePath = false; nQuadTo(mNativePath, x1, y1, x2, y2);...

2019-04-02 11:13:40 729

原创 MpChart使用

  需要开发一些图形绘制相关的UI;  经过对比,MpChart是一款相对成熟的第三方库。通过使用这个库以及修改源码,UI功能以及完成。其中包括绘制折线图和柱形图,做此记录,方便以后使用参考。1.XAxis图形的X轴: XAxis xAxis = mChart.getXAxis();1.1 设置X轴位置( TOP, BOTTOM, BOTH_SIDED, TOP_INSIDE, ...

2019-03-27 22:01:24 2607 2

原创 解决上拉刷新冲突

本来是要做一个上下滑动的布局,但是里面还要嵌套一个可以上下滑动且上拉刷新的布局。如下图:使用NestedScrollView+RecycleView可以解决滑动冲突的问题,但是上拉刷新会卡顿。猜想:应该是顶层布局对事件进行了拦截,没有把触摸事件下发。试验:重写NestedScrollView的拦截事件onInterceptTouchEvent()判断其是否已经拉到最后且判断其是上拉还是下拉...

2018-12-05 11:32:51 487

原创 shape

项目背景:需要一个圆形渐变的背景,此时需要用到drawable里面的shape。gradient1.属性意义<gradient android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变 a

2018-09-28 14:37:55 123

原创 android心跳包

心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。主要作用是使客户端和服务器保持长时间的连接。这里记录的是android客户端向服务端发送心跳包。1.HeartbeatService 心跳包public class HeartbeatService extends Service implements R

2018-02-07 14:50:41 556

原创 蓝牙扫描过滤

需要实现一个过滤条件为DeviceName的功能。1.蓝牙扫描的时候有两种方法。1.1 mBluetoothAdapter.startLeScan(mLeScanCallback);(这个方法已经过时) BluetoothManager bm = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); Blu

2018-01-16 16:53:21 4780 2

原创 Android 文件关联

android实现关联文件

2017-10-26 21:12:53 467

原创 Java内部类

内部类:总的来说内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类 成员之间可以相互访问。但外部类不能访问内部类的实现细节,例如内部类的成员变量。内部类分为非静态内部类、静态内部类、匿名内部类。1.非静态内部类可以任意设置访问控制。如private,protected、public和默认。非静态内部类里面不能有静态方法、静态属性、静态初始化块。根

2017-09-12 20:10:34 151

原创 Java内存划分

Java把内存划分为两种:栈内存,和堆内存。栈内存:在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配。堆内存:用来存放由new创建的对象和数组以及对象的实例变量。

2017-09-10 20:14:32 146

原创 android加入谷歌地图(2)

本项目开发使用Android studio,本篇主要讲谷歌地图定位。一些比较重要的点:1.表示是要获取位置 mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFa

2017-08-02 20:42:46 287

原创 android加入谷歌地图(1)

本人使用的是android studio一、下载谷歌服务包(Google Play)二、创建谷歌地图项目1.Android Studio 菜单栏中的 File,然后点击 New、New Project2.在“Add an activity to Mobile”对话框中选择 Google Maps Activity。三、获取谷歌地图API秘钥

2017-08-02 09:23:57 624

转载 Java垃圾回收机制

原文:http://www.cnblogs.com/ywl925/p/3925637.html好文:http://www.cnblogs.com/andy-zcx/p/5522836.html在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。Java的内存分配与回收全

2017-07-11 14:18:51 157

原创 java集合

集合类型主要有3种:set(集)、list(列表)和map(映射)。1.Set2.List3.Map

2017-07-02 17:08:00 150

原创 Static

Static静态:static用法:是一个修饰符;用于修饰成员(成员变量和成员函数);当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用格式:类名.静态成员.静态的特点:1.随着类的加载而加载也就是,说静态会随着类的消失而消失,说明静态的生命周期最长2.优先于对象的存在明确一点:静态是先存在的对象是后存在的3.被所有对象共

2017-06-19 16:41:51 183

原创 单链表的逆置

单链表的逆置有很多方法,这里记录下一种利用头结点和第一个存储数据元素的节点之间不断插入后继元素节点public void reverse(){ StuNode p = head.getNext(); if(p==null) return; StuNode q = p.getNext(); if(q==null) return; p=q; q=p.getNext();

2017-06-19 15:47:20 247

原创 String、StringBuffer和StringBuilder

StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都 会引发新的String对象的生成;String s = "abcd";s = s+1;我们明明就是改变了String型的变量s的,为什么说是没有改变呢? 查看源码得知,String类的声明是:public final,所以可以很清楚的知

2017-06-10 15:30:33 161

原创 周数选择

最近在做一个选课之类的项目,其中有一个周数选择,先上效果图1.对话框文件dialog_week_select.xmlxml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="2

2017-05-09 18:25:58 297

转载 Ubuntu下QT安装

经测试完美解决-------------------------------------------------------------最近需要在Ubuntu下开发桌面软件,想起了QT。书上介绍的方法太老了,网上找了一大堆安装方法,都或多或少有各种问题,以下是我自己摸索出来的与大家分享!另外不建议大家现在用QT5,参考资料不多,建议初学者先从QT4学起。本文写作时间是2013年11月份。

2017-05-06 20:54:54 687

原创 struts2+hibernate+mysql

1.先导lib2.新建"hibernate.cfg.xml"文件3.在web.xml添加过滤

2017-05-05 22:36:19 253

空空如也

空空如也

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

TA关注的人

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