android 开发
and
亚洲小炫风
亚洲小炫风
展开
-
Android 兼容搜狗输入法 英文输入 回车监听无效的bug
Android 应用 大多都没在润键盘监听上做功夫 突然发现搜狗输入法 回车监听无效 于是探索1小时 得出解决方案继承EiditText 复写 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { return new InputConnectionWrapper(super.onCreateInputConnection(outAttrs),true){原创 2021-07-10 20:55:54 · 785 阅读 · 3 评论 -
Gson 解析教程
Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等本人fastJson用了两年,也是从去年才开始接触Gson,希望下面的总结会对博友有用,至于Gson与FastJson的对比,其实半斤八两的问题,不再赘述第一步:在AS下面创建java工程 并添加gson依赖compile 'com.google.code.gson:gson:2.6原创 2016-05-18 13:43:38 · 101996 阅读 · 11 评论 -
Kotlin 之高级特性
kotlin高级特性:扩展Java语言并不支持这扩展,java的扩展是多态 也就是要继承类或者装饰设计模式,kotlin允许为某个类构建扩展方法而不用继承或者装饰语法: fun 类名.扩展方法名(参数) eg. fun MutableList<Int>.swap(index: Int, index2: Int) {例子:为list提供交换的扩展方法fun MutableList<Int>.swap(index: Int, index2: Int) { .原创 2020-12-04 15:49:57 · 388 阅读 · 0 评论 -
Kotlin 类和对象
在kotlin声明一个类使用class在kotlin中类有一个类头的说法,可以指定类型参数,主构造函数等构造函数也分为主构造函数和二级构造函数 class Student constructor(name: String) { var name = name; } class Stduent2(name: String) { v...原创 2016-03-29 13:56:31 · 1448 阅读 · 0 评论 -
Kotlin 流程控制
if语句,相比java,多了有一个返回值 var age = 26; if (age < 30) { Log.d("------>", "$age <30"); } var a=10; var b=11; var max=if(a>b) a else b;...原创 2016-03-26 20:50:00 · 1038 阅读 · 0 评论 -
Kotlin 函数
函数的定义关键字fun函数中的参数定义(s:String) 变量名:变量类型函数的返回值 fun myFun(s:String):返回值类型(如String) 函数中返回依旧return例子: fun myFunc(name: String, age: Int): String { return "my name is $name age is原创 2016-03-24 11:34:27 · 596 阅读 · 0 评论 -
Kotlin 函数和函数表达式
函数的定义关键字fun函数中的参数定义(s:String) 变量名:变量类型函数的返回值 fun myFun(s:String):返回值类型(如String) 函数中返回依旧return 例子: fun myFunc(name: String, age: Int): String { return "my name is $name age is...原创 2018-07-24 17:53:48 · 865 阅读 · 0 评论 -
Kotlin 变量和属性
kotlin 是一门面向对象的语言 没有基本类型 不像java一样integer 和int kotlin的数值对象 类型 长度 Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 变量 声明 使用val /var关键字 var可变变量 va...原创 2016-03-24 10:36:49 · 6270 阅读 · 0 评论 -
kotlin 创建类
Cotlin 创建一个类 方式1:UI界面完成方式2:代码方式:使用关键字class构造方法在init 代码块中如:package com.xuan.kotlinapp/** * @author xuanyouwu * @email xuanyouwu@163.com * @time 2016-03-23原创 2016-03-23 16:57:36 · 1589 阅读 · 0 评论 -
Kotlin 教程
在这里结合android studio使用android世界的swift语言,一种基于jvm的编程语言1:新建一个project:如KotlinApp2:android studio安装kotlin插件:kotlin与kotlin android extensions3:在KotlinApp项目的Gradle文件中配置:classpath 'org.jetbrains.kotlin原创 2016-02-18 11:50:43 · 1697 阅读 · 0 评论 -
NDK交互处理之数据类型
java 和c,c++数据类型并不一致,如何建立通信桥梁呢?并不像网络传输 text或者json等等可以完成约定,那么他们之间的转化关系是什么样子呢?参考官方文档基本数据类型转化如下:2.引用类型如下: ...原创 2018-10-09 17:30:21 · 290 阅读 · 0 评论 -
NDK体验篇
前提:1. 下载最新的android studio,下载地址参考2. 下载cmake和NDK库第一个demo:会自动创建一个c++文件java类自动装载和声明了运行效果:到此 利用cmake的方式 NDKdemo完成了疑问:怎么没有看到.so文件呢?...原创 2018-10-09 17:07:30 · 215 阅读 · 0 评论 -
GreenDao 使用教程 二
GreenDao 使用教程 二原创 2016-05-08 09:58:53 · 12659 阅读 · 0 评论 -
GreenDao 2.2 数据库加密
第一步:创建一个Java工程:在gradle文件中添加依赖:compile 'org.greenrobot:greendao-generator-encryption:2.2.0'创建java生存类并执行:package com.example;import de.greenrobot.daogenerator.DaoGenerator;impor原创 2016-05-05 18:34:35 · 2798 阅读 · 0 评论 -
Realm 数据库取代sqlite?
Realm 是一个orm数据库,适用于android,ios;据说速度超越sqlite(这一点我将在后面有实例验证),还支持json,加密支持第一步:compile 'io.realm:realm-android:0.84.1'第二步: 创建模型:javaBean 必须标准化,字段要私有,要有get set方法,toString方法都不可以有,有严格要求,果真是牺牲自由原创 2016-05-05 10:45:16 · 4953 阅读 · 1 评论 -
GreenDao 万能升级
找到一个很好的升级工具类:(针对Bean 改变,如添加一个字段...)package com.xuan.parent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.text.TextUtils;import android.util.Log;i原创 2016-01-04 17:18:56 · 764 阅读 · 2 评论 -
GreenDao 使用教程 一
GreenDao的使用,将提供最新的最全的greendao框架的使用原创 2016-05-07 16:08:16 · 8652 阅读 · 2 评论 -
v7的 AlertDialog 怎么定义分割线
AlertDialog 本身不提供分割线的设置 但是又不想自定义view 用recylerview或者listview,查看源码发现: /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License");...原创 2017-04-30 10:43:18 · 1763 阅读 · 0 评论 -
EditText 选中ScrollView 跟随滚动
有一种常见的需求,尤其是小屏幕手机,一页显示不完全输入控件,导致最后的输入框被屏蔽,或者说适应action_next需求;一个界面的输入框选中 界面跟随滚动,以让输入框在键盘上方,不至于屏蔽了输入框布局文件: <?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://sche...原创 2016-05-13 11:26:20 · 1731 阅读 · 0 评论 -
上下轮播控件TextSwitcher
见个京东的快报效果吧,实现起来比较简单:需要用到android 原生控件:TextSwitcheravctivity_main.xml: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2016-03-16 15:53:05 · 1931 阅读 · 0 评论 -
android 玩转相机开发
android 玩转相机开发原创 2020-01-07 19:43:56 · 341 阅读 · 1 评论 -
聊天中的时间分割线 结合recylerview
效果:实现的方式有很多种 可以在耽搁item布局中隐藏或者显示 但是耦合度太高 不灵活 下面介绍用recylerview的分割线来动态画import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graph原创 2017-04-29 16:52:48 · 1502 阅读 · 0 评论 -
Gson 布尔值bool与整形int相互转化
Gson 布尔值bool与整形int相互转化import android.text.TextUtils;import com.google.gson.JsonParseException;import com.google.gson.TypeAdapter;import com.google.gson.stream.JsonReader;import com.google.原创 2017-04-08 16:55:06 · 5302 阅读 · 0 评论 -
7.0 apk下载安装
在Android7.0安装apk上会报错Caused by: android.os.FileUriExposedException:解决方法package com.icourt.alpha.utils;import android.content.Context;import android.content.Intent;import android.net.Uri;原创 2017-04-08 13:53:26 · 730 阅读 · 0 评论 -
SoftReference 和 WeakReference
在android 提供内存优化的方案,SoftReference 和 WeakReference 平时见得最大的是图片的处理,如比较有名的开源框架Universal_Image_Loader而在java中分为四大类,引用分为四大类:强引用HardReference、弱引用WeakReference、软引用SoftReference和虚引用PhantomReference。它们的区别也很原创 2015-12-14 17:44:47 · 346 阅读 · 0 评论 -
Android 积累知识点
这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方。如有错误欢迎指正,如有侵权,请联系我删除。里面可能会有重复内容,请忽略或者提醒我删除。setBackgroundResource(0) 可以移除 View 的背景色Resources.getSystem().getDisplayMetrics(原创 2017-07-20 22:10:46 · 884 阅读 · 0 评论 -
Android P版本应用兼容性适配技术指导
ndroid P版本中伴随很多机制和新增特性的改变,对自研以及第三方应用带来了很多兼容性问题。本文档第1章主要介绍谷歌P版本开发环境搭建以及调试;第2章节主要是对P版本兼容性现状一些摸底测试情况以及问题分类;第3章节主要是P版本一些特性介绍以及应用适配P版本的一些开发指导。1. Android P背景1.1 Android P版本里程碑Preview 1 (initial release, alp...原创 2018-07-02 11:49:44 · 7836 阅读 · 0 评论 -
Gradle 自定义构建全局变量
在ADT17之后,出现了一个非常有意思的类,伴随着apk中:其中的内容如下: /** * Automatically generated file. DO NOT MODIFY */package com.xuan.kotlinapp;public final class BuildConfig { public static final boolean DEBUG...原创 2016-02-17 16:33:02 · 7301 阅读 · 0 评论 -
Gradle基础
Gradle是android studio一种依赖管理工具,简化了android开发的各种配置,同时也有缺点普遍反映慢,估计是没翻墙的缘故这里看一个项目的结构app 这个modue下面的Gradle配置文件是整个项目最主要的Gradle配置文件apply plugin: 'com.android.application'//声明是android程序android ...原创 2016-02-17 16:00:02 · 581 阅读 · 0 评论 -
Gradle构建版本2.0
目前构建Gradle的版本有很多,最新的2.0 一直没发正式版,这里介绍一下2.0的alpha版本2.0.0-alpha3 配合2.0的android studio 支持热编译,解决Dex ID过早达到极限65K问题解决android.dexOptions.dexInProcess = true 无效问题minisdk大于等于18 可以使用SHA256签名支持DSA 和EC...原创 2016-01-21 13:19:01 · 991 阅读 · 0 评论 -
2015年O2O死亡榜:惨不忍睹
眼看着寒冬到来,“死亡”的字样总是能轻易令人动容,心生感触。尤其是O2O创业,现今可以说是“尸横遍地”。资本造就了O2O市场的繁荣,但也导致了行业的萧瑟和衰败。O2O是一个残酷的市场,目前仍处于混战阶段,其商业模式和盈利路径还尚未完全被摸清。在去年,i黑马也总结了一批O2O死亡名单,情况只惨烈,颇为触目惊心。但时间推移到2015年,这个趋势仍未止歇,还是不断有多家O2O平台宣布“死亡”,原因基...原创 2015-10-22 09:29:39 · 1963 阅读 · 0 评论 -
DataBinding 使用教程 一
databinding 是一个实现数据和数据和UI绑定的框架,是一个实现MVVM模式的工具优点:避免findViewById setText setVisiable等操作控件的方法,可以直接在布局文件中声明和处理逻辑缺点:太过依赖model,不成熟,api 变更大,没有得到很好的发展(从2015年7月引入,一年多了,没见得有好红火)第一步 环境搭建 然后gradle同步一下...原创 2016-12-14 10:30:35 · 620 阅读 · 0 评论 -
android 应用性能优化
java.match.BigInteger 可以解决范围溢出的问题,但是开辟内存空间更大android的FloatMath 更高效率的解决双精度的运算当键是整数时,sparseArray比hashMap更加高效 理由;HashMap使用的是泛型,这时需要Integer 而SparseArray使用的是基本类型Int,不会创建很多Integer对象,因此SpareArray更省内存 在这里强原创 2016-09-06 10:35:20 · 659 阅读 · 0 评论 -
android异常:Consumer closed input channel or an error occurred. events
出现这种异常大多界面已经崩溃,然而却找不到有效的崩溃记录据说是.so文件出错了,因而try catch类似的捕获异常无效在我的程序中 android:hardwareAccelerated="false" .....也就是在application原创 2015-12-22 11:14:02 · 5380 阅读 · 0 评论 -
Finished with Non Zero Exit Value 3
Finished with Non Zero Exit Value 3http://stackoverflow.com/questions/31605291/gradle-finished-with-non-zero-exit-value-3dexOptions { javaMaxHeapSize "4g"}原创 2015-12-21 11:49:46 · 376 阅读 · 0 评论 -
Android将后台应用唤起到前台的方法
Android将后台应用唤起到前台的方法 应用场景 推送击通知栏,进入对应页面1 应用在前台,点击通知,直接执行跳转操作;2 应用在后台,将后台进程唤起到前台,执行跳转操作;3 应用没有启动,启动应用,执行跳转操作;4 应用在后台被回收,恢复应用,然执行跳转操作。目前以下几种方式能够实现上述效果:1 通过设置Intent的flag,代码如原创 2016-01-21 16:06:17 · 8239 阅读 · 0 评论 -
android studio 2.0
android studio 2.0 宣称运行和部署应用的速度比第一个版本快得超乎寻常。安装让我们从安装开始,这样你就可以跟着一步一步的来。第一个要安装的就是Android Studio 2.0 Preview 3b,在 Canary Channel上有提供。要把更新channel转换到Canary,只需点击Help -> Check for Updat原创 2015-12-18 13:12:05 · 681 阅读 · 0 评论 -
使用Android Studio时你应该知道的
一、第一次安装:Android Studio安装完成后,第一次启动AS前,为了避免重新下载新版本的SDK,操作如下:AS启动前,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true就行了,避免第一次打开AS时自动重新下载SDK。mac平台的右键安装包->Show Package Contents 就找到bin目原创 2015-12-18 11:55:21 · 895 阅读 · 0 评论 -
Android中3种时间获取方法的差异
android中,有3种不同的时间获取方法:他们之间是存在差异的,并且根据这些差异,应该用在不同的地方。 在android.os.SystemClock这个类中,文档详细的阐述了3种方法的差异和适用范围。 System.currentTimeMillis()像一个标准的挂钟("wall" clock)一样(时间和日期)描述了自从世界协调时间1970年1月1日0:00到现在的时间差,原创 2015-12-15 09:30:35 · 442 阅读 · 0 评论 -
Android Proguard 详解
Java代码是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard是一个混淆代码的开源项目。它的主要作用就是混淆,当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。官网网址是:http://proguard.sourceforge.net/。详解1、原理Java 是一种跨平台的原创 2015-12-09 17:57:50 · 652 阅读 · 0 评论