- 博客(33)
- 收藏
- 关注
原创 Python tkinter库学习笔记
1.Label使用tkinter.Label(root,fg="blue",bg="red",width=10,height=3,text="test",font=('Tempus Sans ITC', 20)).pack() 属性介绍: fg:前背景色 bg:背景色 width:宽度 height:高度 font:字体,字体大小 ...
2018-02-09 16:24:25 413
原创 Python tkinter库学习笔记
1.Label使用tkinter.Label(root,fg="blue",bg="red",width=10,height=3,text="test",font=('Tempus Sans ITC', 20)).pack() 属性介绍: fg:前背景色 bg:背景色 width:宽度 height:高度 font:字体,字体大小 ...
2018-02-09 16:15:03 604
原创 遇到问题集合
1. 小米全面屏手机18:9屏幕适配一、声明最大屏幕高宽比在应用配置文件AndroidManifest.xml中显式声明支持的最大屏幕高宽比(maximum aspect ratio)。其中 ratio_float 为高宽比: 传统屏幕:ratio_float = 16/9 = 1.778 ; 三星S8屏幕:ratio_float = 18.5/9 = 2.056。 鉴于目前全面屏屏幕比例,
2017-12-26 10:09:59 613
原创 Jni开发Javah 生成头文件提示找不到类解决方案
javah -classpath C:\Users\DELL-002\Desktop\mitv\J\app\build\intermediates\classes\debug -jni zyh.com.j.FfmpegHelper必须先设置classpath路径,然后-Jni生成头文件就OKle
2017-08-31 14:44:19 832
原创 ListView一键置顶功能实现
1.给自己的ListView设置setOnScrollListener()监听,关注这个回调public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {注意:AbsListView 里面有个getScrollY()方法,如果你觉得
2017-08-04 11:03:20 1197
原创 Kotlin中的关键字(1)
object 用于创建单例模式实例:object Resource { val name = "Name"}lazy 懒属性(延迟加载)实例:val p: String by lazy { // 生成string的值}when 用于判断 相当于java中的switch()语句实例:when(color) { "Red" -> 0 "Green
2017-05-27 17:31:04 6374 2
原创 RxAndroid Rxjava学习笔记
1.Observer的创建Observer<String> observer = new Observer<String>() { @Override public void onNext(String s) { Log.d(TAG, "输出的文本: " + s); } @Override public void onCompleted() {
2017-05-26 14:54:12 469
原创 Kotlin 如何去查找控件并使用
Kotlin 如何去查找控件并使用方式1:finviewbyId查找控件,并设置属性class Main5Activity : AppCompatActivity() { var tv: TextView? = null /** * 注意这里不能直接使用,必须是初始化 * var tv: TextView * */ override fun on
2017-05-24 13:46:24 7920 1
原创 Kotlin 与ListView的结合
很简单直接上代码(不同之处已经标注):import android.content.Contextimport android.os.Bundleimport android.support.v7.app.AppCompatActivityimport android.view.Viewimport android.view.ViewGroupimport android.widget.
2017-05-23 17:15:06 5213 6
原创 Kotlin 之hello world篇
工欲善其事必先利其器,工具的安装基于Android studio 2.2.3Kotlin下载安装(这边我已经安装了就不卸载重新装了,搜索到后直接点击install按钮安装,然后重启就Ok了)1.Kotlin插件的支持在自己引用的build_gradle 中添加插件apply plugin: 'com.android.application'apply plugin: 'kotlin-android
2017-05-20 15:22:08 931
原创 Android 沉浸式
什么是沉浸式我们看到现在很多app的样式这样的,将系统默认的状态栏和标题栏 还有下面的导航栏隐藏了,有些可能不知道状态栏和标题栏 、导航栏是啥的直接看图吧.. (标题栏 状态栏 导航栏) (沉浸式实现效果图)具体实现1.状态栏完全隐藏,你只需要把下面代码放在Activity的oncreate()中 public class MainActivity extends AppCompatAc
2017-04-01 16:37:31 424
原创 那些年我们一起踩过环信的坑
环信IM聊天<基于版本V3.22-V3.3>1.通过扩展消息传递头像EMClient.getInstance().chatManager().sendMessage(message);//接收消息的时候获取到扩展属性//获取自定义的属性,第2个参数为没有此定义的属性时返回的默认值message.getStringAttribute("attribute1",null);message.get
2017-03-15 17:46:19 2070
原创 C中指针学习
指针内存中的地址值,每个内存的唯一编号 ,在C中内存单元的地址是指针指针的作用取地址运算符 & &i 取地址运算符 & 获得变量的首地址取对象运算符 * 根据内存地址取出内存数据 *&i 可以操作数据指针变量变量按照功能分可以分为两大类 :普通变量: 保存数值数据 指针变量: 保存变量的地址(内存单元变量)普通变量的定义 : 数据类型类型 变量名 如:
2016-11-20 23:43:40 420
原创 Android Apk瘦身
先分析APk的文件结构分析lib文件夹:主要存放各种架构的so库,在这里我们只需要保留arm架构的so库,mips属于小众,默认也是支持arm的so的,但x86的不支持.res文件夹:资源目录,包含图片,values,raw文件夹下的音频文件,各种xml文件,可以通过lint检测工具,去除没有用到静态资源assets: assets 目录可以存放一些配置文件(比如webview本地资源、图片资
2016-11-04 18:19:58 463
原创 Android自定义View实现流式布局
实现效果如图大概流程图实现分析1.在FlowLayout的构造里面获取自定义属性,让其支持横向间距和纵向间距 public FlowLayout(Context context, AttributeSet attrs) { super(context, attrs); TypedArray typedArray = context.obtainStyledAttri
2016-10-16 13:52:19 713
原创 Android中WebView的使用
WebView的优点可以直接显示和渲染web页面,直接显示网页webview可以直接用html文件(网络上或本地assets中)作布局和JavaScript交互调用WebView的基本使用<WebView android:id="@+id/webView1" android:layout_width="fill_parent" android:
2016-10-15 15:55:12 801
原创 Java设计模式之建造者模式
一、什么是建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动 态地创建具有复合属性的对象。二、建造者模式的结构三、建造者模式应用场景对象的创建:Builder模式是为对象的创建而设计的模式创建的是一个复合对象:被创建
2016-10-15 14:56:25 327
原创 Android中AsyncTask源码解析
AsyncTask简单使用import java.io.ByteArrayOutputStream; import java.io.InputStream; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import
2016-10-11 19:51:45 304
原创 Java设计模式之抽象抽象工厂模式
一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。二、产品族和产品等级结构三、模式中包含的角色及其职责1.抽象工厂(Creator)角色抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。2.具体工厂( Concrete Creat
2016-10-11 16:45:12 334
原创 Java设计模式之工厂方法设置模式
一、什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、模式中包含的角色及其职责1.抽象工厂(Creat
2016-10-11 13:16:06 351
原创 Android中线程与线程池
在Java中默认情况下一个进程只有一个线程,也就是主线程,其他线程都是子线程,也叫工作线程。Android中的主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。线程的创建和销毁的开销较大,所以如果一个进程要频繁地创建和销毁线程的话,都会采用线程池的方式。Android中线程的形态传统的Thread这是Java本身就支持的类,自定义化程度高,但是所有的功能都需要自己维护。AsyncTa
2016-10-11 13:01:20 455
原创 Java中的设计模式之普通工厂模式
1.什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2.模式中包含的角色及其职责 1.工厂(Creator)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 2.抽象(Product)角色 简单工厂模式所创建的所有
2016-10-11 02:15:21 453
原创 Android事件分发机制机制
Android事件分发机制(一)点击事件的传递规则所谓的点击事件分发其实就是MotionEvent事件的分发,即当一个MotionEvent产生之后,系统需要把这个事件传递给具体的View,而这个事件传递过程就是事件分发,点击事件分发过程由三个很重要的方法来完成:public boolean dispatchTouchEvent()用来进行事件分发,如果事件能够传递给当前View,那么此方法一定会被
2016-10-11 01:54:12 395
转载 视频直播推流与拉流的实现
序言最近在研究直播的弹幕,东西有点多,准备记录一下免得自己忘了又要重新研究,也帮助有这方面需要的同学少走点弯路。关于直播的技术细节其实就是两个方面一个是推流一个是拉流,而弹幕的实现核心在即时聊天,使用聊天室的就能实现,只是消息的展示方式不同而已。在大多数的项目中还是使用第三方的直播平台实现推流功能,因此关于直播平台的选择也是至关重要。下面由我娓娓道来。效果为了演示方便我
2016-09-23 00:17:59 22835 3
转载 Android 6.0 新功能及主要 API 变更
伴随着新的特性和功能, Android 6.0 (API 级别 23)带来了一系列系统和 API 行为的变更。这篇文章中将介绍一些在应用程序中需要理解和注意的主要变更点。运行时权限这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限。这个模型基于用户对权限控制的更多可见性,同时为应用程序的开发者提供更流畅的应用安装和自动升级。用户可以为已安装的每个应用程序独立的授予或者取消权限。
2016-08-15 17:37:44 964
原创 开源中国源码解析之检测更新
涉及的类MainActivity //主页的ActivityUpdateManager //更新管理类ApiHttpClient //网络接口分装AsyncHttpResponseHandler //异步http处理(内部类)UIHelper //界面帮助类DownloadService //下载服务类下载更新的流程图重要代码1.在MainActivity里面每隔2s检测一次是否需
2016-07-20 14:57:05 431
原创 开源中国源码解析之Splash页面
涉及的类AppStart //欢迎页面MainActivity //主页面LogUploadService //上传日志的服务TDevice //手机设备工具类功能介绍1.设置视图,并且让视图做Alpha动画 2.监听动画,在动画播放完成之后,开启服务上传日志,并且跳转到MainActivity 3.在onResume方法中让本地缓存版本与现在的版本进行比较,如果现在的版本大于缓存的
2016-07-18 12:00:28 572
原创 自定义控件之绘图篇:概述及基本几何图形绘制
一、Paint与Canvas其实这个就像我们平时间画画一样,你先做出一张漂亮的画,首先肯定需要有一张纸,就等同于我们这里的Canvas(画板),然后还有笔,相当于我们这里的Paint(画笔),然后我们在现实生活中笔有各种大小以及颜色,所以我们这里的画笔也可以设置各种属性,来达到我们想要的效果//这些是我们经常用到的,还有一些我就不一一列举了,我们是面向对象的程序员,所以呢,当我们有需求是就可以Pai
2016-06-24 01:29:05 603
原创 Android动画
动画帧动画直接可以参考这个博客 http://blog.csdn.net/aminfo/article/details/7847761补间动画(平移,旋转,缩放,透明度动画)先来个布局吧<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.
2016-06-17 12:27:32 390
原创 QQ授权登入(Android SDK3.1)
SDK下载 (最新3.1):http://connect.qq.com/intro/login1.自己创建应用 首先我们打开腾讯开发平台这个网页,点击—->移动应用—->创建应用,成功创建应用后,可以产生我们需要的App ID和App Key,如下图所示: 2.运行官方Demo(官方Demo比较全,可以根据自己需求使用,我们在这里只分析登入的代码) 下面是主要的登录代码,在Demo的MainA
2016-06-12 21:50:38 2655 1
原创 Android大图片处理
图片缓存架构BitMap创建方式1.BitMapFactory.decodeResoure() 最消耗资源,因为他会根据手机屏幕进行适配(慎用,比较消耗性能最大的)//第一步if (opts == null) { opts = new Options(); } if (opts.inDensity == 0 && value != null
2016-06-12 16:14:38 619
原创 Volley的使用以及源码解析
1. 功能介绍1.1. Volley Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。 从名字由来和配图中无数急促的火箭可以看出 Volley 的特点:特别适合数据量小,通信频繁的网络操作。(个人认为 Android 应用中绝大多数的网络操作都属于这种类型)。1.2 Volley 的主要特点(1). 扩展
2016-06-11 23:49:26 518
转载 Android支付宝,微信,银联支付支付的集成
移动支付用户使用移动的终端完成对所购买商品或者服务的支付功能;分为近场支付(蓝牙支付,刷卡,滴卡),和远程支付(网上支付,短信支付)app支付模块常见的支付厂商-->常见的支付方式支付宝:阿里公司微信:腾讯公司银联:联合起来的结构财付通:腾讯公司支付宝钱包:阿里公司百度钱包:百度公司支付安全吗?都是比较安全.都是大公司的产
2016-06-01 19:12:58 4018
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人