自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

游戏人日常

分享Java、Python、Android、H5、JavaEE等知识。同时会分享游戏人的事,运营、商务、投放、技术、设计等人员日常。

  • 博客(49)
  • 资源 (4)
  • 问答 (8)
  • 收藏
  • 关注

原创 对称加密算法实践与总结

序言对称加密算法,加密与解密的密钥是一样的,密钥管理比较困难,容易泄露,一旦泄露就会很容易导致数据不安全。相关概念明文: 数据没有进行加密,原始数据信息。密文: 加密过后得到的数据, 隐藏了原始数据的含义。加密 : 将明文转为密文的过程。解密 : 将密文转为明文的过程。密钥: 是一种参数,是在加密或解密中输入的参数。对称加密定义: 指的是加密与解密使用相同的密钥。这种加密方式称为...

2019-08-11 17:36:13 1675

原创 设计模式之抽象工厂模式

序言工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重问题,由于工厂模式中的每个工厂只能生产一类产品,可能会导致大量的工厂类,,势必会增加系统的开销,此时可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来生产。———这也就是抽象工厂的基本思想。产品等级结构与产品族在讲抽象工厂模式之前,我们必须明白两个概念: 产品等级结构 、 产品族。产品等级结构: 产品等级结构...

2019-07-15 21:56:40 206

原创 设计模式之工厂方法模式

序言简单工厂模式虽然简单,但是存在一个问题。 因为简单工厂模式是调用工厂类中的工厂方法,然后传入不同的参数来创建不同的产品,当引入一个新产品时,就需要修改工厂类,不符合“开闭原则”。 工厂模式不再提供一个工厂类来创建所有的产品对象,而是根据不同的产品来提供不同的工厂类。工厂模式定义 :定义一个用于创建对象的接口,让子类决定哪一个类实例化,创建具体的产品对象。工厂方法模式让一个类的实例化延迟到...

2019-07-14 16:22:52 218

原创 设计模式之简单工厂模式

序言简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式定义:定义一个工厂类,它可以根据参数的不同返回不同的类实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法,它属于创建型模式。在简单工厂模式有三个基本角色:Pro...

2019-07-12 20:06:01 221

原创 消息摘要算法总结与实践

序言消息摘要算法平常使用的频率很高,经常我们用它来验证数据是否被篡改。 还有验证网络传输文件时,文件是否被篡改等等。消息摘要算法有哪些消息摘要算法主要分为三类: MD 、 SHA 、 MACMD(Message Digest) : 消息摘要SHA(Secure Hash Algorithm) : 安全散列MAC(Message Authentication Code) : 消息认证码...

2019-07-10 11:34:47 907

原创 设计模式之适配器模式

序言在以前学习适配器模式时,有个经典例子:就是有些电器的工作电压不是220V, 比如电脑工作电压20V,但是我们家庭用电的电压是220。怎么让20V的电脑在220V的电压下工作,这就需要一个电源适配器——俗称充电器或变压器。有了这个电源适配器 家庭的用电电压跟电脑的用电电压 即可兼容。适配器模式定义: 将一个接口转换成客户所希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为为包装器...

2019-07-08 19:01:27 142

原创 Base64编码原理及其实现

序言在说Base64之前,我们应当知道位与字节的含义:位(bit): 计算机中数据的最小单位, 也就是平常看到的‘0’ 和 ‘1’这样的东西, 每个‘0’或‘1’代表一位。字节(Byte): 计算机中数据的基本单位,每8位组成一个字节。 即 1B =8b为什么要Base64编码因为在网络传输数据时,有些数据并不是都是可见字符,那些不可见字符(如 空格、换行等等)可能会被处理错误。...

2019-07-04 22:11:28 243

原创 设计模式之建造者模式

序言在看Retrofit源码时,可以看到里面用到了大量的设计模式,如果我们非常了解设计模式对理解是很有帮助的,在Rerofit里有用到建造者模式。定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以生成不同的表示。建造者模式也是对象创建行模式。说明: 单看这个定义初学者也是很蒙, 大概意思是不需要关心复杂对象创建过程,只需要知道建造者类型即可,建造者才关心这个复杂对象是如何一步一...

2019-06-29 17:41:04 309

原创 设计模式之代理模式

序言在看Retrofit源码时,我们会发现里面是使用了Java的动态代理的。 以前也接触过动态代理,平常不用,时间就久了就会慢慢淡忘。所以平常多总结,任何知识点也是如此。作用为其他的对象提供一种代理来控制这个对象的访问。增强目标对象的功能静态代理开发者接口public interface IDeveloper { void writeCode();} Andr...

