自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 Day18|106.从中序与后序遍历序列构造二叉树

【代码】Day18|106.从中序与后序遍历序列构造二叉树。

2023-10-20 07:57:25 223

原创 Day17|110.平衡二叉树、257. 二叉树的所有路径

【代码】Day17|110.平衡二叉树。

2023-10-18 09:13:44 151

原创 Day15|104.二叉树的最大深度、111.二叉树的最小深度

【代码】Day15|104.二叉树的最大深度。

2023-10-16 11:30:24 182

原创 day14I102.二叉树的层序遍历

文章链接:https://programmercarl.com/0102.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E5%B1%82%E5%BA%8F%E9%81%8D%E5%8E%86.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE。

2023-10-11 09:48:45 261

原创 day13|二叉树理论

【代码】day13|二叉树理论。

2023-10-10 08:44:27 301 1

原创 day5|242.有效的字母异位词、349. 两个数组的交集

【代码】242.有效的字母异位词、349. 两个数组的交集。

2023-09-25 21:22:27 106

原创 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、142.环形链表II

【代码】24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、142.环形链表II。

2023-09-24 15:58:59 112

原创 day3| 203.移除链表元素、 707.设计链表、206.反转链表

这行代码创建了一个新的引用变量 pre,它被赋值为 dummy 的内存地址。通过将 dummy 的地址赋值给 pre,pre 指向了和 dummy 相同的内存位置。:这行代码创建了另一个引用变量 cur,它被赋值为 head 的内存地址。通过将 head 的地址赋值给 cur,cur 指向了和 head 相同的内存位置。文章链接:https://programmercarl.com/0707.%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.html。头结点的作用用来标识单链表。

2023-09-23 14:32:37 60

原创 day2| 977.有序数组的平方、209.长度最小的子数组、 59.螺旋矩阵II

小结使用双向指针,循环条件注意left = right 边界问题,if考虑了<的情况,else考虑了>=的情况,开辟新空间新数组result来实现排序的目的小结在O(1)的空间上使用双向指针,并且时间为O(n)的情况,调节指针的位置以便能达到滑动的效果小结模拟题,没有计算,看到题目知道结果,使用代码的方式进行表达出来。技巧:

2023-09-21 15:50:35 141

原创 day1| 704. 二分查找、27. 移除元素

第二种写法:定义 target 是在一个在左闭右开的区间里,也就是[left, right) ,那么二分法的边界处理方式则截然不同。,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件。双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。第一种写法,我们定义 target 是在一个在。的区间里,也就是[left, right],同时题目还强调数组中。

2023-09-20 20:28:14 273

原创 Andorid初学之十九:通知

通知( Notification)是Android系统中比较有特色的一个功能 ,当某个应用程序希望向用户发出些提示信息, 而该应用程序又不在前台运行时,就可以借助通知来实现。发出一条通知后,手机最上方的状态栏中会显示一个通 知的图标,下拉状态栏后可以看到通知的详细内容。Andrid内通知功能获得了大量用户的认可和喜爱,就连ios系统也在5.0版本之后加入了类似的功能。了解了通知的基本概念,下面我们就来看一下通知的使用方法吧。通知的用法还是比较灵活的,既可以在活动里创建,也可以在广播接收器里创建,当然还可以在

2022-06-03 20:53:49 434 1

原创 Android初学之十八:内容提供器

