- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 Java JVM 之 Volatile
在jvm中,每个线程中都有一个相对应的栈,在thread1的run栈帧中,flag变量的值并不会随着thread2的run栈帧中的flag变量的变化而变化。
2022-01-24 14:45:34 317
原创 快速排序的那些事儿(Kotlin)
废话不说,直接上代码。private fun quickSort(nums: IntArray, lo: Int, ho: Int): IntArray { if(lo >= ho) { return nums } var left = lo var right = ho val base = nums[left] while (left < right) {
2022-01-19 15:20:01 1600
原创 【Android】修改权限后应用出现各种异常?
解决完了这个bug,还有下一个,永远改不完。趁此赶紧来记录一下这个问题的解决办法。 问题:最近写的是一个即使通讯的产品,早上来到公司突然发现邮箱里多了一个bug:在设置-应用-权限管理中禁用读写手机存储,app出现异常,用户掉线what?什么鬼?马上自测,果然,用户的登录状态变成了离线。。。而实例对象也被置为null。。。 处理办法:应用被系统杀死时,会自...
2018-12-04 15:09:26 2844
原创 python学习记录
1,文件中存在中文(python2.x)首行加入注释# -*- coding: utf-8 -*-2,python2.x中是区分float 与 int 。result = 8 / 10print(result)# 结果=0result = 8.0 / 10print(result)# 结果=0.8 ...
2018-10-16 16:05:28 106
原创 Android studio将项目转换为jar文件
最近公司要做一个sdk开放给别人使用。没有做过的我在此记录生成步骤以及注意要点。配置参数:1,在app.guidle中的最外围添加代码(与android apply同级)apply plugin: 'com.android.library'//原来的com.android.applicationandroid{ ...}task clearJar(type: De...
2018-08-23 16:30:59 995
翻译 CodePush命令集合
npm install -g code-push-cli #安装codepushcode-push register #注册账号code-push login #登陆code-push logout #注销code-push app add <appName> <platform> <language> #添加项目code-pus...
2018-08-20 15:15:39 750
原创 React Native CodePush集成与使用(windows)
1,集成Code-Push a,安装codepush客户端终端命令:npm install -g code-push-cli查看codepush版本:code-push -v说明:若找不到npm命令,则是你的NODEJS没有安装,可以参考以下链接进行安装:https://blog.csdn.net/mortal_li/article/details/79423310...
2018-08-20 15:08:23 444
原创 Android studio打包遇到的问题以及解决办法
AndroidStdio在打包生成APK的时候报错:Error:Execution failed for task :app:transformClassesAndResourcesWithProguardForRelease’. 的问题。这个问题很多人都说了是包重复的问题,但实际上确是包重复了。一般打包时都会伴随这个问题。那么究竟如何处理这个问题呢?Warning:Exception while...
2018-06-19 16:44:59 2466
翻译 整理一份react native开发规范
版本更新背景:react-native发布最新版本:最新版本为0.49.3。此版本最新改动是统一了入口文件,此版本不管Ios还是Android入口文件都是index.js,其中,页面元素入口为:App.js文件。(一) 命名规约1. 【强制】 代码中命名均不能以美元符号开始,不能以下划线或美元符号结束;$Object / name_ / name$ / Object$2.【...
2018-05-15 10:28:43 889 1
原创 【巨能坑】react-native的大坑,不定期更新
注:写页面时,当子组件是<Text>时一定不要固定父组件的宽高。-----------------------------------------------------------------------------------------------------------------------------------------------------------...
2018-03-16 11:18:49 1685
转载 react-native组件的生命周期
React Native中的component跟Android中的activity,fragment等一样,存在生命周期,下面先给出component的生命周期图getDefaultPropsobject getDefaultProps()执行过一次后,被创建的类会有缓存,映射的值会存在this.props,前提是这个prop不是父组件指定的 这个方法在对象被创建之前执行,因此不能在方法内调用th...
2018-03-14 10:37:00 170
原创 Windows下搭建react-native开发环境
最近公司没有什么事情,所以决定研究一下react-native.react-native是Facebook研发的一种用于移动端研发hybrid app 的技术(研究的不深,目前只知道这个作用),那么对于react-native的环境搭建却是有些复杂.那么对于刚刚完成环境搭建的我来说,赶紧把这个过程记录下来,等忘记的时候拿出来阅览一下.好了,废话不说了,进入正题.第一步,我们需要安装各种软件:1,n...
2018-03-02 15:54:18 2372 2
转载 微信小程序flex 布局。
微信小程序 View 支持两种布局方式:Block 和 Flex所有 View 默认都是 block要使用 flex 布局的话需要显式的声明:display:flex; 下面就来介绍下微信小程序的 Flex 布局先做一个简单的 demo view class="main"> view class="item item1">1vi
2018-01-28 14:05:41 371
原创 关于微信小程序的点滴
1,如何创建列表.使用wx.for={{数组名称}} wx.for-index='当前下标变量名称' wx.for-item='当前item的变量名'例如:<view class='city-item' wx:for='{{citys}}' wx:for-index='current' wx:for-item='next'><text>{{next.citysName}}&...
2018-01-22 14:41:43 345
原创 Android中利用RadioGroup和View实现TabLayout的
我们知道,在使用tabLayout的时候,其下面的标记线google没有直接提供给我们APi去修改它的长度,那么今天来使用 和 与 的组合完成我们TabLayout的功能. 先上效果图.这里代码的逻辑很简单,也没有完全封装,只是给大家一个思路,在这个基础上修改很简单,只需要修改布局和简单的代码逻辑即可.首先来说一下思路.1,寻找id2,计算宽度.3,为vie
2018-01-06 17:19:44 701
原创 前端开发之初识angularJS
移动互联网的盛行推动着移动终端应用的崛起,例如基于android,苹果系统的开发语言频频更新版本,短短几年时间,android系统已经更新到8.0,而苹果系统则已经更新到ios11,不得不说,快速学习的能力是每一位合格的程序员必有的能力,否则只有被淘汰的结果。很多从事android或者ios的小伙伴在企业里可能会听到,项目推进时间比较紧,部分页面先用h5写吧。那么h5如何快了呢?我认为不仅仅是
2017-12-23 16:10:35 216
原创 关于synchronized的几种用法和相关知识。
synchronized,是java中多线程编程重要的内容,而在应用中多线程并发更是必不可少的,那么对于synchronized,我把这几天学习的内容记录下来。synchronized是一种加锁同步机制,这就好比一栋房子只有一把钥匙,而只有拥有这把钥匙的人才能够进入,在出来之后,再将钥匙放置原处,等待下一个人来拿。在这种机制下,我们的多线程安全也就有了保证。那么synchr
2017-12-21 18:04:59 546
原创 android中关于屏幕适配的那些事。
对于很多初学者来说,一提到屏幕适配这个话题首先想到的应该就是使用warp_content,match_parent,weight等这些属性让布局得到一个比例的缩放,从而使布局在不同大小的屏幕上显示的效果也能够相同,然而这些属性只是屏幕适配中的一部分。在说适配之前,不得不提到的是px,dpi,dp,dip之间的关系。px:像素单位。例如480*320就是指像素。480px * 320px
2017-12-16 17:39:32 187
原创 关于自定义view中的文字垂直居中的问题。
很多同学在刚刚接触到自定义view 的时候就一阵头大,本人也是菜鸟一枚,近些天辞职没事情,所以在家里研究自定义view,在研究圆形进度条的时候发现进度条中间的百分比文字始终没有在圆所在的正中心,于是就各种搜索,解决了文字居中的问题。接下来就把我的处理分享给大家。先来张图(从别的地方copy过来的)这张图是我们在canvas.drawText的时候离不开的,也就是说只有了解了
2017-12-14 19:05:24 3222
原创 Android自定义属性,format详解
1. reference:参考某一资源ID。 (1)属性定义: background" format = "reference" /> (2)属性使用: android:layout
2017-12-14 15:54:35 207
转载 Android中关于scrollBy的一点点心得
转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/51558131 本文来自【孫小逗的博客】一、概述最近对自定义View和动画进行了研究学习,同时之前不太明白的地方也豁然开朗。学习不是一下子就学会的,不懂的地方,在后续的学习过程中会慢慢的理解,有种拨云见日的感觉。 scrollBy(int dx,
2017-12-07 16:51:08 369 1
原创 android字符串资源以及格式化记录
在android程序编写过程中,为了实现国际化和更方便的统一化管理,一般都会把字符串等一些资源以xml的格式保存起来,放置在res/value目录下面。本人在编写的过程中,经常出现各种字符串拼接的段落,尤其在adapter显示数据中,甚至要拼接5、6个字符串,简直到手抽筋,后来在闲时在网上无意看到这种方式,简直爱不释手,在此收集各种表达式。请各位大佬不吝赐教。先来说一下使用方法:在标签
2017-08-24 15:43:39 315
原创 android使用layout作为菜单弹出时底层内容无法滑动问题描述
使用layout布局作为菜单在某一个页面中弹出时,往往会添加弹出,隐藏的动画效果,在完成整个页面后,觉得自己写的完美无缺,运行之后突然发现,点开菜单之后隐藏,底层的页面无法滑动了,于是给上层的控件设置各种监听,想要让其在隐藏的时候把监听分发下去,后来发现分发机制并不适用于此。后来使用排除法一一排除,结果发现唯一可能阻止滑动的地方:添加的动画,这个动画绑定了这个菜单布局,于是在这个菜单隐藏时,使
2017-07-03 18:13:11 304
原创 shared保存对象到本地出现IOException异常问题
其实就是两点:1,没有获取到权限。2,需要被保存的对象没有被序列化。对于第二点,有一些问题,如果对象格式很简单,那么直接在class中实现序列化就好,如果复杂的模型,那么需要在该模型中的所有类都需要被序列化,包括内部类。
2017-06-05 09:55:05 267
原创 listview的itemClick监听无响应问题
这个问题个人认为是不经常遇到的问题,自己定义了一个text view,用作这个样式通用的item布局,本想让这个text view可以点击,于是在它上面加了一个clickable属性,之后再设置listview的onItemClick监听后发现,这个监听居然不起作用了,不执行onItemClick方法,于是乎我就各种找id有没有错等问题,最后发现,给textview加上了clickable属性之后
2017-05-27 18:03:12 255
原创 volley的特点
volley主要用来处理数据量不大但很频繁的请求。volley的几个重要的特点:1,通信速度快,代码简单,而且相对来说比较稳定。对于我们开发者来说,效率会很高。2,get、post请求和图像处理的异步性。发送网络请求时需要在工作线程发送,而volley帮助我们启用了工作线程,简化我们的代码。3,可以对请求进行优先级处理。当我们的请求很多的时候,可以对这些请求有一个优先级的处理。
2016-01-30 13:21:29 867
原创 关于NDK的那些事
说到NDK,那就要先说说cygwin。cygwin:是一个相当于Android虚拟机一样的东西,它是Linux系统的虚拟机,作用是编译成为so文件,具体的等会详细说。NDK:它可以让我们在开发环境中使用本地语言来开发应用,比如说c、c++;接下来我们说说这些内容的关系和使用:首先说关系:使用NDK9之前版本编写c代码时,需要借助cygwin工具完成编译so的过程。NDK相当于编写A
2016-01-29 15:14:37 451
原创 如何在onCreate时拿到UI的大小
我们可以在初始化view之后,使用view.post(new Runnable(){public void run(){view.getHeight();view.getwidth();}});就可以拿到宽和高了。那么为什么这种方法可以拿到呢?我们来看一下源码public boolean post(Runnable action) { final A
2016-01-28 11:40:40 243
原创 使用Messenger的IPC
以下是个人理解,错的地方希望指正出来,谢谢。想要跨进程的通讯,有两种方法,一种是使用aidl,这个前面文章有提到。还有一种是使用Messenger对象,这个对象实现了Parcelable接口。在服务端的Service中我们要先实例化一个Messenger对象,传入一个Handler,并且重写handleMessage方法,用来处理客户端发来的消息。然后在onBind方法中返回mMe
2016-01-28 11:06:51 296
转载 堆是先进先出,栈是先进后出
(2012-03-01 10:16:59)转载▼1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,
2016-01-27 15:02:02 40474 2
原创 AIDL的使用
aidl可以实现进程间通讯的技术,想要与之通讯,其他进程需要开发出接口,才可以被你的应用所调用。其实就是bindService,绑定其所想访问的应用。被访问的进程创建:1,在应用下创建一个package,内部新建一个interface,定义可以被其他进程访问的方法。2,,将其文件的后缀改为aidl。3,创建一个Service,在其中实例化Binder对象4,在onBind中返回实例
2016-01-27 12:39:11 258
屏幕适配之自动生成dimens文件
2018-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人