08 2019 档案
添加一个静态JAVA库
摘要:LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files) # 阅读全文
posted @ 2019-08-30 17:24 激流勇进1 阅读(179) 评论(0) 推荐(0) 编辑
编译生成可执行文件
摘要:LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES += \ $(LOCAL_PATH) LOCAL_SRC_FILES:= \ gpio-server.c 阅读全文
posted @ 2019-08-30 17:24 激流勇进1 阅读(296) 评论(0) 推荐(0) 编辑
编译生成动态库
摘要:LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) (http://www.amjmh.com/v/)LOCAL_SRC_FILES:= \ com_android_server_AlarmManagerService.cpp \ com_androi 阅读全文
posted @ 2019-08-30 17:24 激流勇进1 阅读(239) 评论(0) 推荐(0) 编辑
编译一个需要用特定key前面的应用程序
摘要:LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files) # 阅读全文
posted @ 2019-08-30 17:23 激流勇进1 阅读(126) 评论(0) 推荐(0) 编辑
添加一个预编译应用程序
摘要:LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Module name should match apk name to be installed. LOCAL_MODULE := LocalModuleName LOCAL_SRC_FILE 阅读全文
posted @ 2019-08-30 17:23 激流勇进1 阅读(154) 评论(0) 推荐(0) 编辑
自定义ItemDecoration设置分割线
摘要:说道ItemDecoration不得不说三个方法: /** * @param c 画布 * @param parent RecyleView * @param state RecyclerView的当前状态 */ @Override(http://www.my516.com) public void 阅读全文
posted @ 2019-08-28 22:16 激流勇进1 阅读(661) 评论(0) 推荐(0) 编辑
3分割线左右间距(LinearLayoutManager.VERTICAL)
摘要:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and 阅读全文
posted @ 2019-08-28 22:15 激流勇进1 阅读(1369) 评论(0) 推荐(0) 编辑
/static/fonts/SIMYOU.TTF’ 字体
摘要:/** * pdf 加水印 * * @return */ public byte[] pdfAddWaterMark(byte[] byes) { String fileName = UUID.randomUUID().toString() + ".pdf"; String courseFile = 阅读全文
posted @ 2019-08-28 22:14 激流勇进1 阅读(514) 评论(0) 推荐(0) 编辑
.item布局设置分割线
摘要:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and 阅读全文
posted @ 2019-08-28 22:14 激流勇进1 阅读(202) 评论(0) 推荐(0) 编辑
顶部无间距
摘要:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" and 阅读全文
posted @ 2019-08-28 22:14 激流勇进1 阅读(92) 评论(0) 推荐(0) 编辑
安卓项目集成objectbox-java数据库框架教程(非关系型)
摘要:objectbox数据库是greenrobot团队开发的全新非关系型数据库框架,该团队还开发过greenDao,EventBus等热门框架,objectbox可能是第一次听说,但是greenDao,EventBus做过安卓app开发的朋友们应该都很熟悉吧3.集成教程:Gradle配置添加下面的内容到 阅读全文
posted @ 2019-08-26 19:10 激流勇进1 阅读(462) 评论(0) 推荐(0) 编辑
微信校验接口
摘要:Controller:/** * 校验 * @param request * @param response * @throws Exception */ @RequestMapping(value = "wx_check",method = {RequestMethod.GET}) public 阅读全文
posted @ 2019-08-26 19:10 激流勇进1 阅读(209) 评论(0) 推荐(0) 编辑
Contacts解析
摘要:显示联系人相关类packages/apps/Contacts/src/com/android/contacts/activities/PeopleActivity.javapackages/apps/Contacts/src/com/android/contacts/list/DefaultCont 阅读全文
posted @ 2019-08-26 19:09 激流勇进1 阅读(973) 评论(0) 推荐(0) 编辑
编辑联系人
摘要:相关类packages/apps/Contacts/src/com/android/contacts/activities/ContactEditorActivity.javapackages/apps/Contacts/src/com/android/contacts/editor/Contact 阅读全文
posted @ 2019-08-26 19:09 激流勇进1 阅读(207) 评论(0) 推荐(0) 编辑
搜索和选择联系人
摘要:相关类packages/apps/Contacts/src/com/android/contacts/activities/ActionBarAdapter.javapackages/apps/Contacts/src/com/android/contacts/list/ContactEntryLi 阅读全文
posted @ 2019-08-26 19:09 激流勇进1 阅读(530) 评论(0) 推荐(0) 编辑
定义类的方法
摘要:函数与方法的区别函数 : 直接通过函数名称调用方法 : 属于某个类 , 通过对象调用对于方法的访问控制也是不提供的 , 类似于对属性的设置class className(object): def one(self): pass def _two(self): pass def __three(sel 阅读全文
posted @ 2019-08-25 17:15 激流勇进1 阅读(445) 评论(0) 推荐(0) 编辑
定义类的属性
摘要:直接在类里定义类的属性class className(object): sex = 'male'12在构造函数里定义属性class className(object): def __init__(self, name, sex): self.name = name self.sex = sex123 阅读全文
posted @ 2019-08-25 17:15 激流勇进1 阅读(564) 评论(0) 推荐(0) 编辑
多继承
摘要:Python允许从多个父类继承 , 称为多重继承class A(object): def __init__(self, a): print 'init A...' self.a = a class B(A): def __init__(self, a): super(B, self).__init_ 阅读全文
posted @ 2019-08-25 17:14 激流勇进1 阅读(128) 评论(0) 推荐(0) 编辑
类的继承
摘要:定义类的继承class DerivedClassName(BaseClassName): <statement1> ... <statementN>1234继承的子类会继承父类的属性与方法也可以重新自定义方法 , 覆盖父类的属性与方法用super()调用父类的方法class A(http://www 阅读全文
posted @ 2019-08-25 17:14 激流勇进1 阅读(84) 评论(0) 推荐(0) 编辑
类的多态
摘要:多态的要素继承重写方法实例class Program(object): name = 'Mike' def __init__(self, age, sex, weight): self.age = age self._sex = sex self.__weight = weight def intr 阅读全文
posted @ 2019-08-25 17:14 激流勇进1 阅读(115) 评论(0) 推荐(0) 编辑
命名路由
摘要:// 1、配置路由import 'package:flutter/material.dart'; import 'pages/Tabs.dart'; import 'pages/Search.dart';import 'pages/Form.dart'; void main() => runApp( 阅读全文
posted @ 2019-08-23 22:05 激流勇进1 阅读(111) 评论(0) 推荐(0) 编辑
传参~
摘要:import 'pages/Form.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { final routes = { '/': (contxt) => Tabs(), '/search': ( 阅读全文
posted @ 2019-08-23 22:05 激流勇进1 阅读(110) 评论(0) 推荐(0) 编辑
路由单独模块化
摘要:目录|-pages|-routes|—Routes.dart // routes/Routes.dartimport 'package:flutter/material.dart'; import '../pages/Tabs.dart';import '../pages/Form.dart';im 阅读全文
posted @ 2019-08-23 22:05 激流勇进1 阅读(185) 评论(0) 推荐(0) 编辑
其它
摘要:返回上一级// 返回到上一级页面Navigator.of(context).pop();12替换路由比如我们从用户中心页面跳转到了 registerFirst 页面,然后从 registerFirst 页面通过 pushReplacementNamed 跳转到了 registerSecond 页面。 阅读全文
posted @ 2019-08-23 22:05 激流勇进1 阅读(134) 评论(0) 推荐(0) 编辑
传参
摘要:RaisedButton( child: Text("跳转到搜索页面"), onPressed: (){ Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context){ return FormPage(t 阅读全文
posted @ 2019-08-23 22:04 激流勇进1 阅读(168) 评论(0) 推荐(0) 编辑
初始化主类
摘要:由于我们的主类代码如下: public class KVMTest{ public static void main(String[] args){ System.out.println("success"); } }123456789因此在runClinit方法中,直接将状态改为CLASS_REA 阅读全文
posted @ 2019-08-20 18:09 激流勇进1 阅读(110) 评论(0) 推荐(0) 编辑
调用主类方法
摘要:此处同样,对应的字节码是CUSTOMCODE,其最终调用的是initInitialThreadBehaviorFromThread.此处的代码如下: static voidinitInitialThreadBehaviorFromThread(FRAME_HANDLE exceptionFrameH 阅读全文
posted @ 2019-08-20 18:09 激流勇进1 阅读(264) 评论(0) 推荐(0) 编辑
误用 Kotlin 中的 sortedWith() 方法排序,集合没有变化
摘要:时间:2019年8月4日14:17:06问题描述:看下边的小例子: data class Man(val name: String, val age: Int, val type: Int) fun main(args: Array<String>) { val list = mutableList 阅读全文
posted @ 2019-08-20 18:08 激流勇进1 阅读(4188) 评论(0) 推荐(0) 编辑
初始化Thread
摘要:此处初始化的步骤和上文中介绍的一样,也是调用runClinit方法.首先设置初始化线程为CurrentThread,然后由于其父类Object此时的状态为CLASS_READY,因此就不需要初始化父类了.此处的代码如下: if ((thisClass->clazz.accessFlags & ACC 阅读全文
posted @ 2019-08-20 18:08 激流勇进1 阅读(402) 评论(0) 推荐(0) 编辑
初始化String,System,OutOfMemoryError
摘要:对于String, System而言,其初始化过程和 Thread一致.而对于OutOfMemoryError而言,其继承结构如下: 因此对于OutOfMemoryError,会首先将状态改为4,然后尝试初始化VirtualMachineError,同样的VirtualMachineError将状态 阅读全文
posted @ 2019-08-20 18:08 激流勇进1 阅读(135) 评论(0) 推荐(0) 编辑
Http协议:客户端提交数据给服务端和从服务端获得数据,像WebView也是向百度的服务端发出一条Http请求,服务端返回HTML页面,客户端(浏览器)解析后展示出页面
摘要:提交数据和获得数据的方式有很多,这里介绍一种,使用HttpURLConnection来向服务器提交数据或者获得数据。 获得数据: //传入网址,获得请求网页数据(XML文件数据或JSON文件数据) public static String sendHttpRequest(String address 阅读全文
posted @ 2019-08-19 20:22 激流勇进1 阅读(244) 评论(0) 推荐(0) 编辑
解析获得的网页数据(XML文件或JSON文件)
摘要:1、解析XML:使用Pull方式。 需要导入jar包:xmlpull-xpp3-1.1.4c.jar //Pull解析XML文件 private void parseXMLWithPull(String xml_data) { try { XmlPullParserFactory factory = 阅读全文
posted @ 2019-08-19 20:22 激流勇进1 阅读(655) 评论(0) 推荐(0) 编辑
解析JSON有俩种方式:JSONObject和GSON
摘要:JSONObject: //JSONObject解析JSON文件 private void parseJSONWithJSONObject(String json_data) { try { JSONArray jsonArray=new JSONArray(json_data); for(int 阅读全文
posted @ 2019-08-19 20:22 激流勇进1 阅读(458) 评论(0) 推荐(0) 编辑
WebView:是应用程序打开web网页的UI控件前台
摘要:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_ 阅读全文
posted @ 2019-08-19 20:20 激流勇进1 阅读(183) 评论(0) 推荐(0) 编辑
WebView:是应用程序打开web网页的UI控件后端
摘要:public class WebViewActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate 阅读全文
posted @ 2019-08-19 20:20 激流勇进1 阅读(212) 评论(0) 推荐(0) 编辑
onCreateViewHolder方法加载了子项的布局
摘要:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="match_parent" android:layout_height="134dp" android:layout_alignParentTop 阅读全文
posted @ 2019-08-18 17:35 激流勇进1 阅读(1566) 评论(0) 推荐(0) 编辑
Java文件中代码
摘要:public class MyTextView extends TextView { //在用代码创建的时候调用 public MyTextView(Context context) { this(context, null); } //在识别XML的时候会调用此方法创建Textview,底层会用反 阅读全文
posted @ 2019-08-18 17:35 激流勇进1 阅读(126) 评论(0) 推荐(0) 编辑
在xml文件中使用该控件
摘要:<yf.changsha.com.view.MyTextView android:layout_width="match_parent" android:layout_height="40dp" android:ellipsize="marquee" android:focusable="true" 阅读全文
posted @ 2019-08-18 17:35 激流勇进1 阅读(155) 评论(0) 推荐(0) 编辑
创建基类
摘要:package com.gsls.b_mvp.base; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.gsls.b_mvp.view.util.GT; /** * auth 阅读全文
posted @ 2019-08-18 17:35 激流勇进1 阅读(125) 评论(0) 推荐(0) 编辑
DataList是外部传入的子项数据列表
摘要://定义适配器类public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{ private Context context; private List<People> DataList; //编写导入数据的 阅读全文
posted @ 2019-08-18 17:34 激流勇进1 阅读(186) 评论(0) 推荐(0) 编辑
SettingBar的点击事件拦截
摘要:接下来我们再来看另外一个案例,正如上面界面上显示的两个条目,车辆选择和始发地点选择,他们都有一个共同的特点就是都有共同的标题,内容和右剪头按钮,这种情况下我们都会把它封装成一个组合的自定义View来显示它,我们现在来看一下它的 效果图: 用户的需求是这样的: 当用户在点击车辆选择的条目的时候他会跳转 阅读全文
posted @ 2019-08-17 19:13 激流勇进1 阅读(187) 评论(0) 推荐(0) 编辑
单次轨迹回放
摘要:已知有一段轨迹数据,点击回放按钮,小车沿着路线自动的往前运动,播放完毕也就结束了 public class MoveSingleThread extends Thread{ private List<LatLng> mLatLngList; private Marker mCarMarker; pu 阅读全文
posted @ 2019-08-17 19:13 激流勇进1 阅读(170) 评论(0) 推荐(0) 编辑
实时轨迹数据排队问题
摘要:一个标准的异步消息处理线程应该怎么写?方法1: class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { 阅读全文
posted @ 2019-08-17 19:13 激流勇进1 阅读(133) 评论(0) 推荐(0) 编辑
运动轨迹的暂停、继续问题
摘要:由于运动轨迹是在子线程里面完成的,我们自然而然会想到线程的等待、唤醒,也就是wait、notify的问题了因此我们在运动过程加上就如下代码就可以了 if (pause) { try { lock.wait(); } catch (InterruptedException e) { e.printSt 阅读全文
posted @ 2019-08-17 19:13 激流勇进1 阅读(475) 评论(0) 推荐(0) 编辑
核心算法工具类
摘要:* <h1>轨迹平滑所需要的工具方法</h1> Date: 2016-10-27 Created by mxdl */public class TrackMoveUtil { private static double DISTANCE = 0.0001; /** * 根据两点算斜率 */ publ 阅读全文
posted @ 2019-08-17 19:13 激流勇进1 阅读(207) 评论(0) 推荐(0) 编辑
pymysql 处理数据的几种方式
摘要:1、表中提取数据 sql = "SELECT * FROM table WHERE name='%s'AND time='%s'" % (name,time)多个选择条件用AND连接,提取多个数据用','间隔。 2、表中插入数据 sql = "INSERT INTO table (name, tim 阅读全文
posted @ 2019-08-15 13:39 激流勇进1 阅读(310) 评论(0) 推荐(0) 编辑
利用pymysql同时修改两张表的数据
摘要:使用pymysql操作数据库中相关联的两张表需求:两张表中分别有一个字段是json格式,需要往json中再插入一个属性值’container_cloud’=’fasle’。 import pymysqlimport json db = pymysql.connect("host","user","p 阅读全文
posted @ 2019-08-15 13:37 激流勇进1 阅读(506) 评论(0) 推荐(0) 编辑
pymysql(一)检索、增加、更新、删除数据
摘要:(一) SELECT 检索数据 代码如下: import pymysql '''pymysql使用指南host = '127.0.0.1'回送地址,指本地机port = 3306MySQL的默认端口user用户名passwd密码db数据库charset字符类型''' my_con = pymysql 阅读全文
posted @ 2019-08-15 13:37 激流勇进1 阅读(1253) 评论(0) 推荐(0) 编辑
利用python将两张表链接
摘要:from pyspark.sql import SparkSessionfrom pyspark.sql.types import *import os def getUser(spark,path): struct1 = StructType([ StructField("user", Strin 阅读全文
posted @ 2019-08-15 13:36 激流勇进1 阅读(1098) 评论(0) 推荐(0) 编辑
利用spark将表中数据拆分
摘要:i# coding:utf-8from pyspark.sql import SparkSession import os if __name__ == '__main__': os.environ['JAVA_HOME'] = 'C:\Program Files\Java\jdk1.8.0_211 阅读全文
posted @ 2019-08-15 13:35 激流勇进1 阅读(1705) 评论(0) 推荐(0) 编辑
继承Thread类
摘要:步骤 定义一个Thread子类;覆盖run方法(线程执行事件方法);创建该线程的一个实例:Thread t=new MyThread();启动线程t1.start;实例: public class Main3 extends Thread{ int a; Main3(int a) { this.a= 阅读全文
posted @ 2019-08-13 17:04 激流勇进1 阅读(183) 评论(0) 推荐(0) 编辑
实现Runable接口
摘要:步骤 定义一个实现Runable接口的类,在类中实现run()方法(线程执行事件的方法)。创建一个上述类的对象:Thread t=new Thread(new MyThreadt.start());调用start 方法:t.start();实例: public class Main2 impleme 阅读全文
posted @ 2019-08-13 17:04 激流勇进1 阅读(158) 评论(0) 推荐(0) 编辑
实现Callable接口,并与Future结合使用
摘要:实现步骤: 创建 Callable 接口的实现类,并实现 call() 方法,该 call() 方法将作为线程执行体,并且有返回值。 创建 Callable 实现类的实例,使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 阅读全文
posted @ 2019-08-13 17:04 激流勇进1 阅读(125) 评论(0) 推荐(0) 编辑
使用Runnable接口创建线程池
摘要:步骤: 创建线程池对象创建 Runnable 接口子类对象提交 Runnable 接口子类对象关闭线程池实例: class TaskRunnable implements Runnable{ @Override public void run() { for (int i = 0; i < 10; 阅读全文
posted @ 2019-08-13 17:04 激流勇进1 阅读(305) 评论(0) 推荐(0) 编辑
SwipeRefreshLayout
摘要:我们就那网格布局例子为基础, 在它的?RecyclerView 上面加上一个?SwipeRefreshLayout 控件,这样要注意一下,SwipeRefreshLayout 必须是?RecyclerView 的父容器,也就是?SwipeRefreshLayout? 包裹 RecyclerView, 阅读全文
posted @ 2019-08-13 17:03 激流勇进1 阅读(413) 评论(0) 推荐(0) 编辑
View 层
摘要:package com.test.mvp.mvpdemo.mvp.v1.view; import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.support. 阅读全文
posted @ 2019-08-12 21:12 激流勇进1 阅读(113) 评论(0) 推荐(0) 编辑
Presenter 层
摘要:后是 Presenter 层,它是处理业务逻辑和业务数据的,所以必须持有 Model 的引用,同时要将处理完的数据交给 View 层用于显示,也必须持有 View 的引用,那么,一开始我们就要把这两层给实例化,具体看下面的代码: package com.test.mvp.mvpdemo.mvp.v1 阅读全文
posted @ 2019-08-12 21:12 激流勇进1 阅读(205) 评论(0) 推荐(0) 编辑
Model 层
摘要:package com.test.mvp.mvpdemo.mvp.v1.model; import com.test.mvp.mvpdemo.mvp.v1.MainContract; import okhttp3.Callback;import okhttp3.OkHttpClient;import 阅读全文
posted @ 2019-08-12 21:12 激流勇进1 阅读(128) 评论(0) 推荐(0) 编辑
MVP 实战
摘要:那么我们下面就要将这个类中的代码改写为 MVP 的写法,回顾上面提及的 MVP 架构的思想,它是将 View 层与 Model 层彻底隔离,意味着 View 和 Model 都不再持对方的引用,它们通过一个第三者 Presenter 来代理事物的传递,所以 Presenter 层会持有 Model 阅读全文
posted @ 2019-08-12 21:12 激流勇进1 阅读(122) 评论(0) 推荐(0) 编辑
MVC
摘要:layout.activity_main); initViews(); request(); showDialog(); } private void initViews() { tv = findViewById(R.id.tv); } private void showDialog() { Pr 阅读全文
posted @ 2019-08-12 21:12 激流勇进1 阅读(102) 评论(0) 推荐(0) 编辑
DB数据库的基本操作
摘要:启动 MongoDB 服务 sudo service mongodb start 进入 MongoDB 命令行操作界面,在命令行中敲 exit 可以退出。mongo 创建数据库 use db 命令查看您当前选择的数据库:show dbs 命令查看所有的数据库 删除数据库语法:db.dropDatab 阅读全文
posted @ 2019-08-11 15:29 激流勇进1 阅读(1015) 评论(0) 推荐(0) 编辑
MongoDB数据库基本操作
摘要:一、用户1.切换collection>use admin 则表示切换到admin数据库。2.创建用户>db.createUser({user:"username",pwd:"password",roles:[{role:"root",db:"admin"}]});为指定collection创建用户时 阅读全文
posted @ 2019-08-11 15:28 激流勇进1 阅读(270) 评论(0) 推荐(0) 编辑
转换函数
摘要:to_char(date,fmt):将日期转成符合格式的字符串 yyyy:表示年份mm:表示月份dd:表示几号HH24:24小时制mi:表示分钟ss:表示秒钟 --2017/07/21 select sysdate from dual; -- 2017-07-21 15:52:35 select t 阅读全文
posted @ 2019-08-11 15:27 激流勇进1 阅读(315) 评论(0) 推荐(0) 编辑
字符串函数
摘要:lower(expr):将表达式的结果转成小写upper(expr):将表达式的结果转成大写.length(str):获得字符串中字符的个数lpad(expr1,n,expr2):将expr2的结果填充在expr1的左边得到长度为n的字符串rpad(expr1,n,expr2):将expr2的结果填 阅读全文
posted @ 2019-08-11 15:26 激流勇进1 阅读(112) 评论(0) 推荐(0) 编辑
空值处理
摘要:特点:oracle数据库中,没有数据表示空,如果空参与计算结果为空.oracle数据库中任何类型都可以为空. nvl(exp1,exp2) 作用:如果exp1不为空,返回exp1的结果,如果exp1为空,那么返回exp2的结果. # 查询员工姓名以及员工的月收入(sal+comm) select e 阅读全文
posted @ 2019-08-11 15:25 激流勇进1 阅读(205) 评论(0) 推荐(0) 编辑
Java中使用Redis的几种数据类型总结
摘要:1.String,最基本的类型 方法 set、get 2.hash redis 127.0.0.1:6379> HMSET user:1 username redis.net.cn password redis.net.cn points 200OKredis 127.0.0.1:6379> HGE 阅读全文
posted @ 2019-08-10 14:52 激流勇进1 阅读(616) 评论(0) 推荐(0) 编辑
equals与hashcode
摘要:java代码: public class A { private String name; /** * @return the name */ public String getName() { return name; } /** * @param name * the name to set * 阅读全文
posted @ 2019-08-10 14:51 激流勇进1 阅读(118) 评论(0) 推荐(0) 编辑
hashcode、equals、HashMap间的关系
摘要:1、从Object说起package com.hallo.collection; public class ObjectDemo { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new 阅读全文
posted @ 2019-08-10 14:50 激流勇进1 阅读(345) 评论(0) 推荐(0) 编辑
Hash算法原理以及HashCode深入理解
摘要:Java中的Collection有两类,一类是List,一类是Set。List内的元素是有序的,元素可以重复。Set元素无序,但元素不可重复。要想保证元素不重复,两个元素是否重复应该依据什么来判断呢?用Object.equals方法。但若每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元 阅读全文
posted @ 2019-08-10 14:49 激流勇进1 阅读(585) 评论(0) 推荐(0) 编辑
equals深入理解
摘要:package cn.galc.test; public class TestEquals { public static void main(String[] args) { /** * 这里使用构造方法Cat()在堆内存里面new出了两只猫, * 这两只猫的color,weight,height 阅读全文
posted @ 2019-08-10 14:48 激流勇进1 阅读(286) 评论(0) 推荐(0) 编辑
对象转json串.
摘要:public static Object returnObject(String jsonStr, Class objClass) {if (jsonStr == null) {return null;}Object obj = null;try {obj = mapper.readValue(js 阅读全文
posted @ 2019-08-09 19:22 激流勇进1 阅读(156) 评论(0) 推荐(0) 编辑
EventBus和Otto第三方构架
摘要:代码 添加依赖:implementation 'org.greenrobot:eventbus:3.0.0'1注册并声明订阅者,然后发布事件最后解除注册 @Override protected void onCreate(Bundle savedInstanceState) { super.onCr 阅读全文
posted @ 2019-08-09 19:21 激流勇进1 阅读(193) 评论(0) 推荐(0) 编辑
TimeUtils
摘要:public class TimeUtils { public static final int YEAR = 0; public static final int MONTH = 1; public static final int DAY = 2; public static final int 阅读全文
posted @ 2019-08-09 19:21 激流勇进1 阅读(287) 评论(0) 推荐(0) 编辑
Otto
摘要:导入依赖:implementation 'com.squareup:otto:1.3.8'1定义一个类继承Bus,并且设置单列模式注册和声明订阅者发送事件,最后解除注册与EventBus相同EventBus与Otto的区别 Otto需要写一个类去继承BusOtto需要写单列模式 阅读全文
posted @ 2019-08-09 19:20 激流勇进1 阅读(173) 评论(0) 推荐(0) 编辑
对象转json串
摘要:public static Object returnObject(String jsonStr, Class objClass) { if (jsonStr == null) { return null; } Object obj = null; try { obj = mapper.readVa 阅读全文
posted @ 2019-08-09 19:19 激流勇进1 阅读(255) 评论(0) 推荐(0) 编辑
基于python实现自动化办公学习笔记四
摘要:PPT(1)写PPT import win32comimport win32com.client def makeppt(path): ppt = win32com.client.Dispatch("PowerPoint.Application") ppt.Visible = True pptFil 阅读全文
posted @ 2019-08-08 18:15 激流勇进1 阅读(395) 评论(0) 推荐(0) 编辑
基于python实现自动化办公学习笔记三
摘要:Excel(1)写xls文件 # 有序字典from collections import OrderedDict# 存储数据from pyexcel_xls import save_data def makeExcelFile(path, data): dic = OrderedDict() for 阅读全文
posted @ 2019-08-08 18:14 激流勇进1 阅读(740) 评论(0) 推荐(0) 编辑
基于python实现自动化办公学习笔记一
摘要:1、CSV(1)写csv文件 import csv def writecsv(path,data): with open(path, "w") as f: writer = csv.writer(f) for rowData in data: print("rowData=", rowData) w 阅读全文
posted @ 2019-08-08 18:13 激流勇进1 阅读(391) 评论(0) 推荐(0) 编辑
基于python实现自动化办公学习笔记二
摘要:word文件(1)读word文件 import win32comimport win32com.client def readWordFile(path): # 调用系统word功能,可以处理doc和docx两种文件 mw = win32com.client.Dispatch("Word.Appli 阅读全文
posted @ 2019-08-08 18:13 激流勇进1 阅读(427) 评论(0) 推荐(0) 编辑
[django]中间件
摘要:中间件django中的数据流就是请求和响应, 如果将django比作一个工厂, 数据请求代表进货, 将数据进行加工然后再出货也就是响应, 中间的加工过程就可以用中间件来完成 含义: 处理接收的请求和发出的响应的组件, 都是由中间件来完成 本质: 是一个具有指定方法的类 函数定义中间件文件名命名不受限 阅读全文
posted @ 2019-08-08 18:11 激流勇进1 阅读(137) 评论(0) 推荐(0) 编辑
[django]上下文管理器
摘要:上下文管理器django提取context中的数据去供模板调用 需求: 所有的页面都需要一个特定的变量 本质: python函数 , 接收一个HttpRequest对象的参数 , 且返回的必须是一个字典 定义上下文管理器文件名命名不受限, 放置的路径也不受拘束, 可以放在django项目下的任意位置 阅读全文
posted @ 2019-08-08 18:11 激流勇进1 阅读(216) 评论(0) 推荐(0) 编辑
为什么Redis可以方便地实现分布式锁
摘要:1、Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。 2、Redis的SETNX命令可以方便的实现分布式锁。 setNX(SET if Not eXists) 语法:SETNX key value 返回值:设置成功,返回 1 ;设置失败 阅读全文
posted @ 2019-08-06 19:26 激流勇进1 阅读(1875) 评论(0) 推荐(0) 编辑
分布式锁实现
摘要:我们已经知道可以通过Redis自带的函数setNX来实现分布式锁,具体实现步骤如下。 我在一台CentOS7的linux虚拟机中安装了Redis服务,ip地址为:192.168.246.130,服务端口为:6379。 下面是java通过redis实现分布式锁的例子: import redis.cli 阅读全文
posted @ 2019-08-06 19:26 激流勇进1 阅读(149) 评论(0) 推荐(0) 编辑
COUNT 和 IFNULL函数
摘要:用COUNT函数: mysql> SELECT count(one) FROM tb_test;+ +| count(http://www.amjmh.com/v/BIBRGZ_558768/) |+ +| 3 |+ +1 row in set mysql> SELECT count(two) FR 阅读全文
posted @ 2019-08-06 19:25 激流勇进1 阅读(1545) 评论(0) 推荐(0) 编辑
索引字段说明
摘要:看到网上有一些人说: MySql中如果某一列中含有NULL,那么包含该列的索引就无效了。 给one 和two 字段分别加上普通索引。之前有写过,在复习添加索引:Mysql索引整理总结 -- ALTER TABLE table_name ADD INDEX index_name(col_name);A 阅读全文
posted @ 2019-08-06 19:25 激流勇进1 阅读(1054) 评论(0) 推荐(0) 编辑
shell后台进程
摘要:建立duplicate_removal.sh文件,内容如下:#!/bin/bashmysql -vvv -u root -p123456 test -e "truncate t_target" &>/dev/null date '+%H:%M:%S'for y in {1..4}do sql="ca 阅读全文
posted @ 2019-08-06 19:24 激流勇进1 阅读(276) 评论(0) 推荐(0) 编辑
MySQL Schedule Event
摘要:建立事件历史日志表-- 用于查看事件执行时间等信息create table t_event_history ( dbname varchar(128) not null default '', eventname varchar(128) not null default '', starttime 阅读全文
posted @ 2019-08-06 19:24 激流勇进1 阅读(354) 评论(0) 推荐(0) 编辑
触发事件执行
摘要:mysql -vvv -u root -p123456 test -e "truncate t_target;alter event ev1 on schedule at current_timestamp enable;alter event ev2 on schedule at current_ 阅读全文
posted @ 2019-08-06 19:24 激流勇进1 阅读(109) 评论(0) 推荐(0) 编辑
查看事件执行日志
摘要:mysql> select * from test.t_event_history;(http://www.amjmh.com)+ + + + + + + + +| dbname | eventname | starttime | endtime | issuccess | duration | e 阅读全文
posted @ 2019-08-06 19:24 激流勇进1 阅读(1531) 评论(0) 推荐(0) 编辑
占用空间区别
摘要:mysql> select length(NULL), length(''), length('1');+ + + +| length(NULL) | length('') | length('1') |+ + + +| NULL | 0 | 1 |+ + + +1 row in set123456 阅读全文
posted @ 2019-08-06 19:24 激流勇进1 阅读(136) 评论(0) 推荐(0) 编辑
建立查重的存储过程
摘要:有了以上信息我们就可以写出4条语句处理全部数据。为了调用接口尽量简单,建立下面的存储过程。 delimiter //create procedure sp_unique(i smallint) begin set @a:='1000-01-01 00:00:00'; set @b:=' '; if 阅读全文
posted @ 2019-08-06 19:23 激流勇进1 阅读(200) 评论(0) 推荐(0) 编辑
百度地图根据经纬度
摘要:var map = new BMap.Map("map"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 15); map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放 map 阅读全文
posted @ 2019-08-05 18:23 激流勇进1 阅读(215) 评论(0) 推荐(0) 编辑
值绘制轨迹
摘要:for (var i = 0, j = trackPoint.length; i < j; i++) { var marker = new BMap.Marker(trackPoint[i], { icon: icon, offset: offset }); // 创建标注 map.addOverl 阅读全文
posted @ 2019-08-05 18:22 激流勇进1 阅读(188) 评论(0) 推荐(0) 编辑
绘制椭圆
摘要:Ellipse() 函数可以用来绘制椭圆,它的原型为: BOOL Ellipse、(http://www.amjmh.com/v/) HDC hdc, //设备环境句柄 int nLeftRect, //左上角x坐标 int nTopRect, //左上角y坐标 int nRightRect, // 阅读全文
posted @ 2019-08-05 18:21 激流勇进1 阅读(213) 评论(0) 推荐(0) 编辑
绘制直线
摘要:绘制直线需要确定起点和终点。 确定起点使用 MoveToEx 函数。MoveToEx 用来指定画笔的起始位置,也就是从哪里开始画,它的原型为: BOOL MoveToEx( HDC hdc, //设备环境句柄 int x, //起始位置x坐标 int y, //起始位置y坐标 LPPOINT lpP 阅读全文
posted @ 2019-08-05 18:21 激流勇进1 阅读(251) 评论(0) 推荐(0) 编辑
带圆角的矩形
摘要:如果您觉得上面矩形过于方正,那么可以使用 RoundRect 函数,它可以画出带有圆角边框的矩形,原型为: BOOL RoundRect( HDC hdc, //设备环境句柄 int nLeftRect, //矩形左上角x坐标 int nTopRect, //矩形左上角y坐标 int nRightR 阅读全文
posted @ 2019-08-05 18:21 激流勇进1 阅读(230) 评论(0) 推荐(0) 编辑
创建和使用画笔
摘要:面的绘图使用的是Windows的默认画笔,也就是宽度为1个像素,颜色为黑色的画笔。我们也可以创建自己的画笔。 创建画笔的API函数为 CreatePen: HPEN CreatePen(http://www.amjmh.com/v/BIBRGZ_558768/) int nPenStyle, //画 阅读全文
posted @ 2019-08-05 18:21 激流勇进1 阅读(456) 评论(0) 推荐(0) 编辑
创建和使用画刷
摘要:Windows API 中有两个函数可以用来创建画刷。 CreateSolidBrush 函数可以用来创建一个指定颜色的实心画刷,原型为: HBRUSH CreateSolidBrush( COLORREF crColor ); // crColor为画刷颜色1CreateHatchBrush 函数 阅读全文
posted @ 2019-08-05 18:20 激流勇进1 阅读(388) 评论(0) 推荐(0) 编辑
画出一个三角形
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; //设备环境句柄 PAINTSTRUCT ps; //存储绘图环境的相关信息 static HPEN hPen; //定 阅读全文
posted @ 2019-08-05 18:20 激流勇进1 阅读(138) 评论(0) 推荐(0) 编辑
绘制矩形
摘要:Rectangle 函数可以在窗口上绘制一个矩形,它的原型为: BOOL Rectangle( HDC hdc, //设备环境句柄 int nLeftRect, //矩形左上角x坐标 int nTopRect, //矩形左上角y坐标 int nRightRect, //矩形右下角x坐标 int nB 阅读全文
posted @ 2019-08-05 18:19 激流勇进1 阅读(214) 评论(0) 推荐(0) 编辑
画刷使用
摘要:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; //设备环境句柄 PAINTSTRUCT ps; //存储绘图环境的相关信息 //定义两个画刷,定义为静态变量 stat 阅读全文
posted @ 2019-08-05 18:19 激流勇进1 阅读(214) 评论(0) 推荐(0) 编辑
在getview方法中有三个参数,起到优化的部分为ViewHolder的使用,主要方法setTag(),getTag()
摘要:适配器代码如下: public class Myadapter extends BaseAdapter { List<String> date; Context context; //构造方法 public Myadapter(List<String> date, Context context) 阅读全文
posted @ 2019-08-04 18:23 激流勇进1 阅读(705) 评论(0) 推荐(0) 编辑
Android 一键分享功能简单实现
摘要:import java.io.File;import java.util.ArrayList;import java.util.List; import android.content.Context;import android.content.Intent;import android.net. 阅读全文
posted @ 2019-08-04 18:22 激流勇进1 阅读(1021) 评论(0) 推荐(0) 编辑
SecondModel 实现类
摘要:package com.test.mvp.mvpdemo.mvp.v6.model; import com.test.mvp.mvpdemo.mvp.v6.SecondContract;import com.test.mvp.mvpdemo.mvp.v6.basemvp.BaseModel;impo 阅读全文
posted @ 2019-08-04 18:22 激流勇进1 阅读(67) 评论(0) 推荐(0) 编辑
SecondContract 接口类
摘要:package com.test.mvp.mvpdemo.mvp.v6; import com.test.mvp.mvpdemo.mvp.v6.basemvp.IBasePresenter;import com.test.mvp.mvpdemo.mvp.v6.basemvp.IBaseView; i 阅读全文
posted @ 2019-08-04 18:22 激流勇进1 阅读(89) 评论(0) 推荐(0) 编辑
新建 SecondPresenter 实现类
摘要:package com.test.mvp.mvpdemo.mvp.v6.presenter; import com.test.mvp.mvpdemo.mvp.v6.SecondContract;import com.test.mvp.mvpdemo.mvp.v6.basemvp.BasePresen 阅读全文
posted @ 2019-08-04 18:20 激流勇进1 阅读(104) 评论(0) 推荐(0) 编辑
新建 SecondFragment 实现类
摘要:package com.test.mvp.mvpdemo.mvp.v6.view; import android.os.Bundle;import android.support.annotation.Nullable;import android.widget.TextView;import an 阅读全文
posted @ 2019-08-04 18:20 激流勇进1 阅读(157) 评论(0) 推荐(0) 编辑
BaseFragment 基类
摘要:package com.test.mvp.mvpdemo.mvp.v6.basemvp; import android.os.Bundle;import android.support.annotation.IdRes;import android.support.annotation.Layout 阅读全文
posted @ 2019-08-04 18:19 激流勇进1 阅读(728) 评论(0) 推荐(0) 编辑
BaseFragment 基类代码
摘要:public abstract class BaseFragment extends Fragment implements IBaseView { private List<BasePresenter> mInjectPresenters; private View mLayoutView; pr 阅读全文
posted @ 2019-08-04 18:15 激流勇进1 阅读(187) 评论(0) 推荐(0) 编辑
ProxyImpl 类
摘要:package com.test.mvp.mvpdemo.mvp.v7.proxy; import com.test.mvp.mvpdemo.mvp.v7.basemvp.BasePresenter;import com.test.mvp.mvpdemo.mvp.v7.basemvp.IBaseVi 阅读全文
posted @ 2019-08-04 18:15 激流勇进1 阅读(187) 评论(0) 推荐(0) 编辑
BaseActivity 基类
摘要:public abstract class BaseActivity extends AppCompatActivity implements IBaseView { private ProxyActivity mProxyActivity; protected abstract void init 阅读全文
posted @ 2019-08-04 18:15 激流勇进1 阅读(709) 评论(0) 推荐(0) 编辑
MyView.java 自己画的view
摘要:package myapplication21.lum.com.mycanvas; import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.g 阅读全文
posted @ 2019-08-03 19:18 激流勇进1 阅读(199) 评论(0) 推荐(0) 编辑
activity_main.xml 添加自己画的view 组件
摘要:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/a 阅读全文
posted @ 2019-08-03 19:18 激流勇进1 阅读(531) 评论(0) 推荐(0) 编辑
MainActivity.java 文件
摘要:主函数 package myapplication21.lum.com.mycanvas; import android.support.v7.app.AppCompatActivity;import android.os.Bundle; public class MainActivity exte 阅读全文
posted @ 2019-08-03 19:18 激流勇进1 阅读(914) 评论(0) 推荐(0) 编辑
对于大量数据存储入库问题的解决办法
摘要:在开发过程中,有时可能会遇到这种情况,当主线程中开启了N个子线程,而每个子线程中运算分析结果的数据量特别的大,如果对于这样的大批量数据在子线程中进行入库,那么会造成大量的连接资源浪费,同时会造成数据库阻塞影响程序执行效率。这时候解决方案有两个: 将子线程中的数据统一用主线程接收,在主线程中进行入库操 阅读全文
posted @ 2019-08-03 19:18 激流勇进1 阅读(656) 评论(0) 推荐(0) 编辑
drawArc
摘要:1) 画笔设置 Paint.Style.STROKE 中空模式 paint = new Paint(); //新建一个画笔对象 paint.setAntiAlias(true);//抗锯齿功能 paint.setColor(Color.RED); //设置画笔颜色 paint.setStyle(Pa 阅读全文
posted @ 2019-08-03 19:17 激流勇进1 阅读(1226) 评论(0) 推荐(0) 编辑
drawRect
摘要:1) 画笔设置 Paint.Style.STROKE 中空模式 paint = new Paint(); //新建一个画笔对象 paint.setAntiAlias(true);//抗锯齿功能 paint.setColor(Color.RED); //设置画笔颜色 paint.setStyle(Pa 阅读全文
posted @ 2019-08-03 19:17 激流勇进1 阅读(417) 评论(0) 推荐(0) 编辑
我的Podfile如下
摘要:# Uncomment this line to define a global platform for your projectuse_frameworks!(http://www.my516.com) source 'https://github.com/CocoaPods/Specs.git 阅读全文
posted @ 2019-08-03 19:16 激流勇进1 阅读(248) 评论(0) 推荐(0) 编辑
Flutter端代码
摘要:新建一个页面FirstScreen.dartmain.dart改动代码 导入import 'dart:ui' as ui;import 'package:flutter_module/FirstScreen.dart';12修改//void main() => runApp(MyApp());voi 阅读全文
posted @ 2019-08-03 19:16 激流勇进1 阅读(182) 评论(0) 推荐(0) 编辑
我们打开Podfile修改一下,以便将flutter包括在里面
摘要:platform :ios, '9.0'target 'myproject' do end #新添加的代码flutter_application_path = '../'eval(File.read(File.join(flutter_application_path, '.ios', 'Flutt 阅读全文
posted @ 2019-08-03 19:15 激流勇进1 阅读(1037) 评论(0) 推荐(0) 编辑
OC端代码
摘要:ViewController.m #import "ViewController.h"#import <Flutter/Flutter.h>#include "GeneratedPluginRegistrant.h"#import "SettingViewController.h" @interfa 阅读全文
posted @ 2019-08-03 19:15 激流勇进1 阅读(324) 评论(0) 推荐(0) 编辑
MatrixTraceTransform主要逻辑在transform方法中
摘要:@Override public void transform(TransformInvocation transformInvocation) throws TransformException, InterruptedException, IOException { long start = S 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(395) 评论(0) 推荐(0) 编辑
hook原生打包流程
摘要:将实际执行的Transform换成了MatrixTraceTransform public static void inject(Project project, def variant) { //获取Matrix trace的gradle配置参数 def configuration = proje 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(219) 评论(0) 推荐(0) 编辑
5.8 服务器参数
摘要:Appium 服务器参数 使用方法: node . [标志]服务器标志 所有的标志都是可选的,但是有一些标志需要组合在一起才能生效。 <expand_table>标志 默认值 描述 例子--shell null 进入 REPL 模式--localizable-strings-dir en.lproj 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(115) 评论(0) 推荐(0) 编辑
ppium使用方法说明
摘要:global driver# 元素定位driver.find_element_by_id("id") # id定位driver.find_element_by_name("name") # name定位driver.find_element_by_link_text("text") # 链接名定位d 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(244) 评论(0) 推荐(0) 编辑
安全性及其它
摘要:JSBridge类管理暴露给前端方法,前端调用的方法应该在此类中注册才可使用。register的实现是从Map中查找key是否存在,不存在则反射取得对应class中的所有方法,具体方法是在BridgeImpl中定义的,方法包括三个参数分别为WebView、JSONObject、CallBack。如果 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(111) 评论(0) 推荐(0) 编辑
在java中
摘要:// 进入prompt回调 public class JSBridgeWebChromeClient extends WebChromeClient { @Override public boolean onJsPrompt(WebView view, String url, String mess 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(188) 评论(0) 推荐(0) 编辑
app中使用
摘要:KeepLive.startWork(this, KeepLive.RunMode.ROGUE, ForegroundNotification("Title", "message", R.mipmap.ic_launcher, object : ForegroundNotificationClick 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(198) 评论(0) 推荐(0) 编辑
提高Service优先级
摘要:在onStartCommand()方法中开启一个通知,提高进程的优先级。注意:从Android 8.0(API级别26)开始,所有通知必须要分配一个渠道,对于每个渠道,可以单独设置视觉和听觉行为。然后用户可以在设置中修改这些设置,根据应用程序来决定哪些通知可以显示或者隐藏。 定义一个通知工具类,兼容 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(296) 评论(0) 推荐(0) 编辑
定义一个JobService,开启本地服务和远程服务
摘要:@SuppressWarnings(value = ["unchecked", "deprecation"])@RequiresApi(Build.VERSION_CODES.LOLLIPOP)class JobHandlerService : JobService() { private var 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(690) 评论(0) 推荐(0) 编辑
定义一个远程服务,绑定本地服务
摘要:class RemoteService : Service() { private var mBilder: MyBilder? = null override fun onCreate() { super.onCreate() if (mBilder == null) { mBilder = My 阅读全文
posted @ 2019-08-02 20:59 激流勇进1 阅读(205) 评论(0) 推荐(0) 编辑
drawChild中画阴影,裁剪出圆角
摘要:我们在EasyConstraintLayout中初始化paint,并且关闭硬件加速,然后在drawChild中实现阴影逻辑,最终代码如下。 public class EasyConstraintLayout extends ConstraintLayout { private Paint shado 阅读全文
posted @ 2019-08-01 19:16 激流勇进1 阅读(354) 评论(0) 推荐(0) 编辑
onLayout初始化裁剪信息
摘要:在EasyConstraintLayout中初始化LayoutParamsData的paths @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.o 阅读全文
posted @ 2019-08-01 19:16 激流勇进1 阅读(112) 评论(0) 推荐(0) 编辑
重写LayoutParams,读取子View自定义属性
摘要:在EasyConstraintLayout内部定义一个静态类LayoutParams继承ConstraintLayout.LayoutParams,然后在构造方法中读取上面自定义的属性。我们通过裁剪的方式实现圆角效果,因此还有要获取子view的位置和大小。 static class LayoutPa 阅读全文
posted @ 2019-08-01 19:16 激流勇进1 阅读(475) 评论(0) 推荐(0) 编辑
如何创建自定义的Resource实例
摘要:由Resource的构造函数Resources(AssetManager assets, DisplayMetrics metrics, Configuration config)了解到,需要获取app外部apk文件资源的Resource对象,首先需要创建对应的AssetManager对象。 pub 阅读全文
posted @ 2019-08-01 19:15 激流勇进1 阅读(441) 评论(0) 推荐(0) 编辑
继承ConstraintLayout
摘要:开发中复杂的布局基本上都可以通过ConstraintLayout实现,所以我们继承ConstraintLayout实现一个EasyConstraintLayout能够为子view添加圆角和阴影效果。 public class EasyConstraintLayout extends Constrai 阅读全文
posted @ 2019-08-01 19:15 激流勇进1 阅读(598) 评论(0) 推荐(0) 编辑
认识setFactory
摘要:平常设置或者获取一个View时,用的较多的是setContentView或LayoutInflater#inflate,setContentView内部也是通过调用LayoutInflater#inflate实现(具体调用在AppCompatViewInflater#setContentView(i 阅读全文
posted @ 2019-08-01 19:14 激流勇进1 阅读(289) 评论(0) 推荐(0) 编辑
前一单点击触发事件
摘要:在日常项目中,总会有很多单子,有时候为了方便查找,就做了一个查询功能,但是,这里讲的是一个前一单后一单的点击事件,在单子少的时候查找十分的方便,在查找两个相邻的单子时,很好做对比。 首先要查到所有的单子信息,这个相对于比较简单再查询是维修后单和前单的信息//查询维修单后一单public Action 阅读全文
posted @ 2019-08-01 19:13 激流勇进1 阅读(138) 评论(0) 推荐(0) 编辑
后一单点击触发事件
摘要:最后返回数据到页面中//点击维修单后一单事件$("#HouYiWXD").click(function () {//查询维修单行总数j++;DanShu++;i = shuzu[j];if (j == shuzu.length) {layer.msg(“这是最后一张维修单了!老板”, { icon: 阅读全文
posted @ 2019-08-01 19:13 激流勇进1 阅读(118) 评论(0) 推荐(0) 编辑
Scrapy模拟登陆豆瓣抓取数据
摘要:scrapy startproject douban 其中douban是我们的项目名称 2创建爬虫文件 进入到douban 然后创建爬虫文件 scrapy genspider dou douban.com 或者 scrapy genspider -t crawl dou douban.com # 这 阅读全文
posted @ 2019-08-01 19:12 激流勇进1 阅读(583) 评论(0) 推荐(0) 编辑
可拖拽的ListView
摘要:说明: WindowManager在addView时尚未测量完成, 获取宽高都是0。 可以这样测量: view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);int width = view.getMeasur 阅读全文
posted @ 2019-08-01 19:11 激流勇进1 阅读(262) 评论(0) 推荐(0) 编辑