- 博客(150)
- 收藏
- 关注
原创 Android:发送广播
相关知识点:安卓四大组件:activity 广播 服务Service 内容提供者 ——都需要注册创建广播1.创建一个类 继承BroadcastReceiver2.想使用广播 注册a.manifest 注册<receiver android:name=".MyBroadcastOne"></receiver>2.发送广播创建意图: Intent...
2020-02-11 11:09:52
279
原创 Android:Fragment(2)—Fragment传递数据
1.Activity向Fragment传递数据Activity向Fragment传递数据如果是新建Fragment的时候我们可以通过Bundle传递。public static BlankFragment4 newInstance(String param1, String param2) {BlankFragment4 fragment = new BlankFragment4();Bu...
2020-02-10 11:32:59
331
原创 Android:Fragment(1)—Fragment布局页面跳转
有关FragmentFragment比Activity较轻量级,也可以提供与用户交互的界面并且有自己的生命周期,也不用在Manifest.xml中注册但它必须嵌套在Activity中使用。之前需要使用多个Activity显示的内容,现在可以用一个Activity嵌套多个Fragment来实现。Fragment的生命周期Fragment的生命周期不是从new Fragment()开始的,而是...
2020-02-10 10:57:26
1103
原创 Android:音乐播放器(3)—从播放列表到播放歌曲
播放列表播放列表布局<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="歌曲列表" android:textSize="25dp" android:id="@+id/textView" android...
2020-01-15 11:57:47
1564
1
原创 Android:音乐播放器(2)—加进度条
加进度条MainActivity代码如下:public class Main3Activity extends AppCompatActivity { private Button start,end,pause; MediaPlayer mediaPlayer; private SeekBar seekBar; Timer timer = new Timer(...
2020-01-15 11:50:51
5535
3
原创 Android:音乐播放器(1)
音乐播放器1.提前准备创建raw文件夹,加音乐文件布局如下:代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match...
2020-01-08 10:20:37
654
原创 Android:网络存储(3)
从web端同时取值和图片1.布局base.xml2.web Servlet代码public class MyServlet3 extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServ...
2020-01-07 20:32:36
601
原创 Android:网络存储(2)
访问web,web发布到服务器,通过访问服务器来访问程序安卓访问:1.servlet必须发布到服务器2.服务器是开启的状态 通过访问服务器上servlet地址来访问dopost3.在安卓端使用异步来访问servlet类继承AsyncTask...
2020-01-07 11:27:08
435
原创 Android:网络存储(1)
知识点:当数据量很大,我们需要使用网络存储mysql数据库,windows javaWeb Cservlet里访问mysql浏览器输入地址 就访问servlet安卓手机访问tomcat服务器地址 去访问servlet 操作数据库app连接web端,连接web端不能在android的主线程去做(main )需要使用异步任务 ajaxAndoid的单线程模式必须遵守两个规则...
2019-12-30 11:17:30
1474
1
原创 Android:内容提供者(2)
自己写内容提供者(cp端)布局:相关代码<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_alignParentTop="true" andro...
2019-12-29 12:02:00
170
原创 Android:内容提供者(1)
内容提供者App的数据默认是不公开的 别人不能访问 是否允许发送通知 打开位置 读取联系人 有可能需要交互 如果需要交互就需要内容提供者cp 需要权限Javaweb开发tomcat(服务器端)浏览器(客户端Android开发内容提供者:CpContentResolver:crApp1想读取App2的数据App2:1.App2有数据...
2019-12-28 20:31:46
161
原创 设计模式之代理模式
一,定义与类型定义:为其他对象提供一种代理,以控制对这个对象的访问代理对象在客户端和目标对象之间起到中介作用类型:结构型二,适用场景1.保护目标对象2.增强目标对象中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。三,优点:1.代理模式能将代理对象与真实被调用的目标...
2019-12-23 11:25:40
120
原创 设计模式之适配器
一,定义与类型将一个类的接口转换成客户期望的另一个接口使原本不兼容的类可以一起工作类型:结构型二,适用场景1.已经存在的类,它的方法和需求不匹配时(方法结果相同或相似)2.不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品,不同厂家造成功能类似而接口不相同情况下的解决方案三,优点:1能提高类的透明性和复用,现有的类复用但不需要改变2.目标类和适配器类解耦,提高程序扩展性...
2019-12-22 11:20:03
112
原创 设计模式之装饰者模式
一,定义与类型在不改变原有对象的基础之上,将功能附加到对象上提供了比继承更有弹性的替代方案类型:结构型二,适用场景1.扩展一个类的功能或给一个类添加附加职责2.动态的给一个对象添加功能,也可动态撤销三,优点:1.比继承灵活,不改变原有对象给一个对象扩展功能2.通过使用不同装饰类以及这些装饰类的排列组合,实现不同效果3.符合开闭原则四,缺点:出现更多的代码,更多的类,增加程序...
2019-12-20 11:26:58
117
原创 设计模式之外观模式
一,定义与类型提供了一个统一的接口,用来访问子系统中的一群接口定义了一个高层接口,让子系统更容易使用类型:结构型二,适用场景1.子系统越来越复杂,增加外观模式提供简单的调用接口2.构建多层系统结构,利用外观对象作为每层的入口,简化层间调用三,优点:1.简化了调用过程,无需了解深入子系统,防止带来风险2.减少系统依赖,松散耦合3.更好划分访问层次四,缺点:1.增加子系统,扩展...
2019-12-20 10:02:20
132
原创 设计模式之原型模式
一,定义:原型实例指定创建对象的种类,通过拷贝这些原型创建新对象特点:不需要知道任何创建细节,不调用构造函数二,适用场景1.类初始化消耗较多资源2.new产生一个对象需要非常繁琐的过程(数据准备,访问权限等)3.构造函数比较复杂4.循环体中生产大量对象时三,优点1.原型模式性能比new一个对象的性能高2.简化创建过程四,缺点1.必须配备克隆方法2.对克隆复杂对象或对克隆出...
2019-12-18 15:36:34
304
原创 设计模式之单例模式(源码分析jdk+spring+mybatis)
1.Runtime属于饿汉式2.Desktop3.Spring中bean4.mybatis中ErrorContext为ThreadLocal基于线程唯一
2019-12-18 09:50:10
209
原创 设计模式之单例模式(Enum枚举和容器单例)
Enum枚举单例具有天然序列化机制public enum EnumInstance { INSTANCE; private Object data; public Object getData() { return data; } public void setData(Object data) { this.dat...
2019-12-17 10:37:19
333
原创 设计模式之单例模式(反射攻击)
模拟反射攻击饿汉式模拟饿汉式public class HungrySingleton implements Serializable { private final static HungrySingleton hungrySingleton; static { hungrySingleton=new HungrySingleton(); } ...
2019-12-17 09:18:29
224
原创 Android:保存数据的三种方法
方法一 : SharedPreferences布置页面页面代码如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android...
2019-12-16 17:04:18
3465
原创 设计模式之单例模式(序列化破坏单例模式)
饿汉式public class HungrySingleton implements Serializable { private final static HungrySingleton hungrySingleton; static { hungrySingleton=new HungrySingleton(); } private Hungr...
2019-12-16 11:19:54
117
原创 设计模式之单例模式(双重检查与静态内部类)
双重检查讲解public class LazyDoubleCheckSingleton { private static LazyDoubleCheckSingleton lazyDoubleCheckSingleton=null; private LazyDoubleCheckSingleton(){} public static LazyDoubleCheckSing...
2019-12-16 10:17:06
235
原创 设计模式之单例模式(懒汉式与饿汉式)
一,定义与类型定义:保证一个类仅有一个实例,并提供一个全局访问点类型:创建型二,适用场景确保任何情况下绝对只有一个实例线程池,数据库连接池用单例设计三,优点:1.在内存中只有一个实例,减少内存开销2.避免对资源多重占用3.设置全局访问点,严格控制访问四,缺点;没有接口,扩展困难五,重点:1.私有构造器2.线程安全3.延迟加载4.序列化和反序列化安全5.反射(防止)...
2019-12-15 11:24:40
138
原创 设计模式之建造者模式
一,定义与类型(注重于方法的调用顺序)1,定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2,用户只需指定需要建造的类型就可以得到他们,建造过程及细节不需要知道3,类型:创建型二,适用场景1,如果一个对象有非常复杂的内部结构(很多属性)2,想把复杂对象的创建和使用分离三,优点封装性好,创建和使用分离扩展性好,建造者之间独立,一定程度上解耦(不仅创建...
2019-11-04 15:49:30
140
原创 设计模式之抽象工厂
一,定义与类型定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口类型:创建型二,适用场景1,强调一系列相关产品对象(属于同一产品族)一起使用创建对象需要大量重复代码2,提供一个产品类的库,所有产品以同样接口出现,从而使客服端不依赖于具体实现三,优点将一个系列的产品族统一到一起创建四,产品等级结构与产品族五,coding1.CourseFactorypublic ...
2019-11-04 11:05:42
119
原创 设计模式之工厂方法
一,适用场景1,创建对象需要大量重复代码2,客户端不依赖产品类实例如何被创建,实现等细节3,一个类通过其子类来指定创建哪个对象二,优点1,用户只需关心所需产品对应的工厂,无需关系创建细节2,加入新产品符合开闭原则,提高可扩展性三,缺点1,类的个数容易过多2,增加系统的抽象度和复杂度四,coding1.Vedio代码public abstract class Vedio {...
2019-11-04 09:54:28
118
原创 剑指Offer--【二进制中1的个数】--java
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:因为题目给出的是int类型,java中的int类型用32位表示,把这个数依次无符号右移(考虑到负数所以选择无符号右移)然后与1作与运算。如果结果为1则count自增代码:public class Solution { public int NumberOf1(int n) { int s...
2019-10-08 21:07:23
103
原创 剑指Offer--【变态跳台阶】--java
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。说明:1)这里的f(n) 代表的是n个台阶有一次1,2,…n阶的 跳法数。2)n = 1时,只有1种跳法,f(1) = 13) n = 2时,会有两个跳得方式,一次1阶或者2阶,这回归到了问题(1) ,f(2) = f(2-1) + f(2-2)4) n = 3时,会有...
2019-10-07 22:18:08
133
原创 剑指Offer--【斐波那契数列】--java
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39思路:斐波那契数列(Fibonacci sequence)的定义:斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946...
2019-10-07 21:52:57
111
原创 剑指Offer--【用两个栈实现队列】--java
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:首先需要明确栈和队列的特性,栈的特点是先进后出,即最后被压入(push)栈的元素会第一个被弹出(pop);队列的特点是先进先出,即第一个进入队列元素将会第一个出来。本体的思路是:将元素全部压入(push)stack1中,此时stack2为空;元素全部压入完毕,将stack1中的元素弹出(pop)...
2019-10-07 21:37:00
115
原创 设计模式之简单工厂
简单工厂抽象Vediopublic abstract class Vedio { public abstract void produce();}JavaVediopublic class JavaVedio extends Vedio { @Override public void produce() { System.out.println(...
2019-10-07 20:36:09
97
原创 sql语句中删除表 drop、truncate和delete的用法
一、SQL中的语法1、drop table 表名称 eg: drop table dbo.Sys_Test2、truncate table 表名称 eg: truncate table dbo.Sys_Test3、delete from 表名称 where 列名称 = 值 eg: delet...
2019-10-07 15:19:42
445
原创 数据库复习之去重数据
1. 查看过滤重复后的数据思路, group by 分组可以对多个列进行分组, 分组后可以过滤掉重复的数据SELECT id,un,pw,sex,email FROM USER GROUP BY id2. 查看重复的数据SELECT id,un,pw,sex,email,COUNT(1) FROM USER GROUP BY id HAVING COUNT(1)>1 3. 删...
2019-10-06 22:08:23
131
原创 数据库复习之Group By
Group By概念Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。注意:group by 是先排序后分组!语法SELECT expression1, expression2, … expression_n,aggregate_function (a...
2019-10-06 21:12:05
270
原创 数据库复习之五种连接
join有5中连接方式:1.内连接(inner join…on…)2.全外连接(full join …on … )3.左连接(left join …on…)4.右连接(right join …on …)5.交叉连接(cross join …on …)1.内连接(inner join…on…)select * from table1 a inner join table2 b on a.id=b...
2019-10-06 16:24:28
467
1
原创 数据库复习之索引和explain
索引查看表中已经存在 index:show index from table_name;创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。(1)使用ALTER TABLE语句创建索引。语法如下:alter table tab...
2019-10-06 15:33:33
185
原创 JAVA基础知识复习之线程池
1、为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方 式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用...
2019-10-05 22:27:02
154
原创 JAVA基础知识复习之反射
一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上的总结就是什么是反射...
2019-10-05 20:04:39
169
原创 最多有k个不同字符的最长子字符串--JAVA实现
第一步,万年不变的查错。如果给的string是null或长度为0,那么直接return。public int lengthOfLongestSubstringKDistinct(String s, int k) { if (s == null || s.length() == 0 || k == 0) { return 0; } ...}思路跟之前的...
2019-09-10 18:22:11
497
2
原创 【java实现】二叉树的广度优先遍历和深度优先遍历
1.初始化节点: static class TreeNode{ int value; TreeNode left; TreeNode right; public TreeNode(int value){ this.value=value; } } public static T...
2019-09-03 15:06:49
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人