Android 使用SharedPreferences对象保存账号密码

SharedPreferences
分类: 其他 发布时间: 07-25 23:32 阅读次数: 0

TabLayout的使用

TabLayout
分类: 其他 发布时间: 07-25 23:32 阅读次数: 0

ViewPager简单介绍(一)

android
分类: 其他 发布时间: 07-25 23:32 阅读次数: 0

ViewPager简单介绍(二)ViewPager+Fragment

实现ViewPager要适配器,一般的使用PagerAdapter,对于fragment,我们所使用的是FragmentPagerAdapter和FragmentPagerStateAdapter。FragementPagerAdapter和FragmentPagerStateAdapter的区别FragmentPagerAdapter和FragmentPagerStateAdapter都继承自P...
分类: 其他 发布时间: 07-25 23:31 阅读次数: 0

ViewPager简单介绍(三) ViewPager+Fragment+TabLayout

前两篇文章中介绍了TabLayout和ViewPgaer+Fragment的使用,这篇文章将三者结合起来,做成一个比较常见的布局,如图:如果对着这两者有什么不清楚的,可以看看这两篇,都是一些简单的使用。TabLayout的使用ViewPager+Fragment的简单使用废话不多说,直接上代码。要使用TabLayout,必须先在app的build.gradle中添加:compile 'com.an...
分类: 其他 发布时间: 07-25 23:31 阅读次数: 0

ViewPager简单使用(四)实现图片轮播

在很多软件中,我们都会看到图片轮播的效果。如图:首先在布局文件中添加viewpager控件activity_main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"...
分类: 其他 发布时间: 07-25 23:31 阅读次数: 0

android集成极光推送

在项目中,我们一般会用到消息推送功能,常见的有友盟推送,极光推送等,本文介绍的是如何集成极光推送。首先登录或者注册极光帐号,进入极光推送界面,选择创建应用,输入应用名称,上传应用图标。如图:创建成功后,获得此应用的AppKey。如图:在推送设置中设置应用包名在项目中集成极光推送,这里采用自动集成方法,不过如果后期要集成极光IM的话,最后采用手动集成,不然可能会报错。确认android studio...
分类: 其他 发布时间: 07-25 23:31 阅读次数: 0

错误问题总结

本文记录一下遇到的问题,持续更新。1.java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/com.ant.sqlite3/databases/mydata.db  产生原因:假如你有A、B两个异步线程操作sqlite数据库。A是读取,B是写入...
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

Android集成百度地图(一)

1.创建项目打开百度地图开放平台,登录或者注册帐号,在控制台中创建应用。如图:输入信息,获取安全码,如图:开发版SHA1获取方法:在Android Studio中找到Terminal并打开,或者在最下面找到Terminal 如下图:输入命令  C:  进入c盘;接着输入命令  cd Users\Administrator   其中Administrator是自己的用户名  Administrato...
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

[leetcode] 70. 爬楼梯

70. 爬楼梯 最简单的动态规划 假设f[i]表示爬到第i层有几种爬法 那么状态转移方程为:f[i] = f[i-1] + f[i-2] 初始条件显然是:f[1]=1,f[2] = 2; class Solution { public int climbStairs(int n) { if (n == 1) return 1; int f[] = new int[n]; f[0] = 1; f[1] = 2;
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

log4net 写入日志到不同的位置

某些业务需要根据不同的功能将日志记录到不同的位置,以便于区分。 <?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="Console" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <!-- Pattern to output the caller's file nam
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

source tree 使用心得

  SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。(摘自百度百科定义)。 工作副本:工作副本保存你在本地做的所有改动,提交修改就将工作副本中有必要提交的未暂存文件拉到已暂存文件,提交,然后将剩余未暂存文件丢弃。(注意丢弃和移除的区别,丢弃是丢弃本地修改,而移除是直接将文件从项目中移除。) 提交与推送:提交是将修改提
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

python 数字的四舍五入的问题

由于 python3 包括python2.7 以后的round策略使用的是decimal.ROUND_HALF_EVEN 即Round to nearest with ties going to nearest even integer. 也就是只有在整数部分是奇数的时候, 小数部分才逢5进1; 偶数时逢5舍去。 这有利于更好地保证数据的精确性, 并在实验数据处理中广为使用。 >>> round(2.55, 1) # 2是偶数,逢5舍去 2.5 >>> format(2.55, '.1f'
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

python AES CBC模式加密

今天需要用到AES CBC模式加密,搜索了很久,终于加密成功,记录一下今天的理解。 首先要安装pycrypto库,不知道为什么在windows安装失败,在linux可以正常安装 http://tool.chacuo.net/cryptaes,https://tools.lami.la/jiami/aes,以下代码加密后结果与这两个网页加密后一样。 这里有几点要注意,key的长度要是16,24或32,text的长度要是16的倍数,不满足长度都会补全,补全的字符可以自己定义,比如key补全不一定要
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

hdu多校(二) 1004 1007 1010

Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description Alice and Bob are playing a game. The game is played on a set of positive integers from 1 to n
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

html 导出pdf

地址: https://developers.itextpdf.com/examples/xml-worker/html-lists 主方法: public string Generate(string filePath) { if (DeleteOldFile(filePath)) { throw new Exception("the destination path already existed and unable to repleace it"); } var fs = new Fi
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

python python Select\Poll\Epoll异步IO与事件驱动

pass
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

非旋Treap

最近看到有一种不用旋转的treap,好像还可以持久化,于是就学了一下。 如果你还不会Treap的话,那你可以点击这里,对旋转Treap有个大致了解,这里就不赘述Treap的性质了。 treap就是tree+heap。它的每个节点的权值data满足排序二叉树的性质,随机权值key满足堆的性质。由于key是随机的所以它大致是平衡的。 不基于旋转的treap有两个基本操作: merge(a,b):返回一个treap,包含a,b两个treap中的所有节点,但要保证b中所有节点权值都大于等于a。 spl
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

swift kvc赋值

1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的,而且要设置初始值,否则KVC会崩溃 3使用KVC方法前,需要先调用super.init(),保证对象实例化完成 4必须在类的前面添加@objcMembers(或者在每一个属性前面添加@objc),否则KVC会crash import UIKit @objcMembers class Person: NSObject { var name: String? //
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0

什么叫抽象

从特定的角度出发,从已经存在的一些事物中抽取我们所关注的特性、行为,从而 形成一个新的事物的思维过程,是一种从复杂到简洁的思维方式。
分类: 其他 发布时间: 07-25 23:30 阅读次数: 0