2019-06-27 13:35:40 110

原创 手把手教你集成热修复Tinker。

热更新: 就是在应用无需重新安装情况下实现更新,从而实现动态修复功能。在热更新之前,如果线上的应用出现bug, 是需要用户重新下载然后安装,这样的操作对用户来说肯定是不能接受的,什么软件,时不时就重新下载安装,用户体验极差, 热更新出现之后,这样的问题就可以得到解决,在用户无感知的情况下就可以把bug修复。目前比较火的热修复的分为阿里系、腾讯系、 其他大厂。阿里系 : DeXposed...

2019-03-16 10:59:46 678

原创 大四生找工作最惨的一次经历吧!

找工作千万不要相信任何的陌生人!!!!!!!不要太相信在群里发的招聘信息!!!!!!!!一人在外多留个心眼!!!!!!!!!**我想了很久,我还是想让我的朋友不要像我一样被骗了,虽然他们没骗到我一分钱,我还是有损失,损失了车费吧,下面我就讲下我在成都这四天的详细经历。希望大家在找工作时不要被骗了。 我是在2017届某个群里,有个人发了个消息给我说有份程序员工作,我当时也是在北京刚辞职,正

2017-03-14 17:01:19 7047 34

原创 Android之注解框架Annotations从配置到简单一个demo

Android Annotations配置1.首先,一个框架需要有它的依赖包,Annotations框架需要使用两个jar包,我已经上传在了我的资源上, Annotations框架下载2.在新建的普通项目里面,新建一个compile-libs文件夹,将下载来的androidannotation-xx.jar添加到compile-libs文件夹下,将androidannotation-api-xx.

2016-11-09 14:21:03 1729

原创 Android之DataBinding初体验(一)

DataBinding是谷歌推出的一个官方的数据绑定框架,所以我们有必要学下怎么使用它。如果你英文足够好就可以去官网看。 https://developer.android.com/topic/libraries/data-binding/index.html准备工作: 在 该Moudle下的build.gradle ,添加 :dataBinding{ enabled true

2016-11-07 21:21:32 1101

原创 android之逐帧,补间动画详解。

在android的世界中有三种动画,它们就是逐帧动画,补间动画,属性 动画。接下来我就分别演示下三种动画的简单用法。各动画的定义:逐帧动画:就是短时间切换图片,让人们肉眼看起来是连续的,其实就是播放一组图片。就相当于gif图片的生成、还有我们小时候看电影的时候。那时是通过切换胶片来达到放电影。我是农村的,小时候经常看到。不知道你们有木有经历过。。。补间动画:就是操作某个控件让其展现出旋转、渐变、

2016-10-29 19:05:48 2155

原创 java Main方法还能这样写!!!

我们以前写java main方法是这样的:public class TestSimple { public static void main(String[]args) { }}或者就是把是这样的:public class TestSimple { public static void main(String args[]) { }}记得以前人们都说main方法只有这两

2016-10-28 22:39:45 1879

原创 android之OkHttp简单使用,键值对,json数据,文件上传。

okHttp 的简单使用引入Gradle依赖:compile 'com.squareup.okhttp3:okhttp:3.4.1'HTTP GET请求MainActivity代码如下:import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import a

2016-10-26 18:17:18 13703 16

原创 Android之EventBus

