自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FREE_CODER

做智慧的主人。

  • 博客(95)
  • 收藏
  • 关注

原创 安卓端简易FTP客户端APP开发

先上效果图:本文的FTP客户端基于commons-net-3.3.jar库实现。实现了ftp服务器登录。单个文件的下载和上传,以及本地复制和删除文件。一、登录服务器活动模块编写:这块呢首先是要编写一个登录的界面的。我的界面XML如下:主要就是利用TextInputLayout这个控件来编写的。不清楚这个控件的可以 百度/Google学习一下。<?xml...

2019-10-28 20:30:41 4897 7

原创 简单的Android端新闻App的实现。

先上效果图:图一 : 图二: 在此先感谢我本次app开发所用的api分享者贴上文章链接,各位读者如有需求请移步此链接:https://www.jianshu.com/p/48f6c2c6f14c总体思路概述: 如图本app界面简单,图一的最顶端是安卓原生的标题栏,图二的最顶端是我自己定义的标题栏,具体代码后面再说。图一标题栏下面是五个TextV...

2019-03-04 19:14:43 23094 81

原创 KMP算法详解(易理解)

前言:断断续续得学习KMP算法已经有些时间,每次看这个算法都会有更进一步得理解。至今,总算对整个KMP算法有了个完整的理解。简单模式匹配算法:KMP算法的产生是源于字符串模式匹配问题的。因为原始的朴素模式匹配算法太过粗糙,效率低所以才有科学家发明了KMP算法的。朴素的模式匹配算法流程:将模式的首位与主串首位比较如果相等则比较下一位,否则主串往后跳一位重新执行前面的操作。直到主串跳完或者模式...

2018-12-09 21:56:50 253

原创 Android 简单音乐播放器开发

我把我最新的版本可以定时关闭,界面做了很大优化。GitHub上需要的可以下载:https://github.com/DhyanaCoder/IMusic ———————————————————————————————————————— 首先看一下我的项目结构: ...

2018-09-22 16:44:00 4418

原创 面向对象的设计原则

设计模式的开放封闭原则、依赖倒转原则、里氏替换原则的介绍。

2023-03-05 21:18:16 119

原创 ViewModelScope 避免内存泄漏的原理

ViewModelScope 避免内存泄漏的原理

2023-02-06 17:51:21 560

原创 Flutter 学习之 statelesswidget 基础

flutter widget 基础

2023-02-04 11:33:43 239

原创 BottomNavigationView+ViewPager2 实现底部导航栏

使用 ViewPager2 和 BottomNavigationView 构建了一个底部导航栏

2023-02-02 16:14:37 1472

原创 Compose 学习笔记之布局函数

Compose 布局函数笔记

2023-01-05 10:41:15 180

原创 StateFlow 不更新问题

stateFlow 不更新的情景解析。

2022-12-26 17:46:37 953

原创 Diaolg 点击事件透传给 Activity

Dialog 透传点击事件给 Actiivity

2022-12-15 17:23:08 1357

原创 kotlin 的 when 语句学习笔记

kotlin 中 when 的基本使用方法kotlin 中的 when 的基本使用方法与 Java 中的 switch 类似。下面分别是用 Java 的 switch 和 kotlin 的 when 实现同一逻辑的代码。// Java 代码switch(x){ case 1: System.out.println("x is 1"); break; case 2: System.out.println("x is 2"); break; case 3: System.out.p

2022-03-29 16:47:29 4525 3

原创 Sdkmanager -licenses 报错 java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema

我相信大部分人是为了解决 Android Sutdio 的 licenses 未被接受问题,所以才执行的 Sdkmanager -licenses,然后发现执行命令后报了这个错误。但其实还有一种方法可以解决 licenses 未被接受问题,那就是在 AndroidStudio 的 SDK manager (如下截图)中将 Android API 的卸载然后再安装一次(把 Android API 前面的勾点掉,apply,再把勾点上,再 apply),重新安装时会提示你是否接受证书,选择接受即可。.

2022-02-12 00:44:51 3025 3

原创 Android 反编译方法

1.流程1.先用 apktool,或者其他解压缩工具将 apk 包解压得到 classex.dex 文件。2.用 d2j-dex2jar.sh 将得到的 classex.dex 文件转换成 jar。3.使用 JD-GUI 打开这些 jar 文件,查看源代码。

2022-02-08 17:07:50 2583

原创 Flutter-出现 Build failed with an exception 错误

对于这种错误(这张图是我在别的文章复制过来的,但是错误基本是相同的),网上有很多方案,比如使用阿里云镜像等。我试过一遍都没有用,所以我试了下降低 gradle 版本,降到一个本地运行过的项目中 gradle 版本。注意需要在两个地方修改一个是项目中的 android 下的 build.gradle 另外一个地方是你 flutter SDK 目录下的flutter.gradle (路径如下图所示)...

2021-08-21 00:37:07 1434

原创 点阵字符和矢量字符的区别

最近复习计算机图形学觉得这个知识点有点意思。把老师的ppt单独拿贴出来。做下笔记。

