自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1809)
  • 资源 (15)
  • 收藏
  • 关注

原创 Android中的MVP设计架构

Android中的MVP设计架构MVP在Android开发中的应用,最核心的目的是为了解耦Activity或Fragment承载的繁杂逻辑。因为在Android体系架构的设计中,是允许Activity或Fragment中围绕View和Model发展出复杂逻辑代码,这样最终的结果——绝大多数情况下,几乎必然造成每一个Activity或Fragment非常臃肿。MVP在Android架构设计中...

2019-05-21 23:47:13 842

原创 标准Java ServerSocket作为服务器,Netty作为客户端进行传输数据

用Java标准的ServerSocket写一个简单的服务器,该服务器绑定本地端口80等待客户端连接,服务器收到客户端Socket连接后只简单的发一个“hello,world”后就断开连接。import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class JavaSe...

2019-05-20 23:32:00 2231 2

原创 Java设计模式:经典MVC设计框架

/** * MVC模式中的M,Model。 * * @author zhangfly * */public class StudentModel { private String name; private int id; public void setName(String name) { this.name = name; } public String ge...

2019-05-19 23:32:32 1769 3

原创 Python按照关键字段key分组

from operator import itemgetterfrom itertools import groupbyrows = [ {'address': '5412 N CLARK', 'date': '07/01/2012'}, {'address': '5148 N CLARK', 'date': '07/04/2012'}, {'address': '...

2019-05-18 23:21:34 3226 2

原创 Android network data sample

import android.app.usage.NetworkStats;import android.app.usage.NetworkStatsManager;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import and...

2019-05-17 23:25:40 718 1

原创 Eclipse工程添加Maven项目引用

在eclipse中新建项目时候,选择Maven project:File - New - Other - Maven - Maven Project如图一路next:到这里,一个Maven项目相当于一个普通Java工程一样,这时候填写的内容将作为Java工程的包名和项目名称:以上完成后,生成的项目和普通Java项目很不同的地方是有了pom.xml文件...

2019-05-16 23:40:54 4119

原创 Python对字典按照key排序

from operator import itemgetterrows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beazley', 'uid': 1002}, {'fname': 'John', 'lname': 'Cleese', 'uid...

2019-05-15 23:24:00 5862 3

原创 Windows根据TCP端口号查找进程PID再kill进程

Windows根据TCP端口号查找进程PID再kill进程Windows环境下,有时候TCP端口莫名其妙的被占用,导致正常的网络端口绑定失败,比如Android开发中,adb无法识别,有时候原因就是端口被占用。Java开发中,端口在占用情况下若再次绑定则抛异常:错误提示:java.net.BindException: Address already in use: JVM_Bin...

2019-05-14 23:56:11 5278 6

原创 Java对象比较的等号=

import java.util.ArrayList;public class Demo { public Demo() { Data data = new Data(); data.id = 10; data.name = "zhangphil"; ArrayList<Data> lists = new ArrayList<Data>(); ...

2019-05-13 23:28:33 1913 4

原创 Android体系架构:WorkManager

WorkManager是Android自最新的支持包androidx引入的后台任务框架。和JobSchedule 相似,是JobSchedule 的改进。WorkManager可实现:一次性执行任务,链式执行任务,周期性执行任务,一定条件下(网络,电量)执行任务,设备重启后执行上次未完成任务等。在Android studio中build.gradle引入WorkManager:i...

2019-05-12 23:32:55 3229 3

原创 Eclipse输入代码自动联想提示设置

Eclipse输入代码自动联想提示设置Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist首先勾选 Enable auto activation然后把 Auto activation triggers for Java:框中的 . 替换成:abcdefghijklmnopq...

2019-05-11 23:18:34 11647 12

原创 Python列表切片和统计

from collections import Countera = [1, 2, 2, 3, 4, 5, 5, 5, 5, 6, 7, 8, 9]#切片。s = slice(0, 4, 1)print(s.start)print(s.step)print(s.stop)print(a[s])print(a[:4])#统计出现次数最多的整数TOP2my_count...

2019-05-10 23:38:12 2651 3

原创 Java设计模式:命令模式演示加法计算器

/** * 加法器,计算求和。 * * @author zhangfly * */public class Adder { private int sum = 0; public int add(int value) { System.out.print("加法器计算:" + sum + "+(" + value + ")="); sum = sum + value;...

2019-05-09 23:28:38 3056 3

原创 Android adb forward转发TCP端口连接数据

Android adb的一个命令 : adb forward,该命令转发PC电脑上的端口数据到Android设备的一个端口。adb forward tcp:18000 tcp:19000上面的命令,即把PC电脑端TCP端口18000的数据转发到与电脑通过adb连接的Android设备的TCP端口19000上。换言之,假设现在PC端在端口18000绑定,并在该端口读写数据,将会被转发到An...

2019-05-08 23:26:42 37419 2

原创 Netty作为服务器和普通Java Socket客户端传输数据

现在用Netty写一个服务器Server,服务器端绑定本地端口80等待连接,当有客户端Socket连接过来后,就发送字符串“hello,world!”给客户端。客户端连接服务器,连接成功则读取字符串并打印出来,然后关闭socket连接。服务器:package zhangphil.server;import java.util.logging.Level;import java.ut...

2019-05-07 23:35:13 6352 3

原创 Python查找字典相同的key和元素

a = { 'a': 1, 'b': 2, 'c': 3, 'd': 5}b = { 'c': 4, 'd': 5, 'e': 6, 'f': 7, 'g': 8}print("相同的key:")print(a.keys() & b.keys())print("相同的元素:")print(a.it...

2019-05-05 23:08:28 13761

原创 Windows环境下用Gitblit搭建git服务器

Windows环境下用Gitblit搭建git服务器一,下载Gitblit。下载地址:http://gitblit.com/ 现在版本是1.8.0。二,下载后解压该文件,找到data/目录下的defaults.properties文件,这个配置文件是启动git服务器的关键配置文件。有几处关键地方需要定制化修改。(1)服务器地址和端口:server.httpBindInte...

2019-05-04 23:05:13 2719

原创 Javascript使用PhantomJS针对动态渲染网页截图

Javascript使用PhantomJS针对动态渲染网页截图首先下载js的PhantomJS,下载地址:http://phantomjs.org/download.html下载后解压,解压文件中的phantomjs.exe即是需要的。然后也一个js代码文件,就可以截取动态加载渲染的网页:var page = require('webpage').create();page...

2019-05-03 23:23:05 1430

原创 Android标准Glide加载圆形图和圆角矩形图

引入: implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'<?xml version="1.0" encoding="utf-8"?><LinearLayout x...

2019-05-02 23:07:11 13567 1

原创 Unable to add window android.view.ColorViewRootImplHooks$ColorW@cc14612 -- permission denied for win

异常错误:Unable to add window android.view.ColorViewRootImplHooks$ColorW@cc14612 -- permission denied for window type 2038原先是需要增加权限:<uses-permission android:name="android.permission.SYSTEM_AL...

2019-04-30 00:01:26 1798

原创 Tencent/matrix错误:Cause: need sign apk but apksigner *\Sdk/build-tools/28.0.2/apksigner was not exist

Tencent/matrix错误:Cause: need sign apk but apksigner *\Sdk/build-tools/28.0.2/apksigner was not exist!Tencent/matrix的演示例子中编译都通过,但是安装失败,失败提示消息:Cause: need sign apk but apksigner *\Sdk/build-tools/28...

2019-04-28 23:13:59 1835 2

原创 Python字典排序

from collections import OrderedDictd = OrderedDict()d['z'] = 5d['h'] = 3d['a'] = 1d['n'] = 4d['g'] = 2print("原始字典元素:")for key in d: print(key, d[key])print("值最小的字典元素:")min_value_orde...

2019-04-27 23:49:45 8799

原创 Java设计模式:装饰模式,以多样性窗体装饰为例

UI设计给出的一个普通窗体,最原始的窗体可能只显示一些基本内容,但是后续会逐渐增加更多内容,如为窗体增加滚动条,为窗体增加边框,这种场景非常适合装饰模式。抽象的所有窗体的父类:public abstract class Component { public abstract void display();}一个基本原始的窗体:public class Window ...

2019-04-26 23:45:05 375

原创 Python字典初始化和装载数据

from collections import defaultdictc = {}c.setdefault('a', []).append(1)c.setdefault('a', []).append(2)c.setdefault('b', []).append(4)d = defaultdict(list)d['a'].append(1)d['a'].append(2)d[...

2019-04-25 00:09:55 1864

原创 Java设计模式:访问者模式

public interface Visitor { void visit(Subject sub);}public interface Subject { void accept(Visitor visitor); String getSubject();}//访问者。public class MyVisitor implements Visitor { @...

2019-04-23 23:33:24 318

原创 Python查找列表数组N个最大最小元素

找出数组中最大和最小的三个元素:import heapqnums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]print(heapq.nlargest(3, nums))print(heapq.nsmallest(3, nums))输出:[42, 37, 23][-4, 1, 2]第一个参数3是说找出最大最小的三个值。所...

2019-04-22 23:36:19 5701

原创 Java设计模式:状态机模式

public class State { private String value; public String getValue() { return value; } public void setValue(String value) { this.value = value; } public void method1() { System.out.pri...

2019-04-21 23:33:13 3433

原创 Python接口读取json天气预报数据自动写入到Excel表格

之前我的一篇文章:https://blog.csdn.net/zhangphil/article/details/88538112是把从服务器接口读取到的json天气预报数据画制成折线图。现在把从json中的天气预报数据自动写入到Excel表格中。需要安装Python处理excel表格的库:pip install openpyxl程序代码:import openpyxl...

2019-04-20 23:35:45 2841

原创 Java设计模式:命令模式

以司令发布命令,士兵执行命令为例。//执行命令的士兵。public class Solider { // 执行的动作。 public void action() { System.out.println("Solider action!"); }}//命令。public interface Command { // 执行。 void exe();}pu...

2019-04-19 23:24:30 313

原创 Python等待所有线程任务完成

import threadingimport timeimport randomdef takeSleep(id, name): print(name+'-'+id+':线程开始运行...') time.sleep(random.randint(0, 3)) print(name+'-'+id+':线程任务结束')print('主程序开始运行...')t...

2019-04-18 23:46:05 29998 2

原创 Java设计模式:观察者模式

import java.util.ArrayList;public abstract class Observable { private ArrayList<Observer> observers = new ArrayList(); public void addObserver(Observer observer) { observers.add(observer...

2019-04-17 23:38:54 261

原创 Python打乱列表/数组原顺序,新列表/数组中元素随机分布

方案一:import numpy as nparray = np.arange(0, 10, 1)print("原来数据顺序:")print(array)state = np.random.get_state()np.random.shuffle(array)np.random.set_state(state)print("打乱原顺序,新的随机数据:")print(ar...

2019-04-16 23:34:03 6672

原创 Java设计模式:桥接模式

public interface Sourceable { void method();}public class Source1 implements Sourceable{ @Override public void method() { System.out.println("Source1 method"); }}public class Sou...

2019-04-15 23:09:16 1062

原创 python绘制横向水平柱状条形图Bar

python绘制横向水平柱状条形图Barimport matplotlibimport randomimport matplotlib.pyplot as plt# 中文乱码和坐标轴负号处理。matplotlib.rc('font', family='SimHei', weight='bold')plt.rcParams['axes.unicode_minus'] = False...

2019-04-14 23:06:06 53022 1

原创 Java设计模式:Adapter适配器模式

目标是把Source的功能拓展到Targetable中去。需要一个适配器Adapter完成。public class Source { public void method1() { System.out.println("Source method1"); }}public interface Targetable { void method1(); void m...

2019-04-13 23:20:30 371

原创 Python的pip更新安装的过期库

命令:pip list列出当前安装的所有库。命令:pip list --outdated列出所有过期的库(有最新版本,可以更新)。然后使用命令:pip install --upgrade 库名更新过期的库。...

2019-04-12 23:13:20 1861

原创 Android4.4以上版本Uri content转换成File文件路径

public static String getFilePathByUri(Context context, Uri uri) { String path = null; // 以 file:// 开头的 if (ContentResolver.SCHEME_FILE.equals(uri.getScheme())) { ...

2019-04-12 00:23:40 4480

原创 Python把Exception异常错误堆栈信息写入日志文件

假设需要把发生异常错误的信息写入到log.txt日志文件中去:import tracebackimport logginglogging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')...

2019-04-10 23:25:11 9963

原创 Java NIO FileChannel读写复制文件

import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.RandomAccessFile;import j...

2019-04-08 23:02:49 914

原创 Python遍历文件目录os.walk

import osfor folderName, subfolders, filenames in os.walk(r'D:\code\vs_code'): print('当前文件夹:' + folderName) for subfolder in subfolders: print('子目录:' + folderName + ': ' + subfolde...

2019-04-07 23:07:12 1641

vcruntime140_1.dll

vcruntime140_1.dll

2022-01-10

2019年民航机场吞吐量排名.xls

2019年民航机场生产统计公报。数据来源,民用航空局。该excel表格中,罗列了中国各大城市在2019年的机场客流量数据和排名。

2020-12-10

链家2020年9月二手房数据

全国的房产价格地址经纬度等信息,2020年9月份链家的二手房数据包。下载后是一个excel表,将这个excel表另存为csv数据文件,可以用pandas读取。

2020-12-10

strava_com_sample_utf8.xls

一个excel表格数据,数据是一个公开的Python数据集,包含路径经纬度散点。提取里面的路径经纬度散点,可以构绘出地图线路。

2020-12-10

jxta2.7.zip

JXTA 2.7,P2P分布式计算框架JXTA。version 2.7。shell 2.5.

2019-08-21

AXMLPrinter2的jar文件及源代码文件

Android逆向工程之AXMLPrinter2的jar文件及源代码文件。

2018-11-08

digital-7字体(LED数字样式字体)

digital-7字体(LED数字样式字体)。该字体主要用于显示LED数字灯样式的字体。直接导入到Android assets文件下,作为font 字体使用。

2017-09-05

Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部弹入淡出

Android-PullLayout:仿UC天气下拉和微信下拉眼睛头部弹入淡出

2015-11-29

QQ侧滑边栏源代码

移动版QQ侧滑边栏源代码(Android)。UI交互设计样式和QQ高度相似。

2015-10-29

DrawerLayoutDemo

Android DrawerLayout Demo

2015-09-24

MaterialDesignLibrary_Code and Lib合集

MaterialDesignLibrary_Code and Lib 内含:NineOldAndroidsLibrary包和一个测试项目:MaterialDesignActivity

2015-09-21

Android Volley

Android网络开发框架Volley需要的jar包:volley.jar。该包直接导入到自己的项目即可使用。

2015-08-27

sqlitemanager.jar

sqlitemanager.jar。用于查看SQLite数据库的第三方插件。

2015-07-16

SearchDemo

Android搜索建议演示代码,完整的项目代码文件。

2015-04-17

Android底部弹出iOS7风格对话框_库文件资源

Android底部弹出iOS7风格对话框。库文件,直接作为库添加到自己的项目加以引用即可。

2015-04-08

空空如也

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

TA关注的人

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