- 博客(52)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 Kotlin笔记三
Kotlin生成.class放入java编译器Kotlin 开发效率提高50%Kotlin 完美兼容javaKotlin 几乎解决了空指针问题《第一行代码第三版》Kotlin(十五)高阶函数接收Lambda参数的函数就可以被称为具有函数式编程风格的API,而如果你想要定义自己的函数式API,就要借助高阶函数来实现了。定义:如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么该函数就称为高阶函数。Kotlin添加了函数类型的概念,使得能够传入一个函数,还能够返回一
2021-04-27 15:59:43
219
原创 Kotlin笔记二
Kotlin生成.class放入java编译器Kotlin 开发效率提高50%Kotlin 完美兼容javaKotlin 几乎解决了空指针问题《第一行代码第三版》Kotlin(九)标准函数with函数:连续调用同一个对象的多个方法的时候可以让代码更加简洁//连续调用StringBuilder的append方法和toString方法 val list = listOf("Apple", "Banana", "Orange", "Pear", "Grape") val re
2021-04-21 20:47:54
219
原创 Kotlin笔记一
Kotlin生成.class放入java编译器Kotlin 开发效率提高50%Kotlin 完美兼容javaKotlin 几乎解决了空指针问题《第一行代码第三版》Kotlin(一)变量val a = 10 // 不可变的a,相当于finalvar a = 10 // 可变的a,相当于非finalvar a:Int =10 // 指定为Int型,注意I为大写,kotlin里面所有的基本类型都大写了(二)函数fun methodName(param1:Int , param2:Int):
2021-04-19 14:27:15
194
原创 android: view滑动冲突demo
一、首先我们玩坏一个viewpager因为viewpager内部已经给我们解决了滑动冲突,因此我们先把它弄坏了,这样可以看到滑动冲突(1)新建一个类badviewpagerpublic class BadViewPager extends ViewPager { public BadViewPager(@NonNull Context context, @Nullable AttributeSet attrs) { super(context, attrs); }
2021-01-18 16:18:33
270
原创 java:怎么开启线程,有几种方法?
方法一:继承Thread1》定义一个类继承Thread2》重写run方法3》创建线程对象4》开启线程 public static void main(String[] args) { //创建线程对象 MyThread myThread = new MyThread(); //开启线程 myThread.start(); } //定义一个类继承Thread public static class MyT
2021-01-15 20:11:52
424
原创 Android:自定义view的定义以及使用
自定义View:1.自定义属性声明与获取2.onMeasure3.onDraw4.状态的存储与恢复attr.xml<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="RoundProgressBar"> <attr name="color" format="color"></attr> <a
2020-12-14 14:05:23
202
原创 Android:在Application中开启Service获取手机上安装的Apk信息(service+广播+recyclerview+searchView)
(1)启动应用,开启服务,在服务里进行耗时操作 ✔(2)广播得到所有apk的应用,展示在recyclerView上面 ✔(3)搜索按钮的实现:用searchView+RecyclerView ✳注意点:1.service要在manifest里面进行声明2.获取到的app的Icon是drawable对象,databean的imageid要用drawable 类型字段3.imageView.setImageDrawable(Drawable drawable)..
2020-12-06 16:00:31
1644
原创 Android:使用原生方法来加载图片,并且显示图片
public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ima
2020-11-30 15:17:11
1366
原创 Android: okhttp3 的get和post
public class MainActivity extends AppCompatActivity { private static final String POST_URL = "https://api.github.com/markdown/raw"; private static final MediaType MEDIA_TYPE_MARKDOWN = MediaType.parse("text/x-markdown; charset=utf-8");
2020-11-29 18:13:19
439
原创 Android:文件读写报错FileNotFoundException: /storage/emulated/0/imooc.txt: open failed: ENOENT
问题定位1:可能没有打开访问权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UN
2020-11-27 12:59:23
2098
原创 android: layout_weight的详细说明
1.Wrap_content+layout_weight:先按照内容的多少去设定控件的大小,然后按照权重的比例来分配剩余空间注意:会随着内部内容的变化,比例而受到变化<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.andr
2020-11-25 13:32:28
477
原创 android: 怎么使用腾讯X5WebView
1.进入https://x5.tencent.com/tbs/sdk.html下载sdk2.打开android studio将jar包和so文件复制到你的demo中修改build.gradleandroid { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { applicationId "com.tcy.tickets" minSdkVersion 15
2020-11-23 21:10:16
1738
原创 android: 利用handler实现打地鼠游戏
xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/
2020-11-23 14:45:44
432
原创 android: handler实现倒计时功能(带有内存优化)
xml<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.androi
2020-11-23 11:45:05
379
1
原创 Android: 使用ViewPager完成app引导页
public class MainActivity extends AppCompatActivity {// int[] resourceId = {// R.layout.first,// R.layout.second,// R.layout.third// }; List<View> mListView; ViewPager viewPager; ViewGroup do.
2020-11-22 17:47:35
237
原创 [数据结构]两个数组的交集(leetcode349)c++
两个数组的交集(leetcode349)c++https://leetcode-cn.com/problems/intersection-of-two-arrays/class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { int count=0; set<int>st(nu
2020-11-16 09:45:26
164
原创 Android理解layout_gravity 和 gravity
一、区别gravity是设置自身内部元素的对齐方式。比如一个TextView,则是设置内部文字的对齐方式。如果是ViewGroup组件如LinearLayout的话,则为设置它内部view组件的对齐方式。layout_gravity是设置自身相当于父容器的对齐方式。比如,一个TextView设置layout_gravity属性,则表示这TextView相对于父容器的对齐方式。...
2020-11-15 18:16:14
207
转载 Android 理解padding和margin
具体解释可以通过一张图展现,如下,padding约束的是控件或布局显示的内容距离边框的距离,沿垂直边框向内压缩,padding越大,内容显示控件越小;margin这是沿垂直边框向外延伸的距离, 它的意思就是给控件加了一个一定距离的空白边,显示效果只与值大小正负相关,与其他元素边界无关。值得注意的是,padding值的范围[0,任意正数](默认为0),而margin的值则有正有负。想理解负值,首先要理解0值,当margin=“0dip”时,控件外延扩展的边为0,也就是边界挨着其它边缘;marg
2020-11-15 18:06:41
366
原创 Android进阶 笔记7
View的事件体系(二)《Android开发与探索》目录View的事件体系(二)一、View的弹性滑动1、使用Scrollera、三个构造函数b、理解一下startScroll()方法c、理解一下computeScrollOffser()方法d、重写View类里面的computeScroll()这个方法e、实现f、总结2、使用动画a.单纯使用动画来展示渐近效果b.模仿Scroller3、使用延时策略a.使用Handler或View的postDelayed方法b.使用sleep方法一、View的弹性滑
2020-11-15 14:12:34
151
原创 Spring Boot 部署到阿里云ECS服务器上(centos8.1)
Spring Boot 部署到阿里云ECS服务器上(centos8.1)目录Spring Boot 部署到阿里云ECS服务器上(centos8.1)一、得有一个自己的阿里云服务器1、进入安全组开端口,选你springboot要用的端口二、利用Xshell 远程连接阿里云服务器1、Xshell下载与安装2、登入服务器三、服务器上安装docker,并部署mysql四、服务器上安装linux版的jdk1、下载linux版jdk2、打开xshell,把文件传上去3、用tar 命令解压缩jdk4、配置环境变量5、执
2020-11-14 11:30:48
477
原创 Android进阶 笔记6
View的事件体系(一)《Android开发与探索》目录View的事件体系(一)一、View的基础知识1、什么是View2、View的位置参数3、MotionEvent4、TouchSlop5、VelocityTracker速度追踪6、GestureDetector二、View的滑动1、scrollTo和scrollBy2、动画3、改变布局参数一、View的基础知识1、什么是Viewview是Android中所有控件的基类,view本身可以是单个控件也可以是多个控件组成的一组控件,通过这种关系也
2020-11-11 12:57:21
107
原创 Android进阶 笔记5
IPC机制—Inter-Process Communication(二)《Android开发与探索》目录IPC机制---Inter-Process Communication(二)一、完整的通过AIDL进行IPC的过程二、Binder连接池一、完整的通过AIDL进行IPC的过程P71传统AIDL+Service的组合可以实现Client端和Server端之间的通信整理来自:https://blog.csdn.net/ding3106/article/details/83506819##
2020-11-10 20:27:13
150
原创 Android进阶 笔记4
IPC机制—Inter-Process Communication(一)《Android开发与探索》目录IPC机制---Inter-Process Communication(一)一、Android中的多进程模式1.使用多进程会造成一些问题2.对象实现序列化并通过Intent和Binder传递3.Binder的使用及浅层原理(不讨论底层)4.Android中的IPC方式一、Android中的多进程模式在Android中使用多进程只有一种方法,那就是给四大组件在Manifest中指定android
2020-11-10 14:39:33
270
原创 Android进阶 笔记3
IntentFilter的匹配规则《Android开发与探索》目录IntentFilter的匹配规则一、IntentFilter的匹配规则1.action的匹配规则2.category的匹配规则3.data的匹配规则二、隐式方式启动一个Activity时可以去做一个判空resolveActivity方法启动Activity分为两种,分别为显示调用和隐式调用。两种共存的话,主要以显示调用为主。>显示调用,如下:Intent intent = new Intent(MainActivit.th
2020-11-09 19:53:27
146
原创 Android进阶 笔记2
Activity的启动模式(一)《Android开发与探索》目录Activity的启动模式(一)一、Activity的启动模式1.LaunchMode2.TaskAffinity3.给Activity指定启动模式二、Activity的Flags1.FLAG_ACTIVITY_NEW_TASK2.FLAG_ACTIVITY_SINGLE_TOP3.FLAG_ACTIVITY_CLEAR_TOP4.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS一、Activity的启动模式1.L
2020-11-09 14:58:22
99
原创 Android进阶 笔记1
Activity的生命周期全面分析(一)目录一、典型情况下生命周期分析1.七种典型2.问题思考二、异常情况下的生命周期分析1.资源相关的系统配置发生改变导致Activity被杀死并重新创建(1).保存状态(2).恢复状态2.资源内存不足导致低优先级的Activity被杀死3.不想让Activity在屏幕旋转的时候重新创建一、典型情况下生命周期分析1.七种典型onCreate:表示活动正在被创建,常常在里面做一下初始化工作onDestroy:表示活动即将被销毁,可以在里面做一下回收工作onSta
2020-11-08 15:00:34
1099
4
原创 《第一行代码》如何实现左滑出页面效果
mainActivity.javapublic class MainActivity extends AppCompatActivity { private Toolbar toolbar; private DrawerLayout drawerLayout; private ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { ..
2020-11-08 13:13:43
169
原创 《第一行代码android》怎么做个强制下线功能?
首先贴一份Activity的生命周期图,下面会用到:BaseActivity:所有活动继承它/** * 实现强制下线功能 * <p> * 大致流程:用户登录,用户名和密码成功进入新页面; * 新页面有一个Button,点击后出现警示窗口,之前活动都挂到onPause()状态下; * 先杀掉所有活动,然后强制退出到登入界面。注意在onResume()的状态下去注册广播 */public class BaseActivity extends AppCompatActivity
2020-11-02 12:21:04
227
原创 对于《第一行代表android》和风天气中okhttp3请求失败的解决
对于和风天气中okhttp3请求失败的解决Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法在AndroidManifest.xml配置文件的标签中直接插入android:usesCleartextTraffic="true"参考文献:https://blog.csdn.net/gengkui9897/article/details/82863966...
2020-10-29 13:10:09
302
原创 用git从零开始把项目上传到github已经建好的目录中
最最一开始:1创建一个根目录为test2在test 里面 git init 开启仓库3把项目创建在这个test目录里面4github 创建项目目录5 进入本机的项目目录,git clone https://github.com/xxxx6 把克隆出来的文件,全部复制粘贴到本项目中,再把刚刚clone的文件夹删掉7 (第一步的关键) git remote add origin https://github.com/用户名/项目名.git8 回到项目目录9 git add .git comm
2020-10-28 19:30:59
134
原创 [数据结构]两两交换链表中的节点(leetcode24)c++
两两交换链表中的节点(leetcode24)c++https://leetcode-cn.com/problems/swap-nodes-in-pairs/ //1.分别遍历偶数节点和奇数节点 //2.交换两个节点 //3.更新pre,指向交换后的头/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo
2020-07-07 21:19:19
221
原创 [数据结构]奇偶链表(leetcode328)c++
奇偶链表(leetcode328)c++https://leetcode-cn.com/problems/odd-even-linked-list///将奇节点放在一个链表里,偶链表放在另一个链表里。然后把偶链表接在奇链表的尾部/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(n
2020-07-07 21:18:00
234
原创 [数据结构]分隔链表(leetcode725)c++
分隔链表(leetcode725)c++https://leetcode-cn.com/problems/split-linked-list-in-parts/ //如果链表有N个结点,则分隔的链表中每个部分中都有n/k个结点,且前N%k部分有一个额外的结点。 //对于每个部分,有 width + (i < rem ? 1 : 0) 个结点 //首先计算得长度,每个部分的宽度 //然后创建vector //最后直接拆分原链表,把新链表存入vector中
2020-07-07 21:15:07
296
原创 [数据结构]链表组件(leetcode817)c++
链表组件(leetcode817)c++https://leetcode-cn.com/problems/linked-list-components/ //G中所有的元素能构成多少个head中相连的子链表? //遍历链表,对于head中的每个节点 a 判断其 a->val 是否在G中存在,如果存在那么G中对应的 //a->val 很可能是一个组件;此时还得检查一下 a->next(假设为 b), 如果 b->val 也在G中, //那么 (a-
2020-07-07 21:13:25
340
原创 [数据结构]排序链表(leetcode148)c++
排序链表(leetcode148)c++https://leetcode-cn.com/problems/sort-list/ //插入到vector中 //vector排序 //重新相连/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL)
2020-07-07 21:11:25
192
原创 [数据结构]旋转链表(leetcode61)c++
旋转链表(leetcode61)c++https://leetcode-cn.com/problems/rotate-list/ //先将链表闭合成环 //然后找到相应的位置断开这个环,确定新的链表头和链表尾 //1. 找到旧的尾部并将其与链表头相连,整个链表闭合成环,同时计算出链表的长度 n。 //2. 找到新的尾部,第 (n - k % n - 1) 个节点 ,新的链表头是第 (n - k % n) 个节点。 //3. 断开环 new_tail->nex
2020-07-07 21:09:48
182
原创 [数据结构]一元多项式的加/减法运算(链表)
一元多项式的加/减法运算(链表)问题描述 :假设2个稀疏一元多项式分别由带头结点的有序单链表A和B存储(指数项递增有序)。现要求设计一个算法,实现稀疏一元多项式的加减法计算。要求使用A和B的原存储空间(运算后B不再存在,A链表中保存结果多项式)。输入中的单链表的长度不得在计算算法中利用,仅作为建表使用。注意:加/减法计算后,如某一项的结果系数为0,则该项要从多项式链表中删除。输入说明 :第一行:加/减法选择(0:加法 1:减法)第二行:一元多项式A的项数第三行:一元多项式A的各项的系数(系数
2020-07-07 21:00:47
4275
原创 [数据结构]长整数加法运算(链表)
长整数加法运算(链表)问题描述 :假设2个任意长度的整数x、y分别由双向链表A和B存储,现要求设计一个算法,实现x+y。计算结果存储在链表C中。说明:由于A和B输出时需要从头至尾遍历,而做加法时需要从尾至头遍历,因此使用双向链表存储。可以从长整数的低位开始拆分(4位为一组,即不超过9999的非负整数),依次存放在链表的每个结点的数据域中;头结点的数据域存放正负数标志(正数或0:1,负数:-1)。输入说明 :第一行:长整数x第二行:长整数y输出说明 :第一行:格式化后的长整数x(从低位到高
2020-07-07 20:59:05
6711
1
原创 [数据结构]圆桌问题(循环链表)
圆桌问题(循环链表)问题描述 :圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。输入说明 :输入:好人和坏人的人数n(<=32767)、步长m(<=50);输出说明 :输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行
2020-06-18 10:34:20
1091
webstorm写好前端之后怎么与后台java连接
2018-12-29
R语言getsymbols 到的数据的length为什么是行乘以列?
2017-12-14
R语言中我爬入了股票数据,为什么存进txt去以后行号就变成了数字 而不是月份了
2017-12-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人