- 博客(330)
- 资源 (33)
- 收藏
- 关注
原创 Android快速开发教程备忘录
Android DataBinding 从入门到进阶https://www.jianshu.com/p/bd9016418af2
2020-11-11 22:26:49 385
原创 Android开发问题备忘录
Android 使用 databinding:view must have a tag这个坑是databinding编译时的问题,将xml布局文件重命名之后,就解决了如:activity_main.xml 改为activity_main_2.xml
2020-10-20 15:21:17 561
原创 Android知识点备忘录
Android Fragment onCreat() 方法是在Activity onCreat 时候调用。onCreateView 调用多次。
2020-10-13 09:42:09 155
原创 Git使用教程
配置用户信息当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:$ git config --global user.name "John Doe"$ git config --global user.email johndoe@example.com再次强调,如果使用了 –glo
2016-12-29 10:15:11 653
原创 使用Gradle发布项目到JCenter仓库
这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛。JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用。步骤基本是按Publishing Gradle Android Library to jCenter Repository这里来的
2015-04-18 19:07:53 2294 1
原创 Android学习——查看apk签名 和 keystore 的信息
1、查看 keystore $ keytool -list -keystore debug.keystore结果Keystore type: JKSKeystore provider: SUNYour keystore contains 1 entryandroiddebugkey, Mar 21, 2013, PrivateKeyEntry,
2014-01-23 11:52:53 32623
原创 Java 中断言 assert
如果 num 是一个正数,断言将不会产生任何效果。如果 num 是一个非正数,断言会失败,并抛出 AssertionError 异常,并附带错误信息 “Number should be positive”。在Java中,断言(assert)是一种调试辅助工具,可以用于在开发和测试阶段验证程序的某些假设条件。如果 的结果为 false,则抛出 AssertionError 错误,并且可以附带 。assert : ;
2024-03-18 20:46:38 211
原创 Glide 设置图片圆角和 scaleType 冲突
android:scaleType=“fitStart”:等比缩放,直到一边充满,另一边小于等于边界,较小一边与ImageView头部对齐。android:scaleType=“fitEnd”:等比缩放,直到一边充满,另一边小于等于边界,较小一边与ImageView尾部对齐。等比缩放,直到一边充满ImageView,另一边大于等于ImageView边界,超出ImageView的那一边被居中裁剪。7.android:scaleType=“fitXY”:不等比缩放,拉伸并缩放图片,直到完全填充。
2023-07-24 19:50:40 744
原创 用 CameraX 拍照并添加水印并保存到相册
CameraXCameraX 是一个用于简化相机开发的 Jetpack 组件,它提供了一组易于使用且一致的API,使开发者能够轻松地实现相机功能,而无需处理底层的相机硬件和 API。
2023-07-05 11:19:36 756
原创 Java8 四大核心函数式接口 Function、Consumer、Supplier、Predicate使用示例
定义函数示例:Supplier supplier= () -> 100;定义函数示例:Consumer consumer= p -> System.out.println§;// 因为没有出参,常用于打印、发送短信等消费动作。定义函数示例:Predicate predicate = p -> p % 2 == 0;调用方法:boolean test(T t);调用方法:void accept(T t);调用方法:R apply(T t);T:入参类型,R:出参类型。调用方法:T get();
2023-06-15 08:53:29 576
原创 在 Java 中 null.equals(““) 和 ““.equals(null) 区别
在 Java 中,如果使用 null 来调用一个对象的方法,会导致空指针异常(NullPointerException)
2022-12-08 15:06:23 5754
原创 在 Java 中实现单例模式通常有两种方法
在懒汉式中,单例类的实例在第一次使用时创建。这种方法可以避免在不需要的时候创建单例类的实例,但是它需要使用同步方法来避免多线程环境下的问题。
2022-12-08 13:16:49 368
原创 iOS开发填坑指南1.0 (Swift版)
1, json解析处理Null值//json格式{ "data": "1784", // "message": "成功", "status": 200}失败情况{ "data": null, "message": "短信已发送,请稍后重试", "status": 500}struct VerifiedCode: Codable { let status: Int // let data: String private let
2021-11-05 14:17:22 1420
原创 swift创建UIAlertController
{let title = “服务协议和隐私政策” let linkDic = ["《服务协议》": "http://api.irainone.com/app/iop/register.html", "《隐私政策》": "http://api.irainone.com/app/iop/register.html",] let string = "\n\t服务协议和隐私政策:请你务必审慎阅读、充分理解“服务协议”和“隐私政策“各条款,包括但不限于:为了向你
2021-11-04 09:40:48 1912
原创 无感地获取全局context
在安卓开发的过程中,通常自定义一些工具类,或者module甚至是一些sdk的时候,都会用到一个context。这些context对象,一般也是全局context。本文介绍的是如何在代码中,无感地获取全局context。首先,新键一个类,继承一个ContentProvider。实例代码如下:package com.north.light.libshare.contentprovider;import android.content.ContentProvider;import android.con
2021-11-02 09:22:34 209
原创 git push.default设置
在进行一次空仓库的提交时,我遇到了这个警告警告如下:warning: push.default 未设置,它的默认值将会在 Git 2.0 由 ‘matching’修改为 ‘simple’。若要不再显示本信息并在其默认值改变后维持当前使用习惯,进行如下设置:git config --global push.default matching若要不再显示本信息并从现在开始采用新的使用习惯,设置:git config --global push.default simple参见 ‘git help
2021-09-10 14:01:15 931
原创 单例模式-双重校验锁缘由
/** * 单例模式-双重校验锁 */ public class SingleTon3 { private SingleTon3(){}; //私有化构造方法 private static volatile SingleTon3 singleTon=null; public static SingleTon3 getInstance(){ //第一次校验 if(singleTon...
2021-08-29 16:22:34 180
原创 SourceTree添加 SSH Key
一开始我老是添加错误,原因是ssh客户端类型选的不对,应该选择OpenSSH。注意文章1.2 的设置。1.使用 git 客户的生成公私钥:id_rsa、id_rsa.pub1.1设置Git的user name和email:$ git config --global user.name "xxx"$ git config --global user.email "xxx.mail@xxx.com"1.2.生成SSH密钥过程:1.2.1.检查是不是已经存在密钥(能进去说明已经存在..
2021-08-18 21:44:06 702
原创 Mac Too many open files in system
mac Too many open files in system查看限制launchctl limit maxfiles结果maxfiles 256 unlimited增大限制vim /etc/sysctl.confkern.maxfiles=65536kern.maxfilesperproc=65536docsis-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7-1
2021-06-04 13:54:20 1340
原创 Kotlin学习记录
function syntaxfun start(): String = “OK”Kotlin有针对Java的NullPointerException管理,kotlin开发中也会有很多?和!!出现,对于初学者来说肯定很糊涂。? 表示当前对象可以为空,即可以 = null!! 表示当前对象不为空的情况下执行 /** * name 可以为空,即name = null; * 因为name有为空的可能性,所以people使用name时,需要在name后加!!, * 代表n
2021-06-02 15:29:05 138
原创 Flutter布局
布局SizedBox(设置具体尺寸)ConstrainedBox(限定最大最小宽高布局)ConstrainedBox的使用,示例代码如下所示:ConstrainedBox( constraints: BoxConstraints( maxHeight: 200,//最大高度 maxWidth: 200,//最大宽度 minHeight: 150,//最小高度 minWidth:
2021-06-02 15:27:47 226
原创 Kotlin 协程的核心竞争力在于:它能简化异步并发任务。
协程Kotlin 协程的核心竞争力在于:它能简化异步并发任务。作为 Java 开发者,我们很清楚线程并发是多么的危险,写出来的异步代码是多么的难以维护。3. 异步代码 & 回调地狱以一段简单的 Java 代码为例,我们发起了一个异步请求,从服务端查询用户的信息,通过 CallBack 返回 response:getUserInfo(new CallBack() { @Override public void onSuccess(String response) {
2021-06-02 15:26:35 152
原创 Flutter环境配置
Flutter环境配置https://www.cnblogs.com/qiu-Ann/archive/2004/01/13/12461628.html注:最好更改pub地址为国内地址。PUB_HOSTED_URL=https://mirrors.cloud.tencent.com/dart-pubFLUTTER_STORAGE_BASE_URL=https://mirrors.cloud.tencent.com/flutterMachttps://www.jianshu.com/p/2bb9e1
2021-06-02 15:24:47 114
原创 Flutter 路由
Flutter 路由第一点:push使用1.pushNamed——Navigator.of(context).pushNamed('routeName');此种方法只是简单的将我们需要进入的页面push到栈顶,以此来显示当前页面,其参数是一个字符串类型,传入的是页面对应的路由名称该路由名称需要在程序主入口中进行定义。定义方法为:void main() { runApp( new MaterialApp( home: new Screen1(), r
2021-06-02 15:24:05 876
原创 Dart快速开发概览
Dart快速开发概览// Define a function.void printInteger(int aNumber) { print('The number is $aNumber.'); // Print to console.}// This is where the app starts executing.void main() { var number = 42; // Declare and initialize a variable. printInteger(n
2021-06-02 15:16:15 136
原创 Compose初探
Compose Learn about Compose , a modern toolkit for building native Android UI.1. 简介Jetpack Compose是在2019Google i/O大会上发布的新的库。Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度。 说实话,View/Layout的模式对安卓工程师来说太过于熟悉,对
2021-06-02 15:15:03 541
原创 document.getElementsByClassName()与document.getElementById()
document.getElementsByClassName()与document.getElementById(),大家应该对这两个方法都非常的不能再熟悉的js方法了,就是获取DOM元素嘛,有什么难的。今天我在这两个简单的方法上面犯了错误。我页面中有一个按钮button,把按钮的结构代码直接贴上来吧,说的不直观,直接看代码最好了。<button type="button" class="btn" id="btn-commit">提交</button>我要的效果是获取到这
2021-03-16 14:23:51 1384 1
转载 机器学习(Machine Learning)学习总结
文章来源:https://mengepeng.com/2020/08/13/Machine-Learning/人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)、神经网络(Neutral Network)等等这些专业术语在平时学习和工作中经常出现,但有时感觉似懂非懂,傻傻分不清楚,所以决定在此简单的总结一下。从上图可以看出,人工智能、机器学习、神经网络、深度学习之间是包含关系,「人工智能」是最.
2021-01-20 15:29:37 848
原创 Fragment already added 问题
按照常规Tablayout + Viewpager + Fragment然后报错Fragment already added 。根据错误信息找到FragmentManager中, makeActive(fragment); if (!fragment.mDetached) { if (mAdded.contains(fragment)) { throw new IllegalStateException("Fragment .
2020-10-16 11:06:24 4119 1
原创 ArrayList和LinkedList的区别
从实现看:LinkedList底层实现是双链表 ArrayList底层实现是动态数组从扩容机制看:LinkedList不存在扩容 的说法,因为是链表结构。 ArrayList底层是动态数组存在扩容说法,默认的数组大小是10,在检测是否需要扩容后,如果扩容,会扩容为原来的1.5倍大小。原理就是把老数组的元素存储到新数组里面从优点看:ArrayList的查找性能好,因为底层是数组,适用于查找元素。 LinkedList底层是双链表,对于插入或者删除元素来说,操作方便,性能高。从缺点看:
2020-09-09 09:07:45 763
原创 Android学习——解决NestedScrollView 布局不能撑满屏幕的问题
发现使用NestedScrollView嵌套使其布局超出屏幕时滑动;想让最后一个子布局位于屏幕最底方;各种方法都不行,后来发现NestedScrollView 的 子布局不能撑满整个屏幕,而是包裹内容,按照wrap_content来计算,哪怕写的 match_parent也没用;解决办法:添加属性:android:fillViewport="true"<...
2020-03-31 14:36:11 2225
原创 Android学习——在 Html.fromHtml 中的换行处理
你可以通过做这样的事情在您的文本替换所有 \r\n 和空格://message is your string.message = message.replace("\r\n","<br />");message = message.replace(" "," ");termsAndConditionsTextView.setText(Html.fromHtml(messa...
2020-03-27 11:05:36 2941
原创 Android学习—— TextView空格占位符以及一些其他占位符汇总
  == 普通的英文半角空格  == ==   == no-break space (普通的英文半角空格但不换行)  == 中文全角空格 (一个中文宽度)  ==   == en空格 (半个中文宽度)  ==  ...
2020-03-24 14:54:04 602
原创 Android 9.0 WebView多进程问题
问题概述问题描述Android 9.0及以上版本,多进程使用WebView会引发程序崩溃。官方说明在 Android 9 中,为改善应用稳定性和数据完整性,应用无法再让多个进程共享一个 WebView 数据目录。如果您的应用必须在多个进程中使用 WebView 实例,则您必须先使用 WebView.setDataDirectorySuffix() 方法为每个进程指定唯一的数据目录...
2019-12-13 15:56:32 4845
原创 《Android 高性能编程》—— @IntDef 注解,减缓枚举的使用
在Android开发中官网不推荐使用枚举enums。为什么呢?占用内存多(Enums often require more than twice as much memory as static constants.)。 Android中当你的App启动后系统会给App单独分配一块内存,App的DEX code、Heap以及运行时的内存分配都会在这块内存中。例如:public cl...
2019-12-11 16:00:09 368
精益数据分析 Lean Analytics.pdf
2018-06-18
viPlugin_2.9.0 eclipse 插件 附带xx方法
2012-07-11
sqlite developer SqliteDev387.zip sqlite管理工具
2011-12-18
JD-GUI Window下的 jar2java 有图形界面的 ( jd-gui-0.3.3.windows.zip
2011-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人