简单使用EventBus的几个步骤。首先把这个添加到你的工程上去: compile ‘org.greenrobot:eventbus:3.0.0’ 添加完后,就rebuild下,我们就实现个SecondActivity更改MainActivity修改textview的值 1,定义一个类 MessageEvent.javapublic class MessageEvent { pri

2016-10-24 00:04:06 467

原创 androdi之自定义控件(一)

自定义View的属性 在res/values 目录下创建一个attrs.xml 代码如下:<?xml version="1.0" encoding="utf-8"?><resources> <attr name="text_size" format="float"/> <attr name="text_content" format="string"/> <attr n

2016-10-08 23:25:50 708

原创 android之ContentProvider(内容提供者)

ContentProvider(内容提供者)在我的理解就是把自己应用的数据暴露出来供第三方来使用。我们的应用也可以查询安卓手机自带的应用的数据,比如短信,联系人。下面我们就简单学下怎么自己来实现一个内容提供者。 如果想仔细了解的话可以去官网。下面我只是写一个简单的demo来演示下怎么用。 https://developer.android.com/guide/topics/provider

2016-10-06 23:49:03 1376 1

原创 android之BroadcastReceiver(广播接收者)

BroadcastReceiver本意是广播接收者。这个也是android四大组件之一,广播其实我们也不难理解它,打个简单的比方,比如我们上课时,只要听到下课的铃声,这说明就要下课。在安卓中,广播是全局性的,每个应用都有可能接受到。下面就学习下怎么用广播接受者:接下来我们就学习以下知识静态注册广播动态注册广播普通广播有序广播静态注册广播 静态注册就是在清单文件里面注册 <rec

2016-10-05 23:14:26 14203 1

原创 android之三种方式解析xml(dom,sax,pull)

dom 我的理解就是先把整个文档读取到内存中,然后才解析,读取大点的文件的话这样效率就会很低。而 sax和pull 它们是基于事件解析的。一行一行去解析,效率会高点。下面就讲这三种的用法:dom解析xmlsax解析xmlpull解析xml首先在main创建个assets目录,创建好后,然后在这目录下创建个person.xml文件person.xml里面的内容为:<persons> <

2016-10-04 16:59:45 1933

原创 设计模式之单例

单例模式就是存在一个实例。这个实例在整个应用中只存在一个。接下来我就演示下几种常见的单例:1 饿汉模式 饿汉模式就是类一加载,该实例就创建了,public class SingleSimple { /** * private代表是不向外部暴露出去, */ private static SingleSimple single=new SingleSimple

2016-10-03 13:23:23 1301 5

原创 android之Service(服务)

Service我觉的跟Activity差不多,就是没有界面。它是在后台运行的。服务有自己的生命周期。接下来就学习以下内容: 想仔细了解的可以去官网学习 https://developer.android.com/guide/components/services.html开启服务生命周期和绑定服务生命周期调用本地服务方法和远程服务方法开启服务生命周期布局文件activity_main.

2016-10-02 15:06:14 1933 2

原创 Android之SQLite数据库

android系统里面已经内置了一个SQLite数据库,它是一种轻型的数据库,这个数据库跟我们以前学的数据库都支持sql语句。也是是遵守ACID的关系型数据库管理系统。 想仔细了解SQLite数据库的操作,请可以去官网去学习 https://developer.android.com/training/basics/data-storage/databases.html在android用

2016-10-01 10:35:21 1443 2

原创 GitHub之多人开发一个项目

首先我们要简单知道github跟git的区别。git是版本控制工具, github是一个面向开源及私有软件项目的托管平台,也是程序员交流的地方。接下来就开始讲怎么多人一起开发。 首先我们先拥有github账号https://github.com/ 在这里面注册一个账号。 当我们注册完就登录进去。进去之后就会看到这个界面 github的使用我就不讲了,现在只是教你怎么共同开发一个项

2016-09-27 23:13:30 16948 2

原创 android之三大菜单(子菜单,选项菜单,上下文菜单)

今天班级同学聚餐,真的是喝的有点多,本来计划今天要完成这篇博客。有点喝多了,写的不好请见谅。想仔细了解的话,看官网说的,是中文的。 https://developer.android.com/guide/topics/ui/menus.html选项菜单> 只要重写onCreateOptionsMenu()方法即可MainActivity.java代码如下:import android.su

2016-09-25 09:33:02 13218

原创 android之activity(活动)

如果想仔细了解Activity的知识,可以去官网去看,那里面讲的很详细。 https://developer.android.com/reference/android/app/Activity.hAcitivity Acitivity翻译过来是活动的意思,而我的理解是:可以把Acitivity理解为是一个界面。就是你手机屏幕看到的就是一个Acitivity。接下来我就简单讲下怎么使用它

2016-09-23 16:40:36 1337

原创 android之事件处理/Handler/AsyncTask

android事件的处理非常重要,一个好的应用必定有很好的交互体验。接下来我们就学习下android几种事件处理的方式吧。android有三种处理方式:基于事件的监听。基于回调机制。基于控件的绑定。基于事件的监听有四种方式:内部类匿名内部类外部类该类实现该接口 接下来我们就一个一个讲吧,并且会附上代码。内部类实现方式:activity_main.xml布局文件代码如下:<?xml

2016-09-21 20:39:46 678

原创 android之ExpandableListView

ExpandableListView从字面意思来说就是对listview的扩展。只要我们掌握listview的用法。ExpandableListView就很容易。listview只是展示一级列表,而ExpandableListView展示的是二级列表。就像qq联系人这块。就是个二级列表。哈哈。。接下来我们就学习使用ExpandableListView这个控件。我们可以去看看官网对它的介绍 上面

2016-09-20 13:34:32 1068

原创 android之适配器

在我理解中适配器就是数据跟界面的桥梁。我为什么这么讲。。。 因为接下来写代码中,就是按照几个步骤写就可以了。学完这三个适配器。应该可以熟练掌握了。。哈哈哈。。。。大致的步骤,就四步。是个人都会写。何况我们还是程序员。哈哈。。1, 实例化ListView2, 获取数据3, 实例化适配器4, 调用listView中的setAdapter(ListAdapter adapter)方法 我们先

2016-09-18 23:45:02 1595 3

原创 android 之对话框

我们大家都知道对话框的重要性。就比如下载时,就会弹出对话框告知用户下载进度。不然的话,用户就不知道。这样的应用显然吸引不住用户。用户看到半天没反应,肯定会卸载。所以。。。对话框的学习还是有必要的。哈哈哈。。。。对话框的几个重要方法:mDialog.setTitle(String title);//设置标题mDialog.setIcon(int icon);//设置图标setPositiveB

2016-09-17 23:15:43 668

原创 android群英传objectAnimator的问题

我按照书上的写,我也下载了它的源代码,看了他的源代码。居然会报错。。。 然后自己去百度,百度好久也没找到答案。然后还是另找办法。 在stackoverflow这一搜就搜到答案咯。 原来我的文件路径放错了, 应该是res/animator而在书上是res/anim 所以会一直报错。属性动画放在res/animator这个文件加下。。然后就没报错了。 总结:我不知道是不是android st

2016-06-15 19:15:34 678 1

原创 C++学习(一)

/* * File: main.cpp * Author: 小宋 * * Created on 2016年6月14日, 下午6:45 */#include <cstdlib>#include<iostream>using namespace std;class Student {public: Student(int id, int age);//构造函数 ~S

2016-06-14 19:13:25 454 1

原创 android 进阶之UI

今天又学到了一个绘制时钟效果的,哈哈,下面就贴下效果图: 大致效果是有了。,全是用代码完成的。不是图片哈。接下来就把代码贴出来:我自定义的View MyView.java代码:import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import androi

2016-06-10 22:43:49 527

原创 android ui 练习

最近在练习安卓ui,有时候一个人在学校自学安卓挺困难的,很多时候都想放弃学习。心里好像放弃。但是事实又不得不去学习。希望自学安卓的朋友共同努力。先看我练习的效果图吧。先看布局吧,就是练习下相对布局的运用。activity_main.xml代码如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

2016-06-09 22:33:04 1023 1

原创 android 中Fragment的简单应用

本人也是开始自学,记录自己学习的点点滴滴。刚学习到fragment,自己就倒腾倒腾实现简单的。>效果如下:讲下实现的大致步骤吧,然后再贴源码 首先标题栏是fragment,fragmnet中有按钮跟textview 中间的内容是一个帧布局(framelayout)该布局放也是放fragment 下面的就是三个按钮。为每个按钮添加点击事件,点击按钮更换相应的fragment点击下载

2016-06-08 15:15:43 611

原创 在android上实现二维码生成和扫描

先在androidstudio上导入libzing的Module,然后再app上把那个libzing添加上去,这样我们的app就关联了那个libzing库了点击libzing下载地址然后我们就只在app这个工程下写代码就行了。activity_main.xml布局如下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=

2016-06-02 10:38:20 7827 26

原创 android listview分页

先看下目录结构实现效果创建TitleBean.javapublic class TitleBean { int imgId; String content; public int getImgId() { return imgId; } public void setImgId(int imgId) { this.imgId = i

2016-05-28 21:25:43 578

原创 android 自定义View

先在res->values->下创建attrs文件,<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="TookBar"> <attr name="leftText" format="string" /> <attr name="leftTextColor" f

2016-05-28 12:42:10 453

原创 android 几种对话框的简单实现

item.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" androi

2016-05-26 12:35:04 1193

注解框架Annotations

注解框架Annotations

2016-11-09

android图片

android图片

2016-06-09

fragment测试

fragment小代码

2016-06-08

androidstudio二维码

二维码

2016-06-02

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

TA关注的人

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