- 博客(37)
- 收藏
- 关注
原创 android中侧滑栏的实现
1:drawerlayout类作为父控件 出现在最顶层。2:被包裹的二级布局就可以是 侧滑栏或者是页面本身。3:只要是在耳机布局的gravaty——layout属性声明一个start属性,即可实现策侧滑效果。下面贴代码:<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/a...
2018-03-12 16:28:25
682
原创 web socket webRTC
是一种通讯协议基于tcp协议开发,包含一部分http协议的内容(握手之前的内容使用http协议的)和另一部分,实现一些http等协议难以实现的内容,的新协议。它是一个单独的协议,主要是实现了双向通讯的功能, 也就是服务器和客户端相互通讯。 由客户端发起,与服务端建立一个真正的长链接,区别于HTTP协议时实现的“轮询”与”假长链接“(也就是客户端发起链接,没有收到回复,就一直等待,直到得到回掉,然后...
2018-03-08 16:43:33
430
原创 高效加载图片的思路
这个问题就是如何在加载图片是不发生oom那么就需要压缩图片。我们需要了解程序对应用的分配的最大内存,加载图片的最大内存。了解这些是为了压缩图片使用时作为参数。那么如何压缩,压缩多少呢?这就需要计算了。我们要知道每款机型的分配内存是不一样的,我们一般会用老一点的机型来作为标准,大概不超过一百M。加载图片是的内存就应该更小。我自己的加载策略是这样的, 把这个最大的内存*百分之20 作为图片消耗的最...
2018-02-28 13:01:08
204
原创 简单的说一下自定义控件
自定义控件自定义view说到自定义控件,就要明白android中所有的空间都是继承与view的。view的绘制主要是由以下三个方法,measure,layout ,draw1:measure方法可以确定自定义view大小的属性,以及view的测量。2:layout 确定view 的位置。调用setFrame 设置view 相对于父容器的位置。3:draw 绘制形状。难点在于draw方法,而d...
2018-02-27 20:35:40
170
原创 android 四大组件的理解
activityandroid四大组件之一,window,窗口界面。做android主要就是和它打招呼,大部分事情都是基于它的,要好好使用它就必须了解它的生命周期。oncreate 方法主要是界面的绑定,数据的初始化,常量的定义等,这个方法是最常用的,最重要的方法。onstart 和oncreate方法基本一样,可以执行一些初始化操作,但是区别在于他可能执行多次的可能。onresume 页面可...
2018-02-27 19:56:49
785
原创 webview的一个通用类
public class AndroidJsBridge {@android.webkit.JavascriptInterfacepublic void getPhoto() {}}public class WebActivity extends BaseActivity {private static final String TAG = WebActivity.class.getSimpl...
2018-02-19 21:31:42
278
原创 广播 broadcastreceiver
一般不使用原生的广播接收器,不过也有记录的必要逗你学项目示例:一:在需要通知的地方发送广播 ( uploadActivity) Intent intent = new Intent("IMG_CHANGED");LocalBroadcastManager.getInstance(this).sendBroadcast(intent);二 :在需要接收的地方注册广播用于接收(personalA...
2018-02-19 21:30:48
127
原创 popupwindow
View root = LayoutInflater.from(getActivity()).inflate(R.layout.item_popup_prodession,null); 创建一个布局root.setFocusable(true); 允许获取焦点root.setFocusableInTouchMode(true); 设置布局可悲final PopupWindow window ...
2018-02-19 21:28:57
143
原创 ontouchevent 触摸事件
所有的事件都由如下三个部分作为基础:按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP)三个 关键方法:public boolean dispatchTouchEvent(MotionEvent event)public boolean onTouchEvent(MotionEvent event)public boolean onInterceptTouch...
2018-02-19 21:24:49
558
原创 handler的一些含义
一、Handler的定义:可以发送消息到 Massegequeue 消息出队的时候接收处理消息。主要接受子线程发送的数据, 并用此数据配合主线程更新UI。在UI 线程写Handler实例 发送消息。开辟一条线程 更改UI。子类需要继承Hendler类,并重写handleMessage(Message msg) 方法, 用于接受线程数据。以下为一个实例,通过线程修改界面Button...
2018-02-19 21:24:07
1134
原创 RadioButton和RadioGroup的异同
没有RadioGroup的情况下,RadioButton可以全部都选中;修改RadioButton的外观,自定义方式: drawable中设置选中与 未选择时 的背景 color中设置 选中与未选择是文字颜色。<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schem...
2018-02-19 21:23:18
695
原创 service简单含义
android 的一个类,一个可以在后台长时间运行,不与UI交互的类。service 两种启动方式 1:started 其他组件调用 startService 它将一直运行在后台,直到自己停止。 2: 其他组件调用bindService 绑定组件,该srvice 可与绑定的组件 交互。service可以绑定多个组件...
2018-02-19 21:22:45
569
转载 http相关含义
1什么是Http 协议http协议 既是 超文本传输协议(通信协议。允许html文档从web服务器传输到客户端)。URL 详解url地址 描述一个网络上的资源。基本格式如下:http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true#stuffSchema: http //底层协议类型host: www.mywebsite....
2018-02-19 21:22:00
440
原创 解决镶嵌recyclerview时的页面不显示在顶部的问题
mScrollView.smoothScrollTo(0,Integer.MAX_VALUE);
2018-02-19 21:21:14
2979
原创 recyclerview使用时的一些小点
解决 padding不随着滑动的情况android:clipToPadding="false"解决镶嵌 Scollview滑动不流畅问题MyRecyLinearLayout layout = new MyRecyLinearLayout(getActivity());layout.setSmoothScrollbarEnabled(true);layout.setAutoMeasureEnab...
2018-02-19 21:20:42
253
原创 textview的一些不常见用法
结束时 以。。。显示holder.mCourseNameTv.setText(entity.getName());holder.mCourseNameTv.setMaxEms(8);holder.mCourseNameTv.setSingleLine(true);holder.mCourseNameTv.setEllipsize(TextUtils.TruncateAt.END);设置text...
2018-02-19 21:20:04
159
原创 svn标签含义
文件前面显示的图标含义A:add,新增C:conflict,冲突D:delete,删除M:modify,本地已经修改G:modify and merGed,本地文件修改并且和服务器的进行合并U:update,从服务器更新R:replace,从服务器替换I:ignored,忽略左侧工作区域颜色灰色代表自己修改的文件数量白色代表别人修改的文件数量...
2018-02-19 21:19:23
419
转载 BaseRecyclerViewAdapterHelper的使用
BaseRecyclerViewAdapterHelper是一个强大且灵活的RecyclerViewAdapter,那么它都能做什么呢?可以大量减少Adapter中的代码(对于多类型数据,不再需要写ViewHolder,只需要写多个bean类即可);可以定义一个多类型的 MultiesAdapter替代多个adapter使用;可以很轻松的添加RecyclerView加载动画;添加头部、添加尾部...
2018-02-19 21:18:22
2868
原创 edittext 的一些需要记录的地方
监听editview点击事件statusEdit.addTextChangedListener(this)android:drawableLeft="@mipmap/ic_search_icon" editview 左上角可以设置一个图片\u2028android:digits=”1234567890.+-*/%\n()” 限制输入框中只能输入自己定义的这些字符串 如果输入...
2018-02-19 21:16:35
124
转载 Android Studio获取Android签名证书的sha1值
在使用高德地图、百度地图等sdk时常常要获取签名证书sha1,Android Studio并不像Eclipse那样可以直接看到,这里讲一下用命令行获取sha1。1.设置ADB环境这一部不是必须的,可以直接看步骤2.adb.exe在android sdk platform-tools目录中D:\Android\sdk\platform-tools(这是我的路径),找到platform-tools...
2018-02-19 21:15:54
2857
转载 Android Bitmap与DrawAble与byte[]与InputStream之间的转换
public class FormatTools { private static FormatTools tools = new FormatTools(); public static FormatTools getInstance() { if (tools == null) { tools = new FormatTo...
2018-02-19 21:14:55
250
原创 使用eventbus退出app
private long mBackAppTime = 0;@Overridepublic void onBackPressed() { if (System.currentTimeMillis() - mBackAppTime > 2000) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();...
2018-02-19 21:14:08
180
原创 微信
1:添加包文件 2:添加2个activity 在包外的第一层。wxapiWXPayEntryActivity接收回调信息//微信平台<activity android:name=".wxapi.WXEntryActivity" android:configChanges="navigation|keyboardHidden|orientation|screenSize" ...
2018-02-19 21:12:40
148
原创 支付宝
支付宝支付分为两种方式 , 两种方法的接口数据是不同的1:类似于微信的直接支付2:需要卖家id的自主支付的方法接下来只说普通的方式android接入步骤1:导入sdk里的包2:添加manifest文件的俩个类、、3:添加一个类有pay方法支付,一个handler接收回调public void payV2(String orderParam,String aliSign) { Log....
2018-02-19 21:12:01
383
原创 内存溢出
检查一下3点1:带有 static 的activity 和 view 2:各种各样的线程 handler threads timeTask 置空3: 接口 置空
2018-02-19 21:10:56
133
原创 eventbus
注册Basefragment时一定要指明类 不要使用this 使用 BaseFragment。thisevcompile 'org.greenrobot:eventbus:3.0.0'1可以写一个空类public class FirstEvent { private String mMsg; public FirstEvent(String msg) { ...
2018-02-19 21:10:11
135
原创 状态栏的操作
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。setSystemUiVisibility方法传入的实参分析: setSystemUiVisibility(int visibility)方法可传入的实参为: 1. View.SYSTEM_UI_FLAG_...
2018-02-19 21:09:19
143
原创 gradle 的下载 与 使用注意
gradle 版本下载地址 https://services.gradle.org/distributions/1.0.0 - 1.1.32.2.1 - 2.31.2.0 - 1.3.12.2.1 - 2.91.5.02.2.1 - 2.132.0.0 - 2.1.22.10 - 2.132.1.3 - 2.2.32.14.1+2.3.0+3.3+版本与包的对应关系一 句话说明 Grad...
2018-02-19 21:08:40
743
原创 错误:on path: DexPathList[[zip file "/data/app
1.so 库加载的问题,解决方法是请合理设置 abiFilters;2.gradle 版本和 gradle tools 的版本问题3.Android Studio clean 和 rebuild 后就能解决。4.检查 Android Studio 的 instant run 是否开启,若开启,请关闭。...
2018-02-19 21:06:58
12996
原创 path paint canvas 之间的用法
drawable:是一个可以在canvas上进行绘制的抽象。drawable提供交互的机制主要的四种:1:setBounds方法必须在绘制之前被调用。2: getPadding方法可以从某些Drawables返回关于如何放置其内容的信息3:setState方法可以告知Drawable在哪个状态下绘制4:setLevel方法允许提供单个连续控制器来修改Drawable的显示,例如电池电量。5:D...
2018-02-19 21:06:07
270
原创 如何用charles抓包
Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Char...
2018-02-19 21:04:51
331
原创 MediaPlayer播放异常问题
问题1:E/MediaPlayer(19765): stop called in state 4E/MediaPlayer(19765): error (-38, 0)原因:是在调用prepareAsync()则以异步方式进入Prepared状态过程中即preparing状态中,调用了stop方法。参考:http://stackoverflow.com/questions/8796956/me...
2018-02-19 21:02:16
7545
转载 gradle
作者:ghui链接:https://www.zhihu.com/question/30432152/answer/48239946来源:知乎著作权归作者所有。谢邀Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和Scala,计划未来...
2018-02-19 21:01:29
124
原创 快速排序 (图片系网络查找)
切分在待排序的数组中,找到一个 标记元素可以是第一个(也可以简单的比较前几个元素的中间值,这样的取值在很多时候能够提高效率)1:维护两个指针,第一个从左向右找到比他更大的值停止,第二个从右向左找到比他更小值停止(如果有找不到情况说明标记的元素是最大的一个,我们必须处理它)如果两个指针没有相遇,我们交换两个指针对应的元素,重复以上步骤,直到两个指针相遇,把标记元素插入重叠指针
2017-03-09 21:33:29
207
原创 归并算法
1:原地归并非原地的归并排序:创建一个适当大小的数组,然后将两个输入数组中的元素一个个从小到大依次放入数组中。(缺点创建非常多的数组,这回引发一些问题?内存的占用)小规模的插入排序或选择排序 可以增加 大数据归并的效率。2:自顶而下的归并排序将数组划分为 最小为1的数组,两两归并,依次向上合并为最后的数组。(提出分治思想,与递归)
2017-03-09 20:13:17
160
原创 简单的说明一下三种排序,选择排序,插入排序,希尔排序
1:选择排序1:找到数组中最小的元素与元素的第一个元素交换位置,在剩下的元素中找到最小的元素与第二个元素交换。循环下去效率只和数组的大小有关2:插入排序1:打牌时候没摸一张牌就把它放在 它应有的位置上,排摸完时排序也就完成了效率和数组是否接近有序 有关3:希尔排序1:对数组以一个步长间隔,区分为几个小的数组进行插入排序,步长依次递减,最后进行一个插入排序这样一组数[ 13 14 94 33 82 ...
2017-03-08 22:11:08
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人