- 博客(85)
- 资源 (18)
- 收藏
- 关注
转载 [转载]Android分区存储
https://juejin.cn/post/7306815404562137128?share_token=80afc2ff-b51a-4cdd-b3d9-b3974e5b2c29
2023-11-30 19:53:57 72
原创 快慢指针应用场景 - Java版
1. 判断单向链表是不是一个环形链表//判断是否有环,快指针走两步,满指针走一步,如果有环,两个指针会相遇 public static boolean isRing(PointerBean root) { if (root == null) { return false; } PointerBean fast ...
2019-12-16 14:57:35 445
原创 Linux安装RethinkBD
1. 添加镜像 1. 打开etc/apt sources.list配置文件 sudo gedit /etc/apt/sources.list 2. 添加如下内容#官方源deb https://http.kali.org/kali kali-rolling main non-free contribdeb-src https://http.kali.org/k...
2019-10-10 11:48:14 933
原创 Android DataBinding原理分析
DataBinding的使用,请戳这里,本文主要是介绍DataBinding原理1. DataBinding作用,实现一个MVVM2. DataBinding使用的主要技术点,Java APT,观察者,注解等3. DataBinding关键类ActivityMainBindingImpl 具体实现了绑定ViewDataBinding 持有activity或者fragment和V...
2019-03-13 19:24:56 2739
原创 Java二叉树遍历 - 递归和非递归实现
package tree;public class Test { public static void main(String[] args) { TreeNode tn1 = new TreeNode(1); TreeNode tn2 = new TreeNode(2); TreeNode tn3 = new TreeNode(...
2019-03-13 16:43:00 172
原创 求整数n的二进制数 1的个数,0的个数
常见方法x&(x-1) 统计对一个数中二进制1的个数x|(x+1) 统计对一个数中二进制0的个数 //统计二进制1的个数 private static int OneN(int n) { int count = 0; while (n != 0) { count++; n &...
2018-11-13 17:48:54 593
原创 java最长公共子序列
先搞明白两个概念,最长公共子序列 和 最长公共字串的区别,两者最大的区别是,最长公共子序列不要求连续性,而最长公共字串要求连续:例如:X = “abcder”,Y = “abcxyr”,这两个字符串的最长公共子序列是 “abcr”,而他们的最长公共字串是“abc”我们用动态规划法来求解最长公共子序列,因为最长公共子序列具有最有子结构性质,可以分成子问题来递归求最优解,最后组合子问题求解出问...
2018-11-06 20:10:10 570
原创 Java斐波那契数列
斐波那契数列又称黄金分割数列,从第三个数开始,每一个数是前两个数的和。例:0,1,1,2,3,5,8,13...三种方法实现斐波那契数列 //(1)递归:函数自己调用自己 //(2)递归的"缺陷":递归到一定程度,会发生"栈溢出" //(3)递归的"时间复杂度":递归总次数*每次递归的次数 //递归的"深度":树的高度(递归的过程是一个"二叉树") ...
2018-11-02 11:24:01 428
原创 Java代码优化
1、尽量指定类、方法的final修饰符带 有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是 final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该 类所有的方法都是final的。Java编译器会寻找机会内联所有的fin...
2018-08-02 12:02:00 136
原创 Android读取手机联系人
package com.example.contactstest;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android...
2018-04-15 21:43:13 448
原创 AndroidDatabinding的使用进阶之注解(四)
1. 前言Databinding提供了很多有用的注解,介绍两个介绍几个常用的注解@BindingAdapter使用BindingAdapter注解来创建一个自定义的xml属性。当这个属性以正确的类型设置到布局文件中时,data binding 框架会触发被注解的方法。注解方法必须是静态的。对于一些View本身就没有android:xxxx或者app:xxx属性,我们是使用不了,但是...
2018-03-09 17:09:01 1001
原创 AndroidDatabinding的使用之事件绑定(三)
1. 前言Databinding事件绑定,分两种方式:方法引用和监听绑定,下面分别用案例介绍两种事件绑定的异同* 方法引用<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht...
2018-03-09 16:29:29 3308
原创 AndroidDatabinding的使用之双向绑定(二)
1. 需求假设有一种情况,当我们在EditText里面输入内容的时候,如果此时我们的User已经和EditText关联,那么我们希望当输入框内容改变的时候,User对应的字段也发生变化,反之User发生变化的时候,输入框的内容也会跟着变化。这也是MVVM架构的思想,有了databinding框架,就可以帮我们快速实现一个MVVM架构。2. 实现对于我们的Model来说,我们要实现框架提...
2018-03-09 15:57:58 1823
原创 AndroidDatabinding框架使用(一)
1. 前言2015年的Google IO大会上,Android开发团队发布了一个数据绑定框架(Data Binding Library),官方原生支持 MVVM 模型。可以直接在 layout 布局 xml 文件中绑定数据,无需再 findViewById然后手工设置数据。官方地址:https://developer.android.google.cn/topic/libraries/d...
2018-03-09 15:12:50 1485
原创 SeekBar学习笔记
布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" a...
2018-02-25 18:12:18 153
原创 ProgressBar学习笔记
布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" an...
2018-02-25 17:37:37 143
原创 安卓Theme属性简介
/*Android自带的Theme如下: 1、Android:theme="@android:style/Theme.Dialog" 将一个activity显示为对话框 2、Android:theme="@android:style/Theme.NoTitleBar" 应用程序无标题栏 3、Android:theme="@android:style/T
2018-01-06 21:26:50 1629
原创 android图片压缩工具类
package com.liuyk.compress;import java.io.FileInputStream;import java.io.IOException;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapFactory.O
2017-12-20 22:45:31 368
原创 Android打开其它APP的两种方式
在实际开发中,或许我们会需要打开一个别的APP,下面介绍下Android如何在自己的应用里面打开其它的应用。方式1:如果我们知道包名和默认启动的Activity,可以用如下方式打开:Intent intent = new Intent();ComponentName cn = new ComponentName("packageName", "默认启动的activity");inten
2017-10-20 09:04:37 15079 5
原创 基于github或者码云平台的使用git提交,下载,更新项目
1. 创建项目 1)登录Github或者码云账号,点击Repository -> New2. 安装Git客户端 1)下载地址:http://git-scm.com/download/3. 创建SSHKey 1)$ ssh-keygen -t rsa -C "64107122@qq.com" 2)添加SSHKey Setting -> SSH
2017-09-29 11:23:38 411
原创 Android加载so文件报java.lang.UnsatisfiedLinkError: has text relocations
错误详情:加粗字体是我的包名路径,可忽略 java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.example.th.elive-2/lib/arm/libanylive.2.0.1.so: has text relocations出现这个异常,是因为你项目的targetSdkVersion太高,你的so库不能支持
2017-09-25 14:33:14 522
原创 U盘被写保护解决方案
1. 先用芯片无忧确认U盘的芯片型号如图:2. 根据芯片制造商和芯片型号 下载可用的量产工具建议在U盘量产网下载量产工具下载地址http://www.upantool.com/liangchan/注意:量产工具一定下载正确,它是和芯片制造商和型号对应的我下载的慧荣的如图:
2017-09-22 15:09:38 1869
原创 安卓使用SmsManager实现短信发送
安卓使用SmsManager实现发送短信关键代码实现package com.example.sms;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.telephony.SmsManager;import android.text.Tex
2017-09-05 21:12:50 1490
原创 自定义HorizontalScrollView实现水平滚动导航条
核心代码:package com.liuyk.widget;import android.content.Context;import android.graphics.Color;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import
2017-02-06 16:37:11 3744
原创 品读Java String类
剖析Java String类那些细微的知识:/** * 常量池中有且只有一个相同对象 */ String s4 = "123"; String s5 = "123"; System.out.println(s4 == s5);//true /** * 程序加载String s6 = "123";的时候会在常量池中创建"123"这个对象,s6指向"123"
2016-04-15 10:40:48 401
原创 Looper
Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更 新UI等。MessageQueue:消息队列,用来存放Handle
2016-03-11 15:30:56 374
原创 android值得推荐的开源框架简介
1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载; (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请
2016-01-12 15:36:11 416
原创 计算ListView滚动的距离
直接贴代码private abstract class ListScrollDistanceCalculator implements AbsListView.OnScrollListener { private boolean mListScrollStarted; private int mFirstVisibleItem; private
2015-12-10 15:28:59 446
原创 Android将px转成dp
px:传入的px单位值int Dp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, px, getResources().getDisplayMetrics());
2015-10-13 14:52:00 427
原创 Java单例设计模式详解
java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。优点:实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实
2015-08-14 16:56:48 638
原创 Android Studio 编译Gradle提示编码错误
在Android Studio中,如果我们的代码有中文注释,显示的时候完全正常,而编译的时候Gradle就会报错,但是又可以编译成功,而且Gradle报的错误信息,也是乱码!这样我们就不好寻找错误原因,(挺坑人的....)说了这么多,下面说解决办法:其实那个乱码错误信息是"编码 UTF-8 的不可映射字符",所以我们可以用如下办法解决首先在设置中设置字符集:Settings->
2015-08-12 10:32:33 1698
原创 Android Frame(AnimationDrawable 逐帧动画)的使用
1、activitypackage com.example.frametest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.os.MessageQueue;import android.vi
2015-07-08 14:29:32 819
原创 安卓getSystemService
getSystemService是Activity中的方法,根据传入的name来取得对应的服务对象,这些服务名称参数都是Context类中的常量 Name 返回的对象 说明WINDOW_SERVICE
2015-06-26 09:47:43 1036
原创 android的Dialog全屏、activity大小的设置详解
引言:一搬的Dialog系统默认是不允许全屏的,下面我们介绍几种Dialog全屏的方式第一、final Dialog dialog = new Dialog(WenDetailActivity.this, R.style.popupDialog); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
2015-06-19 09:18:18 9903
原创 onTouch与onTouchEvent方法介绍
1、onTouch()方法 在view的onTouchListener()接口中定义,当一个view绑定了一个onTouchListener后,有touch事件触发时,就会调用onTouch()方法(手指放view上,会一遍一遍的调用)2、onTouchEvent 是activity的方法,重写了activity的方法onTouchEvent后,当屏幕有
2015-06-15 14:13:13 1993
原创 U盘安装windows xp/win7系统
一、准备工具1、u盘一个(至少4G)2、可上网电脑一台二、制作U盘启动盘1、下载U盘启动盘制作工具(流行的有:大白菜、老毛桃和电脑店等)2、将启动盘下载完成后,安装到电脑上,在这里需要注意的是,制作工具不要下载到U盘里,在安装制作工具时,U最好不要插在电脑上3、安装好后,制作之前,注意保存U盘里的数据,因为制作启动盘需要格式化U盘,然后启动制作工具,点击一键制作U盘
2015-06-14 12:01:20 882
原创 安卓异步加载图片(缩略图显示)的实现
/** * 根据指定的图像路径和大小来获取缩略图 * 此方法有两点好处: * 1. 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根据比例压缩过的图像,第三次读取的bitmap是所要的缩略图。 * 2. 缩略图对于原图像来讲没有拉伸,这里
2015-06-13 15:40:17 2467
原创 android R文件不在自动生成资源id
关于android R文件不在自动生成资源id的问题解决:1、设置eclipse->project->build automatically2、上述没有解决的话 project->clear
2015-05-13 08:30:08 3669 2
转载 ListView中getChildAt(index)的使用
1.原理 在很多时候ListView列表数据不需要全部刷新,只需刷新有数据变化的那一条,这时可以用getChildAt(index)获取某个指定position的view,并对该view进行刷新。 注意:在ListView中,使用getChildAt(index)的取值,只能是当前可见区域(列表可滚动)的子项! 即取值范围在 >= ListView.getFirstVisibl
2015-04-26 16:10:52 698
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人