自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (13)
  • 收藏
  • 关注

原创 Android 根据图片本地路径转Base64

android 图片转base64

2022-09-08 14:53:51 1177 2

原创 Jetpack Compose入门

Compose简介Compose 是用于构建原生 Android 界面的新工具包。它可简化并加快 Android 上的界面开发,帮助您使用更少的代码、强大的工具和直观的 Kotlin API,快速打造生动而精彩的应用Compose 编程思想声明性编程范式:声明性的函数构建一个简单的界面组件,无需修改任何 XML 布局,也不需要使用布局编辑器,只需要调用 Jetpack Compose 函数来声明想要的元素,Compose 编译器即会完成后面的所有工作举例:显示一行文字class MainActiv

2022-04-16 11:02:49 399 1

原创 Android split分包和ndk abiFilters

splits{ // Configures multiple APKs based on ABI. abi{ // Enables building multiple APKs per ABI. enable true // By default all ABIs are included, so use reset() and include to specify that we only

2021-11-03 09:59:30 2584 1

原创 编译报错Runtime JAR files in the classpath should have the same version

这个是JDk 版本问题 可以使用jdk 1.8.0_131

2021-09-16 16:51:47 4703

原创 Android组件化

组件化创建一个app 作位壳工程。一个common library来写基础组件库,提供给module。创建module 模块。1.版本管理在根目录创建app_config.gradleext{//是否发布isRease=trueapp_android=[ compileSdkVersion:30, buildToolsVersion :"30.0.2", minSdkVersion :26, targetSdkVersion

2021-07-13 11:18:27 174

原创 Retrofit 在拦截器中加密url 并修改body 参数key-value

Retrofit 在拦截器中加密url 并修改body 参数key-value从一个蛋疼的需求说起:URI加密:jjj/ 后面的URI采用AES-CBC-pkcs5padding加密后再base64编码,然后jjj/ 换成xxxx/v2/,例: 原始URI:jjj/sms/login, 加密内容为sms/login,加密后的URI为xxx/v2/89HlYe0vil/lOl0hgFiK0Q==参数混淆: 在原来参数前面加上随机字符串,用3个下划线___连接。例:原始参数{"mobile":"12

2021-06-08 16:31:55 1274

原创 ReactNative实现下拉菜单

实现入上图的下拉菜单效果

2021-05-27 11:22:34 1869 1

原创 react-native AndroidRuntime: FATAL EXCEPTION: create_react_context

React-native Android 端报错新版本文件名已经从index.android.js变为了index.js;在项目根目录执行:根目录cmd运行命令:react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/ma

2021-05-18 14:35:09 847

原创 Android保存Bitmap到相册

fun saveMediaToStorage(context: Context,bitmap: Bitmap) { //Generating a file name val filename = "${System.currentTimeMillis()}.jpg" //Output stream var fos: OutputStream? = null //For devices running android >

2021-05-14 13:11:40 813

原创 Dialog封装使用

使用:BoxDialog boxDialog = new BoxDialog(this, view, BoxDialog.LocationView.CENTER, true);boxDialog.show()参数一:上下文对象参数二:view 布局参数三:dialog 要显示的位置参数四:是否全屏显示下载地址:

2021-05-06 11:41:43 101

原创 GitKarken下载安装

我们只需要找到安装目录删除update.exe 即可!如果快捷方式是update.exe 可以去app-6.5.1 中找到应用程序,生成快捷即可免费使用!下载地址:GitKarken 下载

2021-05-06 10:11:16 380

原创 Android 获取位置经纬度并转为地址信息

public class MLocationManager { @SuppressLint("MissingPermission") public static Location getLocation() { LocationManager locationManager = (LocationManager) MApplication.getInstance().getSystemService(Context.LOCATION_SERVICE); Str

2021-03-19 11:34:08 662

原创 Android图片压缩,压缩到几兆之内

实现突破压缩到1.5M 之内并上传:发现问题:压缩之后反正都是正常的,但是当调用BitmapFactory.decodeStream 转我bitmap时图片质量会变大!所以我就直接使用流转base64来上传避免转换导致图片变大:具体原因百度有! public static String compressImageBit(String url) { if (TextUtils.isEmpty(url)) { return null; }

2021-03-08 14:24:39 555

原创 Retrofit 上传文件

文件流的形式: @Multipart @POST("/upload") LiveData<ApiResponse<String>> voucherUpload(@Part MultipartBody.Part part);public LiveData<ApiResponse<String>> getVoucherUpload(LiveData path) { LiveData voucherData = Trans

2021-03-05 10:18:56 2113 2

原创 H5 内部唤起android App

场景:当我们使用H5推广的时候会存在一键打开App的功能!1.android原生端配置在清单文件入口的Activity 配置如下!<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/>

2021-02-24 15:40:11 891

原创 Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: The currently

模拟器运行安装报错:Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: The currently selected variant "dangbei-debug" uses split APKs, but none of the 1 split apks are compatible with the current device with ABIs "x86".解决办法:在ap

2021-02-22 11:30:29 1142

原创 Duplicate class kotlinx.coroutines.AbstractCoroutine found in modules DataStore冲突解决

错误内容:Duplicate class kotlinx.coroutines.AbstractCoroutine found in modules kotlinx-coroutines-core-1.3.9.jar (org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9) and kotlinx-coroutines-core-jvm-1.3.9.jar (org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm

2021-01-22 18:56:15 1390

原创 FackBook Sdk 接入 获取keyhash 秘钥散列

1.首先下载下载OpenSSl下载 OpenSSL for Windows的Binaries版本, 如果下载不下,可下载现成的2.下载完解压到随便一个文件夹。找到bin目录下的openssl.exe的路径例如:D:\openssl-0.9.8k_X64\bin\openssl3.打开CMD后台 输入keytool -exportcert -alias 此处为你的签名文件的别名 -keystore D:\app\keyfile.jks(此处为签名文件) | D:\openssl-0.9.8k_X64\

2021-01-05 15:35:26 165

原创 WebView与Android方法互相调用

Android调用js首先设置webview支持JavaScrip WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true);2.使用loadurl 调用js方法webView.loadUrl("javascript:mMethord()");也可以使用evaluateJavascriptif (version >= Build.VERSION_CODES.KIT

2020-10-09 14:30:24 918

原创 Android小技巧(全局Dialog,adb install)

Android1.android不依赖具体activity弹出Dialog对话框,即全局性对话框.在创建Dialog时添加:dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);并在AndroidManifest.xml中添加:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />附加:1.SDK环

2020-10-09 10:24:09 392

原创 Android 获取文件真实路径

public class GetRealPath { public static String getFPUriToPath(Context context, Uri uri) { try { List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS); if (packs !

2020-09-14 14:35:55 2017 6

原创 Android面试整理资料(持续更新...)

Android面试整理Activity中的四种启动模式介绍前须知:任务栈用来存放用户开启的Activity。在应用程序创建之初,系统会默认分配给其一个任务栈(默认一个),并存储根Activity。同一个Task Stack,只要不在栈顶,就是onStop状态。 任务栈的id自增长型,是Integer类型。新创建Activity会被压入栈顶。点击back会将栈顶Activity弹出,并产生新的栈顶元素作为显示界面(onResume状态)。5.当Task最后一个Activity被销毁时,对应的应

2020-08-01 11:02:58 315

原创 Android实现MVVM+LiveData+ViewModel+Retrofit

Android实现MVVMMVVM简介:MVVM(Model-View-ViewModel) 是由Mvp演变而来。View包含Ui布局,以及布局生命周期控制器(Activity,Fragment)DataBinding实现view层与viewModel数据的双向绑定(但实际上在Android Jetpack中DataBinding只存在于布局和布局生命周期控制器之间,当数据变化绑定到布局生命周期控制器时再转发给ViewModel,布局控制器可以持有DataBinding但ViewModel不

2020-07-28 16:11:11 4846 1

原创 Vue-cli Mobile学习

Vue-cli Mobile学习注:使用工具Vscode什么是Vue-clivue-cli是有Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。它是用于自动生成vue.js+webpack的项目模板,是为现代前端工作流提供了 batteries-included 的构建设置。只需要几分钟的时间就可以运行起来并带有热重载,保存时 lint 校验,以及生产环境可用的构建版本。Vue-cli的使用1.安装vue-cli打开终端窗口即打开cmd,使用命令安装npm install -g

2020-07-23 11:44:30 321

原创 迁移Androidx app.FragmentManager.isDestroyed() on a null object

迁移AndroidX fragment报错:解决方法:project.configurations.all { //resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' resolutionStrategy.eachDependency { details -> def requested = details.requested if (requested.g

2020-06-19 17:31:38 1059 1

原创 Android9.0 http网络请求适配方案

背景: 由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。场景: 如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求,如果 WebView 的 url 用 http 协议,同样会出现加载失败,https 不受影响。解决方案1:1:在 res 下新建一个 xml 目录,然后创建一个名为:network_secur...

2020-05-07 14:20:41 915

原创 Android 实现微信,QQ文件在其他应用打开并获取到路径

例如:1.想实现其他应用打开出现自己的应用,需要在清单文件中增加配置 <!--docx--><intent-filter tools:ignore="AppLinkUrlError"> <action android:name="android.intent.action.VIEW" /> <category android:name="a...

2020-05-07 11:53:33 3797 18

原创 Android打包apkSTRING at line 1 column 99 path $[0].apkInfo.versionName

Android打包apkSTRING at line 1 column 99 path $[0].apkInfo.versionNameandroid打包apk报错:如果报:Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a name but was STRIN...

2018-12-20 17:47:51 704

原创 Android 插件化,qihoo360插件方案。集成简单实用方便,兼容性高

 Android 插件化,qihoo360插件方案  目录Android 插件化,qihoo360插件方案  宿主App插件化: 插件App插件配置: 宿主调用插件App: 新建一个项目,开始配置 宿主插件化配置: 在项目的根目录build.gradle中配置 classpath 'com.qihoo360.replugin:replugin-host-g...

2018-07-26 13:53:17 1530

原创 Android 跳转到应用设置详情界面

跳转到应用设置界面public static void toSelfSetting(Context context) { Intent mIntent = new Intent(); mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT &gt;= 9) { ...

2018-06-13 11:34:17 10624 1

原创 Andoid实现顶部导航栏和底部导航滑动隐藏(BottomNavigationView,CoordinatorLayout)

首先这个效果需要引入design:compile 'com.android.support:design:26.+'在布局文件中:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app=...

2018-04-27 09:44:52 6392 1

原创 自定义带返回按钮的标题

1,项目中基本每个页面都要用到返回按钮以及标题,每次使用每次写就变的很麻烦,也没有必要,所以今天要自定义一个TitleView方便使用。首先,要写个布局文件:里面放一个返回按钮以及一个标题&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="http://schemas.android.com/ap...

2018-04-25 14:41:12 636

原创 Android webview 播放视频无法播放以及可以播放预览图为加载不出来

Android webview 播放视频无法播放以及可以播放预览图为加载不出来的解决方案1,webView的配置工作:WebSettings webSettings = shopWebView.getSettings();webSettings.setBlockNetworkImage(false);webSettings.setLoadWithOverviewMode(true);...

2018-03-16 10:57:15 3522

原创 Android view 转化为Bitmap并保存在本地

private void initView() { // 获取图片某布局 final View view = findViewById(R.id.layout); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); new Handler().postDelayed(new Runnabl

2018-02-02 15:26:28 1952

原创 Android V7包下的CardView

cardview是v7包下出的阴影控件;使用方法:把你想要设置阴影的布局使用cardview作为根布局进行包裹起来。app:cardBackgroundColor :阴影的颜色app:cardCornerRadius=:圆角的度数app:cardElevation="10dp":这个是表示z轴的高度,增加立体感app:contentPaddingBottom="5dp" 设

2018-01-22 15:32:04 945

原创 FlowLayout 打造流式布局,实现热门推荐

** * 打造实现流式标签 */public class FlowLayout extends ViewGroup { private static String TAG = "FlowLayout"; private setItemClick setItemClick; //自定义属性 private int LINE_SPACE; private

2017-12-27 11:05:43 325

原创 Gson解析工具类,解析纯数组

package com.tempetek.dicooker.help;import com.google.gson.Gson;import com.google.gson.JsonObject;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.ArrayLis

2017-12-26 18:29:05 859

原创 本地保存集合数据

publicclassListDataSave{privateSharedPreferencespreferences;privateSharedPreferences.Editoreditor;publicListDataSave(ContextmContext,StringpreferenceName){

2017-12-26 16:26:58 563

原创 底部弹出的Popuwindow 用于更换头像

/**** * 头像提示框 */public void showPopupWindow() { pop = new PopupWindow(getContext()); View view = LayoutInflater.from(getContext()).inflate(R.layout.item_popupwindows, null);

2017-12-19 16:46:38 333 1

原创 简单实现Dialog样式的Activity

只需要两部就可以实现Dialog样式的Activity1,设置Stylestyle name="Theme.ActivityDialogStyle" parent="Theme.AppCompat.Light.NoActionBar"> item name="android:windowIsTranslucent">trueitem> item name="androi

2017-11-24 10:29:46 1278

gitkraken_6059.dmg

Git图形化工具,GItKarken 免费版本

2021-08-16

CleverPDF.v.3.0.0.Patch-igorca.rar

word ...等文件转为pdf 文件

2021-06-09

cmd-markdown_win.rar

MarkDowm windows 端编辑软件,简单好用

2021-06-09

AESUtils.java

AES加密工具类

2021-06-08

ReactNative自定义下拉菜单

自定义下拉菜单

2021-05-25

Baidu-Cloud-Player-Android-LSS-2.0.1.zip

Baidu-Cloud-Player-Android-LSS-2.0.1.zip

2021-05-13

BoxDialog.java

dialog 封装,方便使用,可以控制要显示的位置

2021-05-06

Android+高级开发面试题以及答案整理.pdf

Android知识点的总结,可以以此为参考复习知识!

2020-10-29

GetRealPath.java

Android 文件选择获取真实路径,用于文件上传,文件分享应用打开,把获取到的路径为content://media/external/file/108077转化为可以使用的正常路径!

2020-09-14

gitkarken.zip

GItKarken是一款很好用的代码管理工具,原本软件是免费试用的,但是在版本6.5.1之后就开始收费了,所有我们可以继续试用6.5.1版本,安装后直接打开,不要更新,就可以一直免费使用了!

2020-05-12

RefreshLoadListComponent.js

本库是针对React-ntive 封装的上拉加载下拉刷新的方法!解决FlastList 上拉加载频繁触发的问题,对FlatList 进一步封装优化,只要传入一个url即可使用,方便快捷,网络请求需要换成自己的fetch请求!

2020-05-08

GetRealPath.java

用于添加其他应用列表打开文件获取微信QQ 分享过来的文件真实路径,并替换路径中存在的编码格式问题,解决文件上传媒体库找不到传输的文件,可以在微信,QQ中直接选择自己的应用打开,并获取到文件的路径!

2020-05-07

Andoid实现顶部导航栏和底部导航滑动隐藏(BottomNavigationView,CoordinatorLayout)

ndoid实现顶部导航栏和底部导航滑动隐藏(BottomNavigationView,CoordinatorLayout)

2018-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除