- 博客(65)
- 资源 (5)
- 收藏
- 关注
原创 博客从CSDN迁入简书
现在正式从CSDN博客搬迁到简书。比起CSDN博客,简书还是感觉编辑起来更舒服。以后也会在简书继续发开发笔记,把琐碎的笔记留下,以后的文章会更倾向于人工智能和大数据方向。CSDN这边会继续保留,偶尔也会更新,但频率应该会比较少。...
2019-07-26 00:34:40 417
原创 python中实现K-Means聚类算法
聚类问题是数据挖掘的基本问题,它的本质是将n 个数据对象划分为k个聚类,以便使得所获得的聚 类满足以下条件:同一聚类中的数据对象相似度较 高;不同聚类中的对象相似度较小。它的基本思想是以空间中k个点为中心,进行聚类 ,对最靠近他们的对象归类。通过迭代的方法,逐 次更新各聚类中心的值,直至得到最好的聚类结果 次更新各聚类中心的值,直至得到最好的聚类结果 。**算法的基本步骤**第一步:...
2019-06-02 02:35:05 550
原创 python 完美解决使用Matplotlib中文乱码问题
如果python使用matplotlib做数据可视化时中文出现乱码,可以使用以下办法进行解决:plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False # 用来正常显示符号完整例子#Matplotlib applicationimport m...
2019-05-02 04:49:40 948
原创 python使用多线程threading解决sched的阻塞问题
import datetimeimport schedimport threadingimport timedef init(): global s s = sched.scheduler(time.time,time.sleep)def job1(): print("i am working in job1")def job2(): print...
2019-04-29 23:41:02 3241 2
原创 Python定时任务sched和多线程Timer用法示例对比
一、sched的定时任务from sched import *from time import *def print_time(msg="default"): print("当前时间",time(),msg)s = scheduler(time,sleep)print(time())s.enter(5,1,print_time,("延迟5秒,优先级1",))s.enter...
2019-04-29 22:53:36 1745
原创 OpenGL ES 2.0 着色器语言
OpenGL 着色器中使用的是着色语言GLSL。着色语言源自C语言,提供了丰富的原生类型,如向量、矩阵等,还有大量的内建函数,这在处理3D图形时可以更加高效、易用。下面是整理的是OpenGL ES2.0的GLSL语言。基本数据类型标量 GLSL中的标量含布尔、int和float,声明方法也跟一般的语言相似: 向量 由2,3或4维标量组成: 访问向量的某个分量可以通过数组...
2018-03-30 14:33:50 693
原创 Windows 下用BAT写一个简单的apk安装器
使用Android Studio 打包了apk文件,有时觉得给手机安装apk挺麻烦的,不妨试试在windows上编写BAT程序给手机安装apk。其实原理就是使用adb命令进行apk安装。@ECHO off@TITLE APK安装@COLOR E@REM 将adb.exe添加到PATH中ECHO 初始化…@SET PATH=%PATH%;%CD%\Adb@REM S...
2018-02-23 15:12:32 1454
转载 MP4封装格式介绍 -- Atom结构
视频封装格式是指视频数据如何存储的,视频编码格式是指原始视频数据如何编码为二进制数据码流。编码后的视频数据最终通过视频封装格式存储为视频文件。本文对视频封装格式MP4做一些介绍。主要介绍了Atom结构和Atom中数据的意义。一、MP4封装格式 ISO/IEC 14496-12(MPEG-4 Part 12 ISO base media file format)定义了一种通用的数字媒体文件
2018-02-07 18:16:12 5189
转载 Could not find method google() for arguments [] on repository container.
Now you will probably get this error if you haven’t upgraded the gradle library in the gradle-wrapper.properties file. Could not find method google() for arguments [] on repository container.So, le
2018-02-01 17:53:50 2157
原创 MVP架构模式简单示例
MVP架构的概念MVP(Model-View-Presenter)是从经典的模式MVC演变而来的,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有
2018-01-02 12:22:34 789
转载 Android VelocityTracker的简单研究
下面是Google对该类的描述:/** * Helper for tracking the velocity of touch events, for implementing * flinging and other such gestures. Use {@link #obtain} to retrieve a * new instance of the class when yo
2017-12-28 21:10:58 800
转载 Android的Scroller和VelocityTracker
一. Android的Scroller介绍 public class Scroller extends Object java.lang.Object android.widget.Scroller二. 概述 这个类封装了滚动操作。滚动的持续时间可以通过构造函数传递,并且可以指定滚动动作的持续的最长时间。经过这段时间,滚动会自动定位到最终位置,并且通过computeScro
2017-12-28 20:53:00 895
原创 Android ListView列表上下滑动趋势方向测算
private class JudgeScrollType implements AbsListView.OnScrollListener { private int trendY = 0; private int TotalTrendY = 0; private int lastTop = 0; private int top
2017-12-28 19:30:16 280
原创 Android WebView 基本用法
MainActivity.javapublic class MainActivity extends AppCompatActivity { private WebView wb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
2017-06-30 13:46:08 554
转载 Android 获取手机厂商、系统版本等信息
在开发中 我们有时候会需要获取当前手机的系统版本来进行判断,或者需要获取一些当前手机的硬件信息。android.os.Build类中。包括了这样的一些信息。我们可以直接调用 而不需要添加任何的权限和方法。android.os.Build.BOARD:获取设备基板名称android.os.Build.BOOTLOADER:获取设备引导程序版本号android.os.Build.BRAND:获取设备
2017-06-15 10:42:08 7188
转载 java中判断字符串真实长度(中文2个字符,英文1个字符)的方法
public class Char_cn { public static void main(String[] args) { // TODO Auto-generated method stub String haha = "呵呵呵呵abcd"; int true_num = String_length(haha); System.out.println("true" + true
2017-06-08 14:04:08 22492
原创 Android 判断当前是否在WIFI网络下
private static boolean isWifi(Context mContext) { ConnectivityManager connectivityManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Net
2017-05-31 17:52:50 3584
原创 Android MediaPlayer简单的实用以及续播的实现
MianActivity.javapackage xyz.video;import android.app.Activity;import android.content.res.AssetFileDescriptor;import android.content.res.AssetManager;import android.media.MediaPlayer;import android
2017-05-18 11:11:10 1876
原创 Java通过反射调用方法
import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; public class TestRef { public static void main(String args[]) throws NoSuchMethodException, IllegalAccess
2017-05-05 14:42:06 357
转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)
在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。
2017-05-04 10:24:13 381
原创 Android 桌面角标在各大品牌机型上的实现
由于角标在Android原生的系统中没有支持,所以各个Android手机厂商各自为政。正如很多资料所说,这一功能完全是效仿IOS,Android本不存在的,对于不支持的厂商如魅族、中兴、酷派,必须为他们不盲目跟风而点赞。做起适配来,真的很麻烦,要针对各个厂商逐个去写以及测试。目前做到支持小米、华为、三星、LG、VIVO、ZUK、HTC、NOVA等厂商的Andorid系统效果如下图所示特别说明一下小...
2017-04-13 19:12:30 9819 12
原创 Android 手机震动效果
先在AndroidManifest.xml中加入权限android:name="android.permission.VIBRATE"/>调用时,设定ms 数和上下文即可 public void shakePhone(int duration, Context mContext) { Vibrator mVibrator = (Vib
2017-04-10 10:37:28 741
原创 Android 自定义Notification消息通知样式并实现与Activity简单交互
先上效果图,重点在实现功能,界面比较随便1.通知栏中显示自定义的消息布局样式2点击消息回到Activity 界面,并点击 print 键6次3.在Activity中点击6次 print 键后,可简单这时通知栏中消息提示收到这6次的点击信号。再点击 ← 两次,点击 → 3次,然后回到Activity中4.回到Activity 中可看见,Activity 接收到信号, ←被点击 两次, → 被点击 ...
2017-02-17 17:52:49 2817 1
翻译 理解Android Activity的启动模式:standard, singleTop, singleTask 以及 singleInstance
英文原文:Understand Android Activity's launchMode: standard, singleTop, singleTask and singleInstance 另外关于启动模式还有篇很好的文章:Android中Activity四种启动模式和taskAffinity属性详解 Activity是安卓上最聪明的设计之一,优秀的内存管理让多任务完
2017-02-17 11:49:06 1695
转载 Android 高德基础地图定位、设置Marker、可视中心点实现步骤
一、基础地图部分1.获取APPKey在高德地图注册开发者账号,然后创建应用,使用SHA1和PackageName得到Key创建应用的链接:http://lbs.amap.com/创建应用 输入你的应用名称 选择你的应用类型 点击确定点击确定之后得到这么一个东西点击添加新key 输入完毕后再下方点击提交 获取SHA1值以
2017-02-15 18:09:30 12357
原创 Zigbee+SIM900A 通过http协议实现上传数据到云服务器
本文主要讲述 Zigbee 与 SIM900A 通过HTTP协议将数据上传至云服务器上,如果需要了解Arduino和SIM900A的相关操作请看 http://blog.csdn.net/uyy203/article/details/54445725GSM操作的操作都写在协调器上面,所以就只放出协调器的代码。这里会添加上一个专门做GSM操作的任务处理函数。添加任务处理函数的具体步骤请看
2017-02-13 01:37:04 7945 2
原创 Qt TCP通讯简易Demo
在Qt上建立Tcp server 和 client 间的简易通讯,实现效果如下//mainwindow.h#include "tcpserverwindow.h"#include "ui_tcpserverwindow.h"TcpServerWindow::TcpServerWindow(QWidget *parent) : QDial
2017-02-10 01:05:48 4006
转载 Android 字体高度的研究
Android自定义View绘制的时候,会有很多情况下要与字体打交道,涉及到字体宽度、高度的时候要特别注意一下几个概念,见图: baseLine:一行文字的底线。Ascent: 字符顶部到baseLine的距离。Descent: 字符底部到baseLine的距离。Leading: 字符行间距。 Java代码 publi
2017-02-08 14:47:09 1569 1
原创 Android 侧边触摸式导航栏
先上动态效果图利用一个自定义View ,和其中的dispatchTouchEvent 拦截触摸事件实现SideBar.javapackage xyz.slideviewgettext;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import andr...
2017-02-07 17:30:04 1742
原创 Visual Studio 2013 C++ 调用mysql错误 error LNK2019: 无法解析的外部符号 _mysql_init@4
因为我的系统是64位的,当时安装的mysql也是64位的,但是我用visual sutido 2013创建的项目默认是32位的,所以导致该错误出现,解决方法最好就是改用32位的mysql,也可以将项目编译为64位,步骤如下:1 需要项目属性---->配置属性--->连接器--->高级-->目标计算机,改为64位系统,2解决方案页 ---> 属性--->配置属性--->平台 :改为6
2017-01-23 02:46:24 3850
原创 Visual Studio 2013 C++ LINK : fatal error LNK1104: 无法打开文件“libmysql.lib”
右键点击项目名称,选择属性,分别在 c/c++->常规 的 附加包含目录 和 链接器->常规 的 附加库目录 直接填入D:\mysql\include;D:\mysql\lib ,也可以自己点开一项项填写然后在 链接器->输入 中 的 附加依赖项 填入:libmysql.lib最后,复制D:\mysql\li
2017-01-23 01:23:09 6983 5
原创 轻巧的汉字转拼音库 TinyPinyin 在Android上的使用
最近发现一个相当轻巧,运行速度很快的汉字转拼音库——TinyPinyin,这个汉字转拼音库比上一篇讲述列表按照A-Z的规则排序的文章所使用的汉字转拼音库运行速度还要快10倍以上。主要特性生成的拼音不包含声调和方言,均为大写;支持自定义词典;执行效率很高(Pinyin4J 的 4~16 倍);很低的内存占用(不添加词典时小于 30KB)。主导入Gradlebuildscript { reposi...
2017-01-20 17:10:46 6409
原创 Android 适用于QA页面的textView 伸缩动画特效
package xyz.qa;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.view....
2017-01-18 18:08:03 2078 1
原创 Android/Java汉字转拼音类及按A-Z排序方法
在Android / java 开发中有时需要对数据进行根据拼音[A-Z]的规则进行排序所以需要先将汉字转为拼音然后再进行排序//汉字转拼音类package xyz.sort;import java.io.UnsupportedEncodingException;import java.util.Iterator;import java.util.LinkedHashMap;import ...
2017-01-16 10:34:50 3199
原创 Arduino+SIM900A 通过http协议实现上传数据到云服务器
本文主要讲述Arduino和SIM900A通过HTTP协议将数据上传至云服务器上的相关操作,如果想了解 Zigbee和SIM900A的相关操作请看 http://blog.csdn.net/uyy203/article/details/55017571主要使用AT命令AT+CFUN=1选择模式为 全功能模式AT+SAPBR=
2017-01-15 05:20:03 13416 8
原创 Android 获取EditText焦点后自动弹出软键盘
有时候我们跳转到某些页面时,希望能马上获取特定TextView的焦点并弹出软键盘 editText.setFocusable(true); editText.requestFocus(); InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);...
2017-01-15 04:37:07 2186
原创 Android 禁止点击输入法的回车键并弹出提示
//点击回车事件 mDescriContent.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(event.getK
2017-01-15 04:33:27 1618
原创 Android 限制只调用系统相机 不弹出应用选择器
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//限制只调用系统相机final Intent intent_camera = ((Activity)getContext()).getPackageManager() .getLaunchIntentForPackage("com.android.camera");
2017-01-15 04:23:00 1879
原创 Android 回调接口
/**定义**/private OnClickLoadMoreListener loadMoreListener;public void setOnClickLoadMoreHotThreadItemListener(OnClickLoadMoreListener l){ this.loadMoreListener=l;}public interface OnClickLoadMo
2017-01-15 04:17:38 561
原创 Android/Java仿微信按时间长短分类显示时间戳
一般外部调用getTimePoint(Long time) 传入Long 型时间戳即可仿照微信的时间戳显示规则当天的显示无日期具体时间;昨天的显示为昨天;比昨天早且在过去一周内的,显示星期几;超过一周的时间,显示带有年月日的日期。
2017-01-15 03:57:40 1983
Android volley框架 jar包
2016-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人