2020-05-15 14:42:32 5005 2

原创 C++课设-学生信息管理系统

前言:上学期的一个简单的C++课设项目一、问题描述:建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。使用继承的方法构造至少3个类,(即学生类——虚基类,一年级学生和二年级学生类——派生类)使用相应的对象放置10个学生信息。编写同名display()成员函数,用来输出数组的内容。按不同类别输出学生信息,比如按性别。要求对“<<”和“>>”运算符进行重......

2020-04-03 10:28:14 35790 15

原创 小程序页面跳转传递对象

背景:今天在做小程序页面跳转时,遇到一个需要传递对象的情况。在这里记录一下。基本方法:先把对象转换成JSON格式,然后跳转之后又从JSON转换回来。使用的函数:JSON.stringify():对象–>JSONJSON.parse():JSON->对象代码:1.对象–>JSON jump2speify:function(e){ var lookid=e.cur...

2020-02-09 14:41:11 1586

原创 计算机中的数(二)之原码、补码、反码及其转换

原码原码是机器数中最简单的一种表示形式,符号位为0表示正数,符号位为1表示负数,数值位即是真值的绝对值,故原码又称为带符号的绝对值表示。譬如101的原码是0,101。我们用逗号","","","作为符号位和数值部分的分隔符。原码正数定义[X]原={0,x2n>x≥02n−x,0≥x>−2n [X]_原=\begin{cases} 0,x \quad 2^n>x\ge...

2020-01-04 15:57:33 1079

原创 计算机中的数之一 无符号数与有符号数

引言 学过C语言的,都知道 C语言中有有符号数和无符号数。用int举例子也就是 int a;是定义了一个有符号数,而unsigned int a;是定义了一个无符号数。正文 我们按32位编译器来举例子,int变量是4个字节。也就是32位二进制数。 那么如果是无符号数,那么根据16位二进制数可以表示2^32个状态也就是 0~2^32-1这样的范围。(也就是0~4294967...

2020-01-04 13:04:45 728

原创 删除线性表中所有值为x的数据元素

长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。解法一:void del_x_l_1(Sqlist &L,int x){ int k=0; for(int i=0;i<L.length;i++){ if(L.data[i]!=x) L.data...

2019-12-29 20:49:48 2898

原创 C++矩阵类的实现(只有加法)

写这个类还是能学习到很多东西的,比如拷贝构造函数,友元函数,运算符的重载。以及对一些修饰符的理解。#include <iostream>#define INFINITE 999999;#define INIT 100;using namespace std;class Matrix{ public: Matrix(int m=1,in...

2019-11-10 16:36:27 2829

原创 Glide固定URL图片改变时更新方法。

当我们使用Glide框架去加载图片时,使用时非常方便的。但是有一个问题,就是对于同一个url对于glide是不会加载两遍的。因为glide默认开启缓存机制,为了节省流量glide会使用缓存里的图片。但是我们不想这样,我们想要更新。 解决方法一:取消缓存机制,示例代码如下: Glide.with(getContext()).load(path) .skipMemor...

2019-09-21 20:36:45 1241

原创 安卓BLE蓝牙开发入门

最近做了有关安卓BLE蓝牙开发的东西,所以在这里记录一下,是一些入门的知识。希望能帮到正需要学习安卓ble蓝牙开发的同学。 介绍:安卓 4.3(API 18)为 BLE 的核心功能提供平台支持和 API,App 可以利用它来发现设 备、查询服务和读写特性。相比传统的蓝牙,BLE 更显著的特点是低功耗。这一优 点使 Android App 可以与具有低功耗要求的 BLE ...

2019-09-21 20:20:20 823

原创 Latex希腊字母输入

$$\alpha \quad \beta $$ %\quad 空格的意思$$\gamma \quad \Gamma$$ $$\delta \quad \Delta$$ $$\theta \quad \Theta$$ $$\epsilon \quad \pi $$$$\Pi \quad \omega $$$$\Omega$$

2019-09-21 19:27:05 4077

原创 Latex各种矩阵的输入方法

代码顺序同上顺序:%导言区\documentclass{ctexart}\usepackage{amsmath}%正文区\begin{document} \[ \begin{Bmatrix} 1&2\\ 4&5 \end{Bmatrix} \] \[ \begin{matrix} 1&2\\ 4&a...

2019-09-21 19:15:09 9512

原创 latex公式输入详解

公式输入一般有这么几种情况:行间公式,行内公式,分段公式。行内公式$a=b+c$行间公式$$a=b+c$$or\begin{equation}a=b+c\end{equation}%后者是带编号的。分段公式 \begin{equation} f(x)=\begin{cases} 3x,x>0\\ 2x,x\leq 0 \end{cases}\end...

2019-09-21 19:12:19 6222

原创 排序算法之快速排序

最近复习了排序算法。仅在此略加笔记,以备后需。来日有时,再详细说明。#include <stdio.h>int partition(int L[],int low ,int high);int quickSort(int L[],int low ,int high);int main(void){ int L[18]={0,5,3,6,0,8,1,4,2,45,23,1...

2019-09-19 21:23:57 100

原创 Android登录模块代码解析

最近需要写一个登陆模块,对于登陆模块,心里自然有些数,无非是用户名,密码之类尔。 但是我发现androidstudio的活动模板里有个登录模板,于是就想学习一下官方的写法了。 XML文件 先看一下XML文件吧。这个XML文件外层是线性布局,登录那一块用得是TextInputLayout。很...

2019-07-25 12:00:40 940

原创 Latex入门(二)

%导言区\documentclass{ctexart}\usepackage{fancyhdr}\fancyhf{} %清除以前对页眉页脚的设置\pagestyle{fancyplain} %清除页眉\renewcommand\headrulewidth{0pt}%清除页眉横线\title{\heiti \zihao{3} Latex 学习}\author{\songti \...

2019-07-09 10:19:43 673

原创 Latex入门(一)

%导言区\documentclass{ctexart}%设置中文环境用的%\usepackage{ctex}\title{Latex学习}%写标题\author{OnexTwo}%作者\date{(\today)}%日期 \today意思是今天%正文区\begin{document} \maketitle%显示标题,不写这句话不会显示标题作者日期 \zihao{4}%...

2019-07-08 11:39:56 1213

原创 自定义标题栏 (已传GitHub,可直接引用)。

最近在学自定义View做了个自定义Titlebar,在此记录下要点。 如果你要看引用方式请直接拉到文末。 下面是自定义类的代码。我选择继承自RalativeLayout。InitView()是我创建的初始化UI的方法。在里面用LayoutInflater加载了布局文件,然后把一些控件赋值。 然后看第二个构造方法,在这里我又从自己创建的attr文件里拿到...

2019-06-04 17:09:41 274

原创 解决:All packages are not available for download! The following packages are not available

这真是一个旷日持久的BUG,折磨人的心结。 场景:某天正在学习,突然想看下某个类的源码,点进去,虽然发现源码了,但是看见AS上面有一行小字,提示我啥 :“Android API platform not found”,后面写了download refresh(if already download) 我下意识点了download 结果出来个进度条,过了一会儿告诉如标题所说:后...

2019-06-03 19:57:15 4952

原创 Caused by: android.os.TransactionTooLargeException:data parcel size 696260 bytes异常解决方案

今天写东西时遇到这个问题,很奇怪。 我是因为在intent里传了一个对象数组列表也就是List的原因。 查询资料:报TransactionTooLargeException异常的手机,集中在Android N的版本里,也就是版本号只有24和25的,低于24或者高于25的一概没有。我们的App最低兼容到了16,但是即便在很古老的4.0,4.1,4.4的手机上也没...

2019-06-01 16:18:38 3750

原创 leetcode 三数之和,3Sum

这个题目的通常思路是三重循环,这种通常做法有一个地方需要注意就是先排序,然后才好去重,不然去重毫无头绪。自己可以说很缺乏这种概念了,居然没想到。 这种排序去重的想法是这样的:排序之后一样的数字就在一起了,就可以用类似于nums[i-1]==nums[i]判断了。我原来的思路是用hashset去重,可是这样直接去重是不行的,举个反例,[1,1,-2]就被排除了,也就是说这样...

2019-05-31 15:49:15 121

原创 后序非递归法遍历二叉树

理解的关键在于,建立栈,前序遍历第一次遇到就排出,中序遍历第二次遇到排出,后序遍历第三遇到排出,用c时注意指针的使用。具体思想:一直沿着左支树走到底,并且将经过的节点压入栈,到底时,拿出栈顶元素,判断一下子,是第几次遇到它,如果是第三次就排出,并且把遍历指针设为NULL,否则就取其右孩子继续这个操作。以下是我从c开始实现的栈,树,等结构及其基本操作。然后在此基础上实现这个算...

2019-05-26 19:01:01 295

原创 leetcode.11. 盛最多水的容器

public class Solution { public int maxArea(int[] height) { int maxarea = 0, l = 0, r = height.length - 1; while (l < r) { maxarea = Math.max(maxarea, Math.min(heigh...

2019-05-25 13:23:39 121

原创 Java回调机制简单理解

回调机制在安卓很常见。所以有必要理解一下回调究竟是怎么一回事。所以我自己写了一个简单的回调的例子,辅助理解。我简单的在eclipse建了两个类:MainActivity 和 Fragment 模拟 安卓的 活动 和 碎片。 public class MainActivity { public static void main(String args[]) { ...

2019-05-08 21:48:48 156

原创 小程序开发:改变data中数组或对象的某一属性值

最近在做一个小程序页面的时候需要在一个列表渲染里点中一个view,这个view背景变白,其他的view保持原始状态背景蓝色。效果如图。代码情况如下:<view class="modelLayout2"><view class="timeSelection" hover-class='pressed' hover-stay-time='100' wx:for="...

2019-04-25 22:23:02 695

原创 IMAP与POP协议的区别

POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。同时,IMAP像POP3那...

2019-04-25 15:44:00 2119

空空如也

空空如也

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

TA关注的人

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