![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 73
张漂亮2号
既然选择了远方.便只顾风雨兼程
展开
-
android Retrofit2 返回json客户端与服务端加密通信
对response进行解密,retrofit设置自定义的ConverterFactory,因客户端与服务端使用json通信,因此我们参考官方提供GsonConverterFactory编写Retrofit retrofit = new Retrofit.Builder() .client(getOkHttpClient()) .addConverterFactory(CustomGsonConverterFactory.create())原创 2020-10-05 11:25:17 · 500 阅读 · 0 评论 -
Android无法安装apk,8.0未知来源应用安装权限
Android 新版本的出现 ,适配Android8.0未知来源应用安装权限处理1、在清单文件中增加请求安装权限<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />private void showChangCityDialog() { CustomDialog.Builder builder = new CustomDialog.Builder(mContext);原创 2020-09-10 09:52:18 · 3242 阅读 · 0 评论 -
android 网络权限,华为无网络
工作中遇到华为P30,居然无网络权限,记忆中,网络不需要动态申请权限呀。研究了半天,Android 10 网络权限,需要在application中添加<application android:usesCleartextTraffic="true">原创 2020-09-10 09:41:51 · 519 阅读 · 0 评论 -
Android studio 链接调试 mac 个大模拟器
Android studio 自带模拟器大的飞起,mac 一个劲的呜呜呜呜。下载夜深等模拟器发现无法与Android studio链接。1。自己配置好adb环境变量打开mac-其他-终端夜神模拟器,x86架构adb connect 127.0.0.1:62001网易MUMU模拟器adb connect 127.0.0.1:7555逍遥安卓模拟器adb connect 127.0.0.1:21503天天模拟器adb connect 127.0.0.1:6555海马玩模拟器adb co原创 2020-08-25 09:56:59 · 362 阅读 · 0 评论 -
flutter IJKPlayer 打包release无法运行,debug一切正常
项目中引入的 IJKPlayer作为视频播放发现debug运行,没有任何问题,打包release安卓apk,运行一直报错。究其原因发现,是插件忘记忽略混淆只需要加上混淆配置就行在 proguard 文件加入-keep class tv.danmaku.ijk.media.player.** {*;}...原创 2020-08-22 15:37:08 · 1259 阅读 · 0 评论 -
kotlin 枚举
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。枚举的说明与结构和联合相似,其形式为:enum 枚举名{ 标识符①[=整型常数], 标识符②[=整型常数], ... 标识符N[=整型常数原创 2020-05-26 21:33:07 · 235 阅读 · 0 评论 -
kotlin 递归
程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。var count =原创 2020-05-26 21:14:49 · 582 阅读 · 0 评论 -
android kotlin之rxjava2
首先在build.gradle中增加 implementation 'io.reactivex.rxjava2:rxjava:2.1.4' implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'Observable几种创建方法 //使用Observable.just()创建被观察者 var observable2 = Observable.just("Hello", "World"); //使用Obs原创 2020-05-23 20:08:49 · 1590 阅读 · 0 评论 -
Android kotlin Retrofit 之get请求
kotlin中Retrofit的基本使用之getbuild.gradle中增加导入dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.1.0'原创 2020-05-23 19:51:14 · 1374 阅读 · 0 评论 -
kotlin 之with语法
kotlin with 语法非常方便简洁,推荐大家使用class DataBase{ fun open(){} fun update(){} fun close(){}}fun main(){ var database=DataBase() with(database){ open() update() close() }}很显然代码可读性增强喜欢可以加Q群号:874826112,一起学习,成长原创 2020-05-22 20:38:44 · 3183 阅读 · 0 评论 -
kotlin 扩展函数
kotlin 如果需要扩展函数的话,非常简单,只需要简单几行即可完成demo如下fun String.add(x:Int,y:Int):Int{ return x+y}fun main(){ var content :String="handsome" println(content) println(content.add(12,12))}喜欢可以加Q群号:874826112,一起学习,成长,交流工作经验,记得要点赞,评论哦????;更多相关内容请点原创 2020-05-22 19:26:35 · 250 阅读 · 0 评论 -
kotlin 之until,step,downTo,in等关键字
kotlin中until的相当于 i=>min && i<max for (i in 1 until 5){ println("$i") }//1,2,3,4kotlin中step的相当于 i++ for (i in 2..10 step 3){ println("$i") }kotlin中downTo的相当于 i– for (i in 10 downTo 1){ println("$i")原创 2020-05-22 19:10:39 · 7598 阅读 · 1 评论 -
kotlin 空处理null
kotlin 中会对空提前检查,在书写中,就会暴露出可能出null的地方如果需要可以为空,需要在声明变量的时候+?跳过检查喜欢可以加Q群号:874826112,一起学习,成长,交流工作经验,记得要点赞,评论哦????;更多相关内容请点击主页查看…简书: https://www.jianshu.com/u/88db5f15770dcsdn:https://me.csdn.net/beyondforme掘金:https://juejin.im/user/5e09a9e86fb9a0162原创 2020-05-22 17:47:20 · 774 阅读 · 0 评论 -
kotlin之匿名类实现接口
9 kotlin之匿名类实现接口Java简直一模一样import javax.print.DocFlavorinterface IDatabaseTest { fun connect(connectString: String) fun close()}fun main() { var MockDB = object : IDatabaseTest { override fun connect(connectString: String) {原创 2020-05-22 17:16:36 · 2038 阅读 · 0 评论 -
kotlin class interface和 abstract的使用
8 kotlin之interface和 abstract的使用interface IDatabase { fun connect() fun close()}abstract class Database(databaseName: String) : IDatabase { val databaseName: String = databaseName var connectString: String = "" fun showInfo() {原创 2020-05-22 16:00:48 · 364 阅读 · 0 评论 -
kotlin之open class继承
7 kotlin之class继承openopen表示可继承,extends也被改为:open class Car(brand: String) { var brand: String = brand fun showBrand() { println("This brand is $brand ") }}class Lexus : Car("Lexus") {}class Honda : Car("Honda") {}fun main() {原创 2020-05-22 15:34:45 · 2535 阅读 · 0 评论 -
kotlin class constructor 构造方法的使用
6 kotlin之classkotlin的class比Java更简洁面料采用,使用更方便,类似于方法直接写上参数即可class Player { var name: String = "" constructor(fullName: String) { this.name = fullName } fun sayHello() { println("hello $name") } fun getAge(): Int原创 2020-05-22 15:12:21 · 1422 阅读 · 0 评论 -
kotlin try catch使用方法
5 kotlin之 try catchkotlin的try catch比Java更简洁面料采用,使用更方便 val value = "10a" var out: Int? = null //错误处理 try { out = Integer.parseInt(value) } catch (e: NumberFormatException) { println("NumberFormatException") print原创 2020-05-22 14:38:17 · 8212 阅读 · 0 评论 -
kotlin for循环4种使用方法
4 kotlin之for循环 var names = arrayOf("a", "b", "c") //1 for (name in names) println("3 $name") //2 for (i in names.indices) println("4 $i $names[i]") //3 for ((index, name) in names.withIndex()) pri原创 2020-05-22 14:30:22 · 27900 阅读 · 0 评论 -
kotlin when (while)循环
3 kotlin when 循环相比于Java,Android中的while,kotlin的when更强大,可以直接给变量赋值 var level = 26 when (level) { 26, 27 -> { println("android Oreo") } 24, 25 -> println("android nougat") 23 -> { prin原创 2020-05-22 14:25:40 · 1485 阅读 · 0 评论 -
kotlin 条件判断if-else
2 kotlin 条件判断 var APILevel = 26 if (APILevel >= 16) { println("我是支持的版本") } else { println("不支持") } var isSupport = if (APILevel >= 16) true else false; println("isSupport = $isSupport") if (API原创 2020-05-22 14:19:19 · 2688 阅读 · 0 评论 -
kotlin 变量定义
1 kotlin 变量定义Android已经将kotlin公布为官方语言很久了,改用kotlin也是趋势,最近总结下简单的用法 val name: String name = "kootlin" println("hello $name") val age: Int = 10 println("age $age") var title = "标题" val point = 120 println("title= $title point原创 2020-05-22 14:14:49 · 752 阅读 · 0 评论 -
android 经常需要listview显示最底部一条,比如聊天
如果不考虑数据多少,就算是一条数据也显示在最底下,那么在listview中加入android:stackFromBottom=“true”android:transcriptMode=“alwaysScroll”就可以实现如果需要从上往下显示,且数据满屏的情况下,再来数据显示到最下面,只需要加android:transcriptMode=“alwaysScroll”喜欢可以加Q群号:...原创 2020-04-09 12:33:01 · 668 阅读 · 0 评论 -
Android sendBroadcast intent 传递map
经常遇到intent需要传递map数据```public class SerializableMap implements Serializable { private Map<String,Object> map; public Map<String, Object> getMap() { return map; }...原创 2020-02-13 16:02:43 · 1841 阅读 · 0 评论 -
Android Java Collection认识
无意间发现xmpp代码中Collection addresses,本着好奇的❤️,查阅发现List是Collection接口的子接口。的List接口的实现类 :ArrayList、LinkedList、Stack、CopyOnWriteArrayListList、Set、Queue、Map都指向Collection,它们都只是一个接口,并不是实现类。正因为有了Collection集合框架...原创 2020-02-12 16:34:58 · 1233 阅读 · 0 评论 -
androoid 一个手机,生产测试版本共存
工作中经常需要,生产版本和测试版本,共存于一个手机上,方便测试使用.applicationId:表示的是应用的唯一ID标识,保证了应用的唯一性(其实就是相当于一个手机安装过含有这个ID的APP后就不能重复安装了),但是一般情况下是和清单文件中写的包名的值是一样的applicationIdSuffix:修改应用唯一ID标识。其实就是在applicationId加上后缀进行区分。只有这样把应用...原创 2020-02-08 21:09:25 · 326 阅读 · 0 评论 -
Android ListView 显示最后一行
IM聊天中,经常需要显示最后一条消息mListView.setSelection(adapter.getCount()- 1 );android:stackFromBottom= "true"android:transcriptMode= "alwaysScroll"更多详解:喜欢可以加Q群号:913934649,点赞,评论;简书: https://www.jianshu.co...原创 2020-01-27 14:41:49 · 863 阅读 · 0 评论 -
android SharedPreferences 储存, key加密储存,value加密储存
/** * SharedPreferences 储存, key加密储存,value加密储存 * * @author gb 2017/9/7. */public class SPUtils { /** * 保存在手机里面的文件名 */ private static final String FILE_NAME = "jump"; privat原创 2018-02-02 14:34:20 · 817 阅读 · 0 评论 -
Android仿微博,视频播放器jiecaovideoplayer简述
需要做个和微博视频播放一样的效果,找到了jiecaovideoplayer,名字很独特主要特点:全屏时启动新Activity实现播放器真正的全屏功能能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作ListView的拖拽和ViewPager的滑动时如果划出屏幕会自动重置视频视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另原创 2018-01-15 18:44:58 · 1362 阅读 · 0 评论 -
flutter Android 腾讯云上传
最近用flutter开发IM软件,用到腾讯云上传图片视频等资源,发现居然没有改插件,于是动动手自己写了个iOS和安卓的Android 接入腾讯云上传工具,iOS在另一文章中有详细记载,有问题可以留言/** * 腾讯云 */public class Plugin implements MethodCallHandler { Registrar registrar; Meth...原创 2020-01-21 17:02:21 · 932 阅读 · 4 评论 -
flutter 调用原生方法,返回桌面
开发xmpp中发现,flutter 有限功能还是无法实现的,就需要原生功能的实现 import android.os.Bundle;import io.flutter.app.FlutterActivity;import io.flutter.plugin.common.MethodChannel;import io.flutter.plugins.GeneratedPluginRe...原创 2020-01-20 17:55:35 · 1349 阅读 · 0 评论 -
Android 获取缩略图,网络视频,或者本地视频
IM软件发送视频文件,需要显示缩略图: import android.graphics.Bitmap;import android.media.MediaMetadataRetriever;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util....原创 2020-01-20 17:49:05 · 482 阅读 · 0 评论 -
Android 禁止截屏
在银行工作,经常要求app不允许截图,保护客户隐私不需要任何权限的情况下,只需加一行代码activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);更多详解:喜欢可以加@群号:913934649简书: https://www.jianshu.com/u/88db5f15770dcsdn:https:/...原创 2020-01-11 14:54:51 · 908 阅读 · 0 评论 -
Android 横竖屏幕切换监听
工作中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件。@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (player != null) { ...原创 2020-01-11 14:43:59 · 2914 阅读 · 3 评论 -
Android隐藏底部虚拟按键并全屏
Android隐藏底部虚拟按键并全屏Java View decorView = getWindow().getDecorView(); // Hide both the navigation bar and the status bar. // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and high...原创 2020-01-11 14:25:25 · 2918 阅读 · 0 评论 -
Android常用之Butterknife使用详解
Android常用之Butterknife使用详解使用Butterknife很久了,一直没有写过文章,今天记录一下在Android 主Moduel中的build.gradle中添加如下配置:dependencies { implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor...原创 2020-01-09 23:30:17 · 279 阅读 · 0 评论 -
Android 设置透明 activity
经常工作会遇到需要设置透明页面的情况只需要设置主题即可<activity android:name="tcking.github.com.giraffeplayer" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />觉得有用记得点赞,加关注,有...原创 2020-01-04 20:25:17 · 2212 阅读 · 0 评论 -
android中GridView设置间距
1.两列之间的间距。android:horizontalSpacing 函数:setHorizontalSpacing(int)2.两行之间的间距。android:verticalSpacing 函数:setVerticalSpacing(int)<com.mlxxy.xzhan.ilPlayer.MyGridView android:id="@+i...原创 2020-01-04 20:18:00 · 4587 阅读 · 0 评论 -
Android 渐变背景
public class LayoutUtils { public static void setBg(Imageview v, int[] colors) { GradientDrawable bg = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, colors); i...原创 2020-01-04 17:56:56 · 362 阅读 · 0 评论 -
Android imageview 圆形头像
工作中经常用到圆形头像有两种解决方法1.处理bitmap/** * * 头像切成圆形显示 * **/public Bitmap toRoundBitmap(Bitmap bitmap) { //圆形图片宽高 int width = bitmap.getWidth(); int height = bitmap.getHeight...原创 2020-01-04 16:47:28 · 929 阅读 · 0 评论