一、内容提供器简介1、 内容提供器( Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一-套完整的机制,允许一个程序访问另-个程序中的数据 ,同时还能保 证被访数据的安全性。目前,使用内容提供器是Android实现跨程序共享数据的标准方式。2、不同于文件存储和Saredreferenes存储中的两种全局可读写操作模式,内容提供器可以选择只对哪部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险。二、运行时权限1、Android的权限机制详解

2022-06-03 16:04:37 577

原创 Android初学之十七:使用LitePal操作数据库

一、LitePal简介LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种表的建设和增删改查的操作。LitePal的项目主页上也有详细的使用文档,地址是:https://github.com/LitePalFramework/LitePal...

2022-05-27 14:50:28 5765 2

原创 Android初学之十六:使用SQL操作数据库

如何直接使用SQL来完成CRUD操作:1、添加数据的方法如下: db.execSQL(“insert into Book (name, author, pages, price)values(?, ?, ?. ?)”, new String[] { “The Da Vinci Code”, “Dan Brown”,“454”, “16.96” });db.execSQL("insert into Book (name, author, pages, price) values(?, ?,?,?)

2022-05-26 16:46:10 1010

原创 Android初学之十五:SQLite数据库存储

1

2022-05-26 16:26:46 769

原创 Android初学之十四:数据存储全方案,详解持久化技术

持久化技术指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会消失。保存在内存中的数据是瞬时状态的,而保存在存储设备的数据是处于持久状态的,持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统中的数据持久化功能,即文件存储、SharedPreferences以及数据库存储,除了这三种方式之外,你还可以将数据保存在手机的SD卡中,不过使用文件、SharedPrefence或数据库来保存数据会相对更简单一些,而且比起将数据保存在SD卡

2022-05-20 23:00:17 502

原创 Android初学之十三:广播的实践,实现强制下线功能

实现强制功能下线的思路,只需要在界面上弹出一个对话框,让用户无法进行任何其它操作,必须要点击对话框的确定按钮,然后回到登录界面即可。可就是存在一个问题,当我们被通知强制下线可能正处于任何一个界面,难道需要在每个界面上都编写一个弹出对话框的逻辑?这个时候就需要用到我们上一章学习到的广播知识啦强制下线功能需要先关闭所有的活动,然后回到登录界面1、首先编写登录界面布局文件2、接着判断获取到的账号和密码3、编写TestActivity的活动代码4、编写按钮发送一条值为com.example.br.

2022-05-20 02:02:29 1069 1

原创 Android初学之十二:Broadcast

一、注册广播的方式动态注册:在代码中;静态注册:在清单文件中如何创建一个广播接收器呢?答:新建一个类,让它继承BroadcastReceiver,并重写父类的onReceiver()方法就行了,这样当有广播到来时,onReceicer()方法就会得到执行,具体的逻辑就可以在这个方法中处理。举例:动态注册编写一个监听网络变化的程序提醒网络变化还不够人行话,希望能准确告知用户当前是有网还是无网,我们进行对上面的代码进行优化...

2022-05-19 17:11:52 431

原创 Android初学之十一:Fragment

一、静态Fragment1、新建一个项目后,在layout里面新建一个左侧碎片布局left_fragment和一个右侧碎片布局right_fragment.xml二、接着新建一个LeftFragment.class,让它继承Fragment同样的方法在新建一个RightFragment.class三、接下来直接修改activity_main.xml的代码使用了标签在布局中添加碎片,需要通过android:name属性来显示指明要添加的碎片类名。注意要将类的包名加上四、动态添加碎片

2022-05-13 01:15:18 418

原创 Android初学之十:RecyclerView的点击事件

不同于ListView,RecyclerViewmei并没有提供类似setOnItemClickListner()这样的注册监听器方法,需要我们自己给子项具体的View去注册点击事件。修改FruitAdapter的代码,内容为打了红色代码根据郭霖大神《第一行代码》学习,敬礼!...

2022-05-12 02:11:41 533

原创 Android初学之九:实现横向滚动和瀑布流布局

1

2022-05-12 01:47:34 1431

原创 Android初学之八:RecyclerView

一、导入和布局文件引用RecyclerViewRecyclerView不是Android内置的控件,所以需要进行库的导入,导入需注意库的版本需要与我们当前的jdk版本一样二、新建Fruit实体类三、自定义条目布局fruit_item四、为RecycleView准备一个适配器,新建FruitAdapter类五、适配器准备好了后,就可以使用RecyclerView,修改MainActivity根据郭霖大神《第一行代码》学习,敬礼!...

2022-05-12 00:31:55 432

原创 Android初学之七:ListView简单用法和ListView的界面定制

一、ListView简单用法1、首先在布局文件中加入ListView2、展示一组String数据,修改MainActivity代码二、ListView的界面定制例子:条目样式为有一张图片和一个文本1、定义一个实体类,作为ListView适配器类型,新建类Fruit...

2022-05-11 03:44:12 1498

原创 Android初学之六:引入布局(自己设计一个标题栏)

一、引入布局1、新建一个布局文件title.xml2、在我们需要的活动页面当中调用我们设计的标题栏文件<include layout="@layout/title"/>3、最后将原先的标题栏进行隐藏二、创建自定义控件例子:上面BACK键在每个活动都需要进行一次返回按钮的点击事件,无疑会增加很多重复的代码,这种情况下用自定义控件方式来解决。1、新建一个类TitleLayout2、在布局文件中添加自定义控件 <com.example.uiwidgettest.Ti

2022-05-11 01:14:25 712

原创 Android初学之五:启动活动的最佳写法

如果在启动SecondActivity时,需要传两个或者两个以上的字符串参数过来,那么我们可以在SecondActivity里添加一个actionStart()方法。1、首先在SecondActivity里添加一个actionStart()方法2、在FirstActivity的按钮点击事件里进行调用actionStart()SecondActivity.actionStart(FirstActivity.this,"我是数据1","我是数据2")根据郭霖大神《第一行代码》,敬礼!...

2022-05-10 17:14:50 226

原创 Android初学习之四:知晓当前是哪一个活动和随时随地退出程序

一、知晓当前是哪一个活动1、首先新建两个活动FirstActivity和ScondActivity2、接着在新建一个java class为BaseActivity3、最后让刚刚两个活动继承BaseActivity,因为BaseActivity也是继承了AppCompatActivity现在每当我们进入到一个活动的界面,该活动的类名就会被打印出来。二、随时随地退出程序例子:FirstActivity、ScondActivity、ThirdActivity,当我们手机停留在ThirdActivit

2022-05-10 16:48:04 242

原创 Android初学之三:向活动传递数据

一、向下一个活动传递数据使用显式Intent传递数据分为两步:送数据和取出数据一、送数据FirstActivity二、取数据SecondActivity二、返回数据给上一个活动分为三步走:当前活动显式Intent跳转、目标活动返回数据和目标活动返回数据时需要进行一个函数回调一、当前活显式Intent跳转二、目标活动返回数据三、目标活动返回数据时需要进行一个函数回调注:在FirstActivity重写onActivityResult方法来得到返回的数据需要注意的是:返回

2022-05-10 02:02:38 401

原创 Android初学之二:显示Intent和隐示Intent

一、显式Intent1、示范如何实现活动跳转在按钮的点击事件里:a、调用构造函数Intent(Context packageContext,Class<?>cls),第一参数是上下文,第二个参数是想要启动的目标活动b、将上面构建的好的intent传入startActivity(),就可以启动目标活动了二、隐式Intent隐式Intent要制定一系列的action和category,调用时需要相对应显应,制定的位置是在目标活动下,被调用的位置是当前的上下文示范如何实现活动跳

2022-05-10 00:30:36 1521

原创 Android初学之:如何添加菜单栏

一、三部曲1、首先定义菜单栏布局在res目录下new一个Directory文件夹,在此文件夹下再new一个Menu resourse file,接着新建两个子菜单2、定义好布局文件后,那么就前往Activity文件去声明创建菜单栏(1)、重写onCreateOptionsMenu()方法,通过getMenuInflate()方法能够得到MenuInflater对象。(2)、再用inflate()方法就可以给当前活动创建菜单(3)、inlfate()方法接收两个参数,第一个参数用于指定我们通过哪一

2022-05-09 01:19:20 1780

原创 android的学习:wifi

如果对您有帮助,麻烦您点个赞支持一下哦~谢谢。一、代入Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术,是一种无线联网技术,常见的是使用无线路由器。那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网。如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热点”。二、权限android.permission.INTERNETandroid.permisson.ACCESS_NETWORK_STAREandroid.p

2020-07-21 23:17:13 234

原创 android的学习:蓝牙(BluetoothDevice)

如果对您帮助,麻烦您点个赞哦~谢谢。一、代入推荐资源https://www.cnblogs.com/hanshuliang/p/4215467.htmlhttps://www.cnblogs.com/hanshuliang/p/4215465.html使用步骤设置蓝牙设备寻找能力范围内可能或匹配的设备连接设备设备之间的数据传输二、 相关实践方法(1)、当蓝牙状态发生变化,要修改注册信息//(在Oncreat()里执行初始化操作)IntentFilter filter = n

2020-07-21 15:09:10 2763

原创 android的学习:蓝牙通讯(本地连接)

一、代入Bluetooth是一种无线标准技术,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波);是目前使用最广泛的无线通讯协议,近距离无线通讯的标准。主要针对短距离设备通讯(10米)二、蓝牙工作流程图三、BluetoothAdapterBluetoothAdapter蓝牙适配器对象,通过它我们可以蓝牙设备进行er类简单点来说就是代表本设备(手机、电脑等)的基本开发了,主要有如下功能:打开蓝牙设备扫描蓝牙设备设置/获取蓝牙

2020-07-20 23:45:37 370

原创 android的学习:Socket通信之对象传输

1、客户端public class ClientObject { public static void main(String []args){ try { Socket socket = new Socket("localhost",8765); OutputStream os = socket.getOutputStream(); ObjectOutputStream oos = new ObjectOut

2020-07-20 19:49:05 277

原创 android的学习:Socket通信之文件传输

1、先在系统文件下创建我们要传输的文件在java.txt写下传输数据hello2、先写客户端public class ClientFile { public static void main(String []args){ try { //创建客户端Socket,指定服务器的地址和端口号 Socket socket = new Socket("localhost",7878); //先:获取要发送的文件,并读取

2020-07-20 17:31:29 1388 1

原创 UDP编程多线程:一(服务器)对多(客户端)关系

服务器端public class UDPServer02 { public static void main(String [] args){ try { //1、创建服务器端,指定端口号 DatagramSocket socket = new DatagramSocket(8800); System.out.println("***我是服务器端,等待客户端的请求***"); //2、

2020-07-20 12:13:14 2537

原创 android的学习:UDP编程

代入UDP协议(用户数据报协议)是无连接、不可靠的、无序的UDP协议以数据报作为数据传输的载体进行数据传输时,首先需要将要传输的数据定义成数据报(Datagram),在数据报中指明数据所要达到的Socket(主机地址和端口),然后再将数据报发送出去DatagramPacket : 表示数据报包,表示数据单元。DatagramSocket :进行端到端的通信的类,实现基于DUP的socket通信...

2020-07-20 11:55:05 369

原创 android之Socket:实现多个客户端与服务器通信(多线程)

先写服务器端当写到ServerThread03这里的时候可以先写下面的多线程ServerThread03类//提供多个客户端的服务public class Server03 { public static void main(String [] args){ try { ServerSocket serverSocket = new ServerSocket(3031); System.out.println("服务器端启动

2020-07-19 21:38:23 2469

原创 Socket通信之实现数据端跟客户端的双向通信

如果需要认识Socket,请前往:https://blog.csdn.net/My_Yes/article/details/107368374服务器端public class Server02 { public static void main(String []args){ try { ServerSocket serverSocket = new ServerSocket(3031); System.out.println("*

2020-07-18 20:12:24 677

原创 android学习之Socket通信

一、代入TCP是面向连接、可靠的、有序的,以字节流的方式发送数据基于TCP协议实现网络通信的类:客户端的Socket类、服务器端的ServerSocket类二、ServerSocket详解详情信息(在此感谢桥头放牛娃,如有侵犯请告知删除)菜鸟教程ServerSocket...

2020-07-18 19:35:48 771

原创 android之使用URL读取网页内容

一、推荐三个关于URL的文章C语言中文网菜鸟教程官方文档二、URL读取网页内容public class Test02 { public static void main(String[] ages){ try { //1、通过URL连接,读取网页中的内容 URL url = new URL("http://www.baidu.com"); //2、通过URL的openStream方法读取URL对象所定位

2020-07-14 21:34:46 2260

MyAsyctaskPb2.zip

android studio之AsycTask实例源码,简单实现加载进度条,里面有三个module,实则两个实例,免费源码,欢迎大家互相学习,多有不足,请多包含,在此感谢指导老师谢云。

2020-07-12

MyAsyncTaskClass.zip

android studio之AsycTask实例源码,通过点击按钮实现加载网络图片,免费源码,欢迎大家互相学习,多有不足,请多包含,在此感谢指导老师谢云。

2020-07-11

空空如也

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

TA关注的人

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