自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python从字典中提取子字典

prices = { 'GOOG': 700.4, 'ACME': 45.23, 'APLE': 112.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75, 'MSFT': 204.4}#value值大于200的子集。p1 = {key: value for key, value in pr...

2019-05-30 23:23:18 14412

原创 Java设计模式:策略Strategy模式,以电影票折扣策略为例

/** * 折扣策略。 * * @author zhangfly * */public interface DiscountStrategy { public double getDiscountPrice(double value);}/** * 电影票模型。 * * @author zhangfly * */public class MovieT...

2019-05-29 23:35:43 2240

原创 Android MVP设计架构:Model层数据传递到View层

一个常见的场景:处于UI的View层点击了下载的Button按钮,然后转入到Presenter层,此时当然会在Presenter层里面触发Model层的下载任务代码模块。但是,View层UI控件需要实时显示下载进度怎么办?要知道只有Model层才真正知道下载进度,Presenter层对进度一无所知。对于这种情况有两种方法把需要在Presenter层的函数里面,当在调用Model层的下载请求时候...

2019-05-28 23:40:52 2294 1

原创 Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的JSON数据

Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的数据一个简单的模型,在Android手机上部署一个Netty写的服务器,绑定端口9000,等待客户端连接,连接建立后,读取来自PC客户端的发送过来的字符串。在Android手机上安装部署的Netty服务器:package zhangphil.netttserver;import...

2019-05-27 23:34:16 1767

原创 Java设计模式:中介模式

public interface Mediator { void createMediator(); void workAll();}//中介。public class MyMediator implements Mediator { private User user1; private User user2; @Override public void crea...

2019-05-26 23:24:21 302

原创 Python数组列表过滤

假设有一个数字和列表数据集,过滤掉其中某些不符合规则的元素,输出符合过滤条件的元素:import revalues = ['11.2', 'a2', '3.5', '3b', '2', '-3', 'Z', '-4.67', 'H', '.5', '101']def is_num(val): try: float(val) return Tr...

2019-05-25 23:48:51 4047

原创 Android的MVP设计架构:网络加载图片为例

再写一个Android中MVP的实例,该例子通过okhttp加载一张网络图片到ImageView,使用MVP设计架构实现。架构的抽象建模:package zhangphil.pattern;/** * MVP中的M,Model */public interface Model<T1, T2> { T1 request(T2 t2);}...

2019-05-24 23:28:12 647

原创 Android中的MVP设计架构

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

2019-05-21 23:47:13 893

原创 标准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 2274 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 1793 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 3294 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 735 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 4161

原创 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 5901 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 5351 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 1924 4

原创 Android体系架构:WorkManager

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

2019-05-12 23:32:55 3286 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 11862 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 2678 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 3113 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 38638 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 6437 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 13882

原创 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 2751

原创 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 1461

原创 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 14224 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 1830

原创 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 1871 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 8849

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

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

2019-04-26 23:45:05 394

原创 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 1880

原创 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 335

原创 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 5730

原创 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 3481

原创 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 2881

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

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

2019-04-19 23:24:30 333

原创 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 30773 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 283

原创 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 6787

原创 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 1076

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关注的人

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