自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 10 使用OkHttp4和Retrofit上传图片

作者:Angki  转载请注明最近发现项目在Android 10下,上传图片报错open failed: EACCES (Permission denied)上网查了下,是由于Android 10的文件存储机制修改成了沙盒模式,应用不能直接访问除了沙盒文件和公共文件以外的文件,直接使用图片绝对地址上传图片会出错。最简单的解决办法就是在AndroidManifest.xml中添...

2020-04-30 17:23:43 1372

原创 Android 使用高德SDK编写周边搜索定位

转载请注明!前言使用高德SDK实现定位及周边的搜索界面,先看效果图:效果图看这,传不上使用到了高德以下sdk:com.amap.api:3dmap:latest.integrationcom.amap.api:search:latest.integration思路分析本文不对高德sdk的集成做介绍,主要说说实现该页面的思路。需求:进入页面自动定位,并且展示周边搜索地点,并...

2020-04-26 16:45:30 651

原创 【Android】四大组件_Activity小结

该系列主要是记录、回顾之前的学习和一些笔记。转载请注明!Activity在应用中的表现为界面,它会加载指定的布局文件来显示各种UI元素,同时,用户可以和这些UI元素进行交互。App便是由一个或多个Activity组成。Activity生命周期Activity的生命周期示意图Activity生命周期包含最主要的7个生命周期函数,分别是onCreate(),onStart(),o...

2019-03-15 15:40:29 142

原创 活动和服务进行通信

在活动中控制服务的实现。

2016-12-27 16:03:03 443

原创 Android学习_6.0以上系统的运行时权限

6.0及以上系统在使用危险权限时都必须进行运行时权限处理。代码获取SD卡读写权限。

2016-12-27 13:21:20 285

原创 Android学习_活动的启动模式

启动模式一共有四种,分别是standard(标准模式),singleTop(单顶模式),singleTask(单任务模式),singleInstance(单例模式)。

2016-12-12 17:04:49 304

原创 Android学习_使用Adapter创建ListView

Adapter本身只是一个接口,它派生了ListAdapter和SpinnerAdapter两个子接口。

2016-11-30 21:26:16 1390

原创 算法_交换

交换两个数,不使用其他变量。 方法一:public void swap(int a, int b){ a = a + b; b = a - b; a = a - b;}方法二:public void swap(int a, int b){ a = a ^ b; b = a ^ b; a = a ^ b;}

2016-11-17 21:20:28 328

原创 Java网络编程_使用MulticastSocket实现多点广播

DatagramSocket只允许数据报发送给指定的目标地址,而MulticastSocket可以将数据报以广播方式发送到多个客户端。

2016-11-17 17:34:58 552

原创 Java网络编程_传输实体类对象

实现一个登陆功能,在Socket连接以后,客户端输入账户,密码传输给服务端。现在把账户和密码作为一个用户类传输给服务端,服务端直接读取这个类。实现过程:

2016-11-15 20:54:39 969

原创 Java网络编程_基于UDP协议的网络编程

UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但在两个Socket之间并没有虚拟链路,这两个Socket只是发送、接收数据报的对象。

2016-11-15 17:27:05 473

原创 Java网络编程_半关闭的Socket

在IO流中,如果要表示输出已经结束,可以通过关闭输出流来实现。但在不能通过关闭输出流来表示输出已经结束,因为当关闭输出流时,该输出流对应的Socket也将随之关闭,这样导致程序无法再从该Socket的输入流读取数据。在这种情况下,Socket提供了两个半关闭的方法,只关闭Socket的输入流或者输出流,用以表示输出数据已经发送完成。

2016-11-14 15:46:06 1666

原创 Java网络编程_基于TCP协议的网络编程(三)

增加聊天室功能: 1.可以看到是谁发的消息。 2.实现私聊功能。实现方法:

2016-11-13 21:08:12 353

原创 Java线程的学习_线程与集合

线程不安全的集合ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是线程不安全的,也就是说,当多个并发线程向这些集合中存、取元素时,就可能破坏这些集合的数据完整性。如果程序中有多个线程可能访问以上这些集合,就可以使用Collection提供的类方法把这些集合包装成线程安全的集合。static <T> Collection<T> synchro

2016-11-13 17:40:10 251

原创 Java网络编程_基于TCP协议的网络编程(二)

实现一个命令行界面的C/S聊天室应用,服务器端应该包含多个线程,每个Socket对应一个线程,该线程负责读取Socket对应输入流的数据(从客户端发送过来的数据),并将读到的数据向每个Socket输出流发送一次(将一个客户端发送的数据“广播”给其他客户端),因此需要在服务器端使用List来保存Socket。

2016-11-13 17:16:07 407

原创 Java网络编程_基于TCP协议的网络编程(一)

TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟网络链路,两端的程序就可以通过虚拟链路进行通信。Java对基于TCP协议的网络通信提供了良好的封装,Java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流进行网络通信。

2016-11-12 21:19:16 1758

转载 Java网络编程_基本网络支持(三)

向Web站点发送GET请求,POST请求,并从Web站点获取响应

2016-11-09 16:18:41 232

原创 Java网络编程_基本网络支持(二)

URL、URLConnection和URLPermissionURL对象代表统一资源定位器,它是对指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂对象的引用,例如对数据库或搜索引擎的查询。在通常情况下,URL可以由协议名、主机、端口和资源组成。URL类提供了多个构造器用于创建URL对象,一旦获得了URL对象之后,就可以调用如下方法来访问URL对应的资源。

2016-11-09 16:06:13 277

原创 Java网络编程_基本网络支持(一)

InetAddress

2016-11-09 15:10:39 287

原创 Java线程的学习_ThreadLocal类

Java为线程安全提供了一些工具类,其中包括了ThreadLocal类。ThreadLocal类代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副本,从而避免并发访问的线程安全问题

2016-11-06 16:54:35 200

原创 Java线程的学习_线程池

系统启动一个新线程需要很高的成本,因为它涉及与操作系统交互。在这种情况下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时。

2016-11-05 21:18:34 383

原创 Java基础——Lambda表达式

Lambda表达式是Java8的重要更新。Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数式接口)的实例。

2016-11-04 21:46:52 326

原创 Java线程的学习_线程组

Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java语序程序直接对线程组进行控制。用户创建的所有线程都属于指定线程组,如果程序没有显式指定线程属于哪个线程组,则该线程属于默认线程组。在默认情况下,子线程和创建它的父线程处于同一个线程组内,例如A线程创建了B线程,并且没有指定B线程的线程组,则B线程属于A线程所在的线程组。

2016-11-04 16:39:48 218

原创 Java线程的学习_线程通信

线程通信的一些方法

2016-11-02 20:54:58 168

原创 Java线程的学习_线程同步

多线程编程很容易突然出现“错误情况”,这是由系统的线程调度具有一定随机性造成的,不过即使程序偶然出现问题,那也是由于编程不当引起的。当使用多个线程 来访问数据时,很容易“偶然”出现线程安全问题。

2016-11-01 21:25:48 308

原创 Java线程的学习_线程的控制

Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行。join线程Thread提供了让一个线程等待另一个线程完成的方法——join()方法。在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,知道被join()方法加入的join线程执行完为止。join()方法通常使用线程的程序调用,以将大问题划分为许多小问题,每个小问题分配一个线程,当所有的

2016-10-31 17:56:24 240

原创 Java线程的学习_线程的生命周期

当线程被创建并启动以后,它既不是已启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。当线程启动后,线程不可能一直霸占CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。由上图可知道线程的状态转换需要注意的几个点-只能对处

2016-10-28 21:19:41 202

原创 Java线程的学习_线程的创建和启动

线程的创建和启动Java使用Thread类代表线程,所有线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的的代码)。Java使用线程执行体来代表这段流程。创建线程有三个方法: - 方法1.继承Thread类创建线程类 - 方法2.实现Runnable接口创建线程类 - 方法3.使用Callable和Future创建线

2016-10-27 21:28:21 242

原创 算法题型的个人练习_03

算法实现:输入一个正整数数组,然后输出该数组中所有数字组成的最大数。例如,[7,5,9,556,89,11]最大数为9897556511算法思想:对数组按照自定义规则进行排序,在java中,我们可以使用Arrays.sort()方法,并且通过接口Comparator重新编写排序的规则。排序规则:数字位数相同比较两个数的第一位,谁大谁在前,要是第一位相

2016-10-23 17:03:34 211

原创 算法题型的个人练习_02

* 算法实现 * 实现循环文,例如asdb与basd是循环文,qwer与werq是循环文,qwer与qewr就不是循环文算法思路:当输入两个不知长度的字符串时,要对比是否为循环文,我们可以用一个循环来判断在a字符串(qwer)中除了第一(q)和最后一个字符(r)外其余字符(w,e)在b(werq)字符串中,该字符前后的两个字符与a字符串相同,则为循环文,若是出现一个不同,就不是循环

2016-10-20 21:27:08 195

原创 算法题型的个人练习_01

题目  算法实现,输入一个正整数n,打印2*n行,如当输入n=4时,输出12*34*5*67*8*9*107*8*9*104*5*62*31个人认为这道题的难点在于下半部分的数字记录。在实现方面有很多种方法,其中一种方法是在一个for循环里面分两个小循环,一个打印上半部分,一个打印下半部分,作为判断条件就是当循环到第n次时,n次以前的就执行上半部分的循环,n次以

2016-10-19 20:47:24 207

空空如也

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

TA关注的人

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