Java
九幽神君
多年安卓开发经验,近期也从事java后端、python、c#开发。
展开
-
安卓 java 除法取整
好久没水博客了,凑一篇,项目中应该早晚会遇到的。我的项目需求是动态计算recyclerview的高度,每行四个item,所以需要根据item的数量动态设置item高度,这就涉及到除法的问题,比如有2个item,4个item,6个item,8个item等,也就是需要得出实际的行数,比如2个只有一行,4个也是一行,但是6个就要两行,不能直接使用int值进行除法运算,因为会舍弃掉小数部分,java提供了...原创 2019-11-13 16:00:01 · 3336 阅读 · 0 评论 -
在Android应用中使用自定义证书的HTTPS连接
因为这部分才是本文的重点,要说得详细一点,所以单独做成一篇来说。安全地使用自定义证书的HTTPS连接方式终极解决方案是:把证书编译到应用中去,由应用自己来验证证书。生成KeyStore要验证自定义证书,首先要把证书编译到应用中去,这需要JSSE提供的keytool工具来生成KeyStore文件。参考《Java 安全套接字编程以及 keytool 使用最佳实践》,我试转载 2017-07-22 10:52:46 · 2312 阅读 · 0 评论 -
JNI中java类型与C/C++类型对应关系
在如下情况下,需要在本地方法中应用java对象的引用,就会用到类型之间的转换: 1)java方法里面将参数传入本地方法;2)在本地方法里面创建java对象;3)在本地方法里面return结果给java程序。 分为如下两种情况: 一、Java原始类型像booleans、integers、floats等从Java程序中传到本地方法中的原始类型可以直接使用,下面是jav转载 2017-07-19 11:39:33 · 491 阅读 · 0 评论 -
JAVA 通过 Socket 实现 TCP协议的通信
目录(?)[+]简介TCP简介TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP,下一篇博客会实现)是同一层内 另一个重要的传输协议。在因特网协议族(Int转载 2017-08-02 09:45:43 · 3492 阅读 · 0 评论 -
安卓生成jni 头文件
1.首先找到jni本地函数的class文件路径。一般在D:\EsbicAecBranch\esbic-model\build\intermediates\classes\debug下或者D:\EsbicAecBranch\esbic-model\build\intermediates\classes\release下。注意:这是我的项目路径,我的jni函数的class文件是在一个引用的mode原创 2017-07-25 11:27:11 · 284 阅读 · 0 评论 -
Android 通过接口传值
接口传值简单了说,就是在需要传值的那方定义接口,在接收数据的那方实现接口,数据就在需要实现的那个方法里,千万记住传值方的Listener一定是接收数据方的Listener。第一步:定义接口类:public interface Listener { void send(String s);}第二步:传递类发送数据:public class Data { public L转载 2017-07-26 13:58:08 · 1106 阅读 · 0 评论 -
Android java 遍历Map的四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.print原创 2017-08-03 16:06:15 · 1228 阅读 · 0 评论 -
java &安卓 16进制字符串与byte互换以及int与byte类型数据转换
package com.eastsoft.android.esbic.util;/** * Created by lijun on 2017/4/20/020. */public class ByteStringChangeUtil { /** * 16进制的字符串表示转成字节数组 * * @param hexString 16进制格式的字符串原创 2017-10-27 08:48:32 · 1068 阅读 · 0 评论 -
RXjava 深入简出
1. RxJava 简介1.1. 基础概念1.1.1. 导入依赖1.1.2. 创建 Observable(被观察者)1.1.3. 创建 Observer(观察者)1.1.4. 订阅1.2. 更多方法1.2.1. 简化订阅1.2.2. 事件队列1.2.3. 线程控制1.3. 操作符1.3.1. Map 操作符1.3.2. FlatMap 操作符1.4. 总结转载 2017-11-01 19:06:12 · 268 阅读 · 0 评论 -
JAVA生成n位随机字符串,数字+英文字母+标点符号
[java] view plain copypublic String genRandomNum(){ int maxNum = 36; int i; int count = 0; char[] str = { 'A', 'B', 'C', 'D', 'E'原创 2017-12-05 14:30:49 · 3664 阅读 · 0 评论 -
java(md5) 加密解密简单实现
Java代码 package test; import java.io.FileInputStream; class="java" name="code"> import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStre转载 2017-07-21 13:08:42 · 7210 阅读 · 1 评论 -
Java的MD5加密和解密
简单demo:import java.security.*; import java.security.spec.*; class MD5_test { public final static String MD5(String s) { char hexDigits[] = { '0' , '1' , '2' , '原创 2017-07-21 09:26:18 · 4579 阅读 · 0 评论 -
Java实现MD5加密及解密的代码实例分享
如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:基础:MessageDigest类的使用其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:?123原创 2017-07-21 08:48:41 · 15123 阅读 · 0 评论 -
Java并发之synchronized实现原理
Java并发之synchronized实现原理本篇主要是对Java并发中synchronized关键字进行较为深入的探索,这些知识点结合博主对synchronized的个人理解以及相关的书籍的讲解(在结尾参考资料),如有误处,欢迎留言。synchronized的三种应用方式 synchronized作用于实例方法 synchronized作用于静态方法 synchronized同步代码块转载 2017-06-08 14:36:25 · 370 阅读 · 0 评论 -
Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
今天在这里简单介绍一下,如何利用Android MediaCodec解码AAC音频文件或者实时AAC音频帧并通过AudioTrack来播放。主要的思路就是从文件或者网络获取一帧帧的AAC的数据,送入解码器解码后播放。转载 2017-06-27 11:04:45 · 3498 阅读 · 1 评论 -
java 安卓 复杂嵌套json对象的解析与创建
java中json数据生成和解析(复杂对象演示)1.json简单介绍 1.1 json是最流行和广泛通用的数据传输格式,简称JavaScript Object Notation,最早在JavaScript中使用. 1.2 举个例子,下面是一个json对象,名字叫王尼玛,他有两个粉丝组成数组,一个叫小王,一个叫小尼玛: { "name":"王尼玛"转载 2017-07-03 14:44:52 · 1119 阅读 · 0 评论 -
Java Android 创建读写TXT文件
import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; public class FileOperati转载 2017-06-12 16:42:46 · 5189 阅读 · 0 评论 -
Java中String和byte[]转换(包括十六进制转换)
1. String转byte[]首先我们来分析一下常规的String转byte[]的方法,代码如下:public static byte[] strToByteArray(String str) { if (str == null) { return null; } byte[] byteArray = str.getBytes(); r转载 2017-06-26 14:21:50 · 1645 阅读 · 0 评论 -
Rxjava Rxandroid基本入门
1.前言Rxjava官方github地址:https://github.com/ReactiveX/RxJava Rxandroid官方github地址:https://github.com/ReactiveX/RxAndroidRxjava是啥? 官方的解释是这样的:“a library for composing asynchronous and event-based programs转载 2017-06-14 10:13:42 · 592 阅读 · 0 评论 -
RxJava Android使用详解
RxJava 到底是什么 RxJava 好在哪 API 介绍和原理简析 1. 概念:扩展的观察者模式 观察者模式 RxJava 的观察者模式 2. 基本实现 1) 创建 Observer 2) 创建 Observable 3) Subscribe (订阅) 4) 场景示例 a. 打印字符串数组 b. 由 id 取得图片并显示 3. 线程控制 —— Scheduler (一)转载 2017-06-14 10:20:40 · 592 阅读 · 0 评论 -
RxJava 2.0 从入门到精通(一)
1.作用RxJava的目的就是异步。 RxJava的特点就是可以非常简便的实现异步调用,可以在逻辑复杂的代码逻辑中以比较轻易的方式实现异步调用。随着逻辑的复杂,需求的更改,代码可依然能保持极强的阅读性,在深入的使用过程中一定对这点深有体会。2.工程引用要应用RxJava,需要在项目中引入依赖:compile ‘io.reactivex.rxjava2:rxjava:2.0.4’转载 2017-06-14 15:01:16 · 677 阅读 · 0 评论 -
Android常用加密手段之MD5加密(字符串加密和文件加密)
前言安全问题一直伴随着互联网的成长,如何有效地保护应用程序的数据是每一个开发者都应该考虑和努力的事情。这篇文章介绍Android平台上常用的加密方式之MD5加密。MD5MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5转载 2017-07-20 13:49:41 · 820 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-06-08 14:26:07 · 304 阅读 · 0 评论