原构想:MainActivity 设置两个按钮,btn1--跳转Main2Activity通过复选框组选择并提交,btn2--跳转Main3Activity通过RecycleView显示选择结果. 主要经验:SharedPreferences 使用前要先声明,否则读取为Null: 1.Main2Activity.java 1 package com.example.newrecycleviewdate; 2 3 import androidx.appcompat.app.AppCompatAct…
在C/S端编程的时候,经常要在C端和S端之间传数据时自定义一下报文的帧头,如果是在C/C++,封装帧头是一件很简单的事情,直接把unsigned char *强转为struct就行,但是在C#中,并没有提供直接从struct到byte[]的转换,这个时候就需要用到Marshal等非托管的方法了. 自定义帧 我们可以在C#中写出如下代码: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = ,Size = )] […
原文:http://www.fx361.com/page/2017/0110/519967.shtml          摘要:文章通过分析和比较AES加密算法和RsA加密算法的实现过程和各自的特点,提出了一种可以将这2种经典加密算法相混合的.新的数据信息加密技术.这种混合加密技术,可以充分发挥AES算法加密运算速度快,RSA算法密匙容易分发和保管的特点,更加有利于网络传输数据的加密. 关键词:信息安全:数据加密:AES算法:RSA算法 随着互联网技术的迅速发展,许多数据.文件的传递,都是通过开…
最近在学socket,在使用socket时数据的传输与接口都是byte,所以文本与文件的传输只要对传过来的byte处理好就可以. 但是在supersocket上,我却花费了很长的时间.原因如下: 1.从客户端传来的byte都会处理成string, 在开始接触supersocket时发现对于文字的传输很方便,但是到了文件的传输时我才发现,传过来的byte都会转化为string, 这让我很是烦恼,在经过排查才发现StringRequestInfo为string接口会将传过来的byte转化为strin…
SharedPreferences作为Android中数据存储方式的一种,我们经常会用到,它适合用来保存那些少量的数据,特别是键值对数据,比如配置信息,登录信息等.不过要想做到正确使用SharedPreferences,就需要弄清楚下面几个问题: (1)每次调用getSharedPreferences时都会创建一个SharedPreferences对象吗?这个对象具体是哪个类对象? (2)在UI线程中调用getXXX有可能导致ANR吗? (3)为什么SharedPreferences只适合用来存…
一.前言 不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的.也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来.而且SharedPreferences还支持多种不同数据类型存储,如果存储的数据类型是整型,那么读取出来的数据也是整型的:如果存储的数据是一个字符串,那么读取出来的数据仍然是字符串. 二.将数据存储到SharedPreferences中 首先需要获得SharedPreferences…
1 HTTP连接 1.1 TCP连接对性能的影响 TCP三次握手如下图: 如上图,建立一次TCP连接要经过三个步骤.HTTP是建立在TCP之上的,因此TCP连接的性能直接影响HTTP的性能. TCP影响HTTP性能有以下几点: TCP连接建立握手 TCP慢启动拥塞控制 数据聚集的Nagle算法 用于捎到确认的TCP延迟确认算法 TIME_WAIT时延和端口耗尽 1.2 HTTP连接 1.2.1 并行连接 HTTP允许客户端打开多条连接,并行地执行多个HTTP事务. 如上图,在请求1没有完成时,客…
原文链接:http://www.orlion.ga/578/ Android系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储.SharedPreference存储以及数据库存储.当然,除了这三种方式之外,你还可以将数据保存在手机的 SD卡中,不过使用文件.SharedPreference或数据库来保存数据会相 对更简单一些,而且比起将数据保存在 SD卡中会更加的安全 一.文件存储 1.将数据存储到文件中 Context类中提供了一个 openFileOutput ()方法,可以用…
在Android的日常开发中,相信大家都用过SharedPreferences来保存用户的某些settings值.Shared Preferences 以键值对的形式存储私有的原生类型数据,这里的私有的是指只对你自己的app可见的,也就是说别的app是无法访问到的. 客户端代码为了使用它有2种方式,一种是通过Context#getSharedPreferences(String prefName, int mode)方法, 另一种是Activity自己的getPreferences(int mo…
序列化(Serialization)是.NET平台的特性之一.1.为什么要序列化:首先你应该明白系列化的目的就不难理解他了.系列化的目的就是能在网络上传输对象,否则就无法实现面向对象的分布式计算.比如你的客户端要调用服务器上的一个方法获得一个产品对象,比如方法为:public Product findProduct(int product_id); 注意该方法返回一个Product对象,如果没有系列化技术,客户端就收不到返回的对象Product.而序列化的实现就是把对象变成一个可在网络上传输的字…