- 博客(115)
- 资源 (13)
- 收藏
- 关注
原创 Android 移动端编译 cityhash动态库
最近做项目, 硬件端 需要 用 cityhash 编译一个 动态库 提供给移动端使用,l。直接移植到Android 上。city.h 头文件。
2023-12-15 14:33:19
249
原创 宝塔修改默认端口后面板打不开
3、关闭/启动防火墙(一定要记得重启!1、查看防火墙开启的端口,发现没有开启8888。2、防火墙开启8888端口。4、查看端口是否开启成功。
2023-06-05 18:15:47
1111
原创 Flutter文档大全
Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )Flutter 实用教程 : https://flutter.cn/docs/cookbook。Flutter 官网 : https://flutter.dev/
2023-04-18 20:20:04
371
原创 Android Studio Mac快捷键
catch,while等环绕代码 opt + cmd + T。上下移动代码 opt + sft + up/down 可以随意,可以移动到方法体外。返回到上次编辑位置 opt + cmd + ← / → cmd + [ / ]Command + Alt + M Extract Method (导出方法)全局查找/替换 sft + cmd + F / sft + cmd + R。上下代码行换位 cmd + sft + up/down 必须在一个类内移动。商业转载请联系作者获得授权,非商业转载请注明出处。
2023-04-10 11:24:38
837
原创 Mac系统下Android studio配置环境变量(ADB、JDK、GRADLE、Flutter)
切换到bin目录:cd /Users/hxx/.gradle/wrapper/dists/gradle-4.4-all/9br9xq1tocpiv8o6njlyu5op1/gradle-4.4/bin。配置好之后,每次都要在终端输入source ~/.bashrc才能生效(.bashrc是上面的文件名称),解决办法是在.zshrc文件中增加source ~/.bashrc命令行。若.bash_profile文件不存在则创建:touch .bashrc(名字可以自己定义.bash_profile)
2023-04-07 17:10:00
1420
1
原创 Android 优质精准的用户行为统计完美解决方案
AOP简介:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提...
2019-11-01 23:45:21
1124
原创 基站定位
大家都知道目前我们使用的定位有两种一种是GPS 技术,另一种就是基站定位技术了。了解基站定位首先必须明白首先要清楚一点的是,每一个基站都能够通过请求http://www.google.com/loc/json获取到一个经纬度。如果用户能够在短时间内获取到较多的基站信息,比如4个或5个,可以通过这几个基站的经纬度计算出比较准确的用户位置。举个例子,比如我在WM上取到4个基站信息:50...
2019-10-26 22:40:52
1184
原创 Android Studio 忽略文件提交GitHup配置及SourceTree设置
前言在Android Studio中创建新项目时,一般我们都会使用版本控制工具来管理项目工程的代码。但是,有一些要忽略的文件不需要进行提交到代码仓库托管,一般我们需要忽略的文件包括如下: .idea文件夹,此文件夹是用来保存开发工具的设置信息。 .gradle文件夹,此文件夹是用来保存gradle的依赖信息。 所有的build文件夹,build文件夹是用来保存编译后...
2019-10-21 12:14:25
588
原创 Android 低功耗蓝牙详解
与普通蓝牙相比,低功耗蓝牙显著降低了能量消耗,允许Android应用程序与具有更严格电源要求的BLE设备进行通信,如接近传感器、心率传感器等低功耗设备。声明蓝牙权限 6.0以上 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission androi...
2019-10-21 10:12:57
554
1
原创 android 内存泄漏处理方式
由于某个对象持有了其他对象的引用导致 ,导致无法 GC。1:合理的使用context–比如我们常使用的Toast,Service,最好使用getApplicationContext(),因为这些在activity结束的时候可能仍在运行下图通过图片说明国关于context的使用)2:不要在activity中使用AsyncTask的强引用,如下是不行的:class MyActivi...
2019-10-15 09:52:58
171
原创 组件化开发中使用ButterKnife的使用
在组件化开发中Butterknife的使用存在许多的问题,最开始的时候我以为直接引入Butterknife直接引入到项目中就可以了呢!但是后来发现不行,会有各种各样的错误,所以用这篇文章记录一下,防止其他人采坑!!!先来说一下项目,我们是在公共modules中引入了一些基础组件的!所以我的主要的一些引用都放在那个基础模块中去了!其实这个基础组件也就相当于一个类库而已了!先说一下你可能遇到的...
2019-09-10 16:54:52
470
1
原创 vs2019 开始自己的第一个C++程序
一、新建项目1.点击菜单栏-->文件-->新建-->项目,我们可以看到上方存在的语言,平台和项目类型的选项(1)语言这里我们就选择C++,或者所有语言(2)平台这里我们就选择windows,或者所有平台(3)项目类型这里选择控制台,或者所有项目类型博主这里以C++为例,选择空项目,我们来写一个简单的打印hello world的程序2.改变默认路径,填写项目...
2019-09-10 11:39:04
8085
原创 Dagger2 的实例和源码解析
Dagger2是目前流行的一个依赖注入框架。使用它可以降低我们程序中类与类之间的耦合。类实例的创建,初始化,销毁及相互依赖都交由dagger2来管理。我们只需要专注于类本身的业务逻辑,提高我们编写程序的便利性。MVP模式下面我们通过一个简单的编写一个MVP框架来,带大家进入MVP世界首先我们简单说明一下MVP框架:Model层负责具体的业务逻辑,View层负责界面的展示 一般是ac...
2019-07-17 17:55:09
202
原创 Android Studio 升级3.0 引用不到第三方jar问题
关于这个问题,首先3.0以前gradle中使用的是compile来引入依赖,升级到3.0后studio会自动提示Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.之所以无法调用问题就出现在implementation和api的区别上implementation: ...
2019-06-21 23:45:47
410
原创 设计模式:工厂方法模式
先解释什么是工厂:如果你开一家Pizza店(PizzaStore抽象类)卖各种风味的Pizza(Pizza子类),那么你需要根据客户要求准备相应的Pizza(创建Pizza对象),然后烘烤、切片、包装;最简单的做法就是在PizzaStore中根据客户要求(类型判断)创建相应的Pizza对象,然后调用Pizza自身(由Pizza抽象类实现)的烘烤、切片和包装方法;但这
2017-10-30 17:37:22
254
原创 python 赋值问题
Python的可变与不可变数据类型 赋值问题看下面代码#coding:utf-8#int 不可变类型a=[100,200] #可变类型def add(value): print ("chuange before is value is " + format(value)) #赋值了 value+=value pri
2017-10-25 11:44:04
491
原创 解决Android Studio编译后安装apk报错:The APK file does not exist on disk
Session 'app': Error Installing APK 问题解决!
2017-09-28 12:27:53
1295
原创 android studio 快捷键的使用
要想提高开发效率,快速熟悉自己的开发工具也是非常重要,下面我给大家一起分享 Android studio快捷键的使用按键说明F1帮助Alt(Option)+F1查找文件所在目录位置Alt(Option)+1快速打开或隐藏工程面板Ctrl(Command)+Alt(Option)+打开设置对话
2017-09-26 10:46:24
306
原创 Android 的事件分发机制
Android开发多年,但是发现自己总结的东西太少了,所以想通过自己多年来的项目经验写一些,干货和大家一起分享。关于事件分发,用的最多在项目中就是父控件和子控件的事件冲突。那么遇到这个问题怎么处理呢? 我们在一个mainActivity 中加入ViewPager 然后在 ViewPager 填充2个 fragment ,当我我手势滑动到一个fragment时,我们滑动到 上面的广告栏图片时,结
2017-07-30 21:58:16
281
原创 64位CentOs6.5操作系统阿里云服务器安装Tomcat7
演示Java版本: jdk1.7.0_55,Tomcat版本: apache-tomcat-7.0.67阿里云服务器操作系统:64位CentOs6.5百度网盘下载地址:Java: http://pan.baidu.com/s/1sjRGTkxTomcat: http://pan.baidu.com/s/1c0X6Z8O上传目录:/home/downloads
2016-02-25 18:15:25
1335
1
原创 64位CentOs6.5系统阿里云服务器源码安装MySql5
演示MySql版本: 5.5.44阿里云服务器操作系统:64位CentOs6.4上传目录:/home/downloads百度网盘下载地址: http://pan.baidu.com/s/1kTNNE8R关注微信公共号:云主机服务器租用,回复关键词“ftp”查看上传方法,回复“linux远程桌面”查看linux远程管理服务器方法预安装操作:cd /ho
2016-02-25 18:14:07
507
转载 采用XMPP协议实现Android推送
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可在Android平台上实现起来却相对比较麻烦,最近就对Android的推送通知服务进行初步的研究。在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就
2014-09-22 10:08:07
654
转载 高效能程序员的七个习惯
昨天收到一个读者留言,问作为程序员,有什么学习和工作上的好习惯可以借鉴?想了想,干脆附庸风雅一下,总结个『高效能程序员的七个习惯』吧。Disclaimer:一家之言,可不信,但不可全信。拥抱unix哲学每个程序员入门的第一堂和第二堂课应该是和unix哲学相关的内容,简言之就是:做一件事,做好它。具体点:小即是美。让程序只做好一件事。尽可能早地创建原型。可移植性比效率更重要。
2014-05-04 17:07:16
608
原创 Android GPS 操作
强制关闭GPS:// Intent GPSIntent = new Intent();// GPSIntent.setClassName("com.android.settings",// "com.android.settings.widget.SettingsAppWidgetProvider");// GPSIntent.addCategory("android.intent
2014-04-30 14:05:40
733
原创 HTML5 常用方法&WebViewClient常用方法
WebSetting常用方法setAllowFileAccess启用或禁用WebView访问文件数据setBlockNetworkImage是否显示网络图像setBuiltInZoomControls设置是否支持缩放 setCacheMode设置缓冲的模式setDefaultFontSize设置默认的字体大小
2014-03-06 23:07:58
1050
原创 Activity堆栈管理详解
task就好像是能包含很多activity的栈。 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 activity所在的task栈。当用户按下返回键时,第二个activity从栈中弹出,第一个activity又在当前屏幕显示。这样,从用户角度来看,这两个activity就好像是属于同一个应用程序的,即
2014-03-04 13:09:40
2117
原创 :视频播放器与Handler 完美调用
Handler之消息循环 Handler是用于操作线程内部的消息队列的类。这有点绕,没关系,我们慢慢的来讲。前面Looper一篇讲到了Looper是用于给线程创建消息队列用的,也就是说Looper可以让消息队列(MessageQueue)附属在线程之内,并让消息队列循环起来,接收并处理消息。但,我们并不直接的操作消息队列,而是用Handler来操作消息队列,给消息队列发送消息,和从
2013-10-30 16:25:47
1032
原创 android界面的美化shape的使用
Shape Drawable这一类的shape定义在xml中file location:res/drawable/filename.xmlThe filename is used as the resource ID.(这个文件名作为资源id)compiled resource datatype:(复杂资源的数据类型)Resource pointer to a
2013-10-21 02:05:38
1489
原创 android 中Activity 五种不同的启动方式
大家都知道合理的利用系统资源,减少系统不被占用太多,是每个开发必须思考的问题,众所周知 应用程序是一系列有着特定功能的Activities组成,它们有自己的属性和行为。用户可以在Home中通过启动快捷方式将当前进程引入特定的Activites,或者可以在其它程序进程中启动外部的Activities。有的人会问,了解程序的启动方式有用吗?当然,了解不同的启动方式才能更好的根据需要设计Activiti
2013-07-03 10:23:13
1445
转载 include标签的使用
在Android的开发中,我们知道布局文件可以让我们很方便的对各个UI控件进行位置安排跟属性设置,而在程序中可以直接取得控件并赋予对应操作功能。但是,如果是一个复杂的界面设计,我们把所有布局都放在一个文件中来描述,那这个文件会显得比较臃肿而结构则变得无法清晰了。为此,Android为我们提供了一个武功高强的高手,这个高手的特异功能就是能够将几个不同的布局文件整合在一起,它的名字叫include,听
2013-06-13 16:24:39
798
原创 Android 内存溢出(Out Of Memory)的总结
随着所做的项目越来越复杂,图片越来越多,内存溢出已经成了不得不注意的问题了。错误日志:11-03 12:36:54.812: ERROR/AndroidRuntime(5084): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget内存溢出主要由以下几种情况引起:1.数据库的cursor没有关闭。
2013-05-11 21:19:27
944
google city hash 算法封装
2023-12-15
低功耗蓝牙项目4.3.zip
2019-10-15
标准蓝牙DEMO.rar
2019-10-02
Android源码设计模式解析与实战
2018-01-08
下拉刷新 水平滑动 仿商城
2017-11-10
Android mvvm 架构设计
2017-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人