- 博客(43)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Android 在build.gradle文件中读取json文件
1、在build.gradle中加入读取1.json文件代码,放在android{}外面 String str = "" try { File file = new File("${project.rootDir}/1.json") Reader reader = new InputStreamReader(new FileInputStream(file), "UTF-8") int ch = 0 StringBuilder
2022-03-18 18:26:19
1631
原创 Kotlin中let、also、with、run和apply使用
1、 let用户空判断var user:User?=nulluser?.let{//这里user不为null,才执行//使用用it替代user}返回值为函数块的最后一行或指定return表达式2、also和let类似,不同的是返回值不同,also返回传入的对象自己3、with适用于调用同一个类的多个方法时,可以省去类名重复,直接调用类的方法with(user){println("name is $name,age is $age")}返回值为函数块的最后一行或指定return
2022-01-11 11:05:39
1725
原创 Glide 4.12.0 给默认图加圆角
RequestOptions options = new RequestOptions() .placeholder(drawable) .error(drawable) .transform(new CenterCrop(), new RoundedCorners(15));Glide.with(getContext()).load(url) .thumbnail(loadTransform(getCon
2021-12-21 16:27:34
952
原创 Android string.xml中定义的string 引用另一个string
在strings.xml文件的resources标签前,加上<!DOCTYPE resources [<!ENTITY appname "测试">]>引用时通过 &appname<string name="app_name">&appname;</string>
2021-11-30 17:44:56
3289
原创 webview中打开a标签 <a href=““ target=“_blank“></a>
webview设置setSupportMultipleWindows(true)a标签的 target 属性target有4个属性:_blank浏览器总在一个新打开、未命名的窗口中载入目标文档。_self这个目标的值对所有没有指定目标的 a 标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 base 标签中的 target 属性一起使用。_parent这个目标使得文档载入父窗口或者包含来超链接引用的框架的框架集。如果这个引用是
2021-10-21 11:46:08
11178
原创 android EditText限制小数点2位
EditText要加属性 android:inputType=“numberDecimal” android:inputType="numberDecimal"txt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {
2021-09-09 17:31:20
445
原创 Android Activity重启
Intent intent = getIntent();overridePendingTransition(0, 0);intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);finish();overridePendingTransition(0, 0);startActivity(intent);
2021-08-03 10:50:10
984
原创 Android room Migration didn‘t properly handle
room迁移报错原来数据库中有一张表,又新建一张表,然后room迁移报错Android room Migration didn’t properly handle:Expected TableInfo columns={不是空} Found TableInfocolumns={空}一开始这里我没写修改内容会报上面的错static final Migration MIGRATION_3_4 = new Migration(3, 4) { @Override p
2021-07-24 11:51:54
1447
2
原创 Android通过getDimensionPixelSize在代码中设置字体大小
1、定义需要的TextSize的style<style name="Text_Normal" parent="Theme"> <item name="common_text_size">16sp</item></style><style name="Text_Small" parent="Theme"> <item name="common_text_size">12sp</item><
2021-07-15 15:47:32
534
原创 Android RecyclerView adapter调用notifyDataSetChanged()滚动
需要在item布局中加 android:descendantFocusability="blocksDescendants"
2021-06-30 11:57:03
378
原创 解决 ModuleNotFoundError: No module named “pip”
先执行python -m ensurepip 再执行python -m pip install --upgrade pip
2021-06-27 23:06:32
159
1
原创 android bitmap与byte转换
bitmap->byte创建一个ByteBuffer用于接收数据。首先需要为ByteBuffer开辟内存空间,内存空间的大小就是图片的大小。将bitmap的数据写入ByteBuffer,然后调用ByteBuffer的 array() 方法得到byte。int bytes = bmp.getByteCount();ByteBuffer buf = ByteBuffer.allocate(bytes);bmp.copyPixelsToBuffer(buf);byte[] byteArray
2021-05-27 17:21:40
3975
1
原创 android shape绘制半圆
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:width="20dp" android:height="10dp" /> <solid android:color="
2021-05-27 11:37:01
1489
原创 android 代码修改shape填充颜色
GradientDrawable background = (GradientDrawable) txt.getBackground();background.setColor(Color.BLUE);
2021-05-21 11:16:29
401
原创 Android 在oncreate()中 调用线程设置TextView文本 不崩溃
非UI线程下更新view会崩溃android.view.ViewRootImpl$CalledFromWrongThreadException: Only theoriginal thread that created a view hierarchy can touch its viewsprivate TextView txtContent;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {
2021-05-18 16:16:00
409
1
原创 数据库范式
第一范式属性值都是不可再分的原子值第二范式没有非主属性对候选键的部分依赖第三范式没有非主属性对候选键的传递依赖BC范式消除非主属性对候选键的部分和传递依赖
2021-05-05 15:12:21
116
原创 gitflow使用流程
1、master主分支2、develop开发分支3、feature 功能分支一旦新功能开发完成,合并到develop分支进入下一个release根据develop创建git checkout -b feature/功能名git statusgit add .git commit feature分支完成,切换到develop后mergegit checkout develop git pull origin develop#–no-ff:不使用fast-forward方式合并,保留
2021-01-14 11:32:01
216
原创 Kotlin函数
一、构造器1、主构造器写在类名之后的constructor()class User constructor(name:String){ var username = name}类中的属性username可以引用构造函数中的参数name可以在主构造器中直接声明属性class User constructor(var name:String){}主构造器中的参数除了在类的属性中使用,还可以在 init 代码块中使用:class User constructor(name:Strin
2020-09-27 16:08:06
198
原创 android9访问网络配置
1、添加网络权限<uses-permission android:name="android.permission.INTERNET" />2、在res下新建xml目录,在xml下新建 network_security_config.xml<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="
2020-09-14 17:25:10
595
原创 android10读取文件报错open failed: EACCES (Permission denied)
1、允许权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />2、在AndroidManifest.xml中 application上添加android:requestLegacyExternalStorage="true"
2020-09-14 17:20:51
1006
原创 Python3.8下使用tornado报错
解决办法:Tornado官网文档On Windows, Tornado requires the WindowsSelectorEventLoop. This is the default in Python 3.7 and older, but Python 3.8 defaults to an event loop that is not compatible with Tornado. Applications that use Tornado on Windows with Python 3.
2020-06-21 16:34:12
1362
原创 Python3 报错AssertionError: write() argument must be a bytes instance
源代码报错:AssertionError: write() argument must be a bytes instance解决:
2020-06-19 17:18:12
2694
原创 vue中watch学习
看过就会忘,这里记录下 data() { return { a: 1, msg: "Welcome to Your Vue.js App", person: { name: "www", age: 22 } }; }1、普通监听监听某一属性值变化,直接写一个监听处理函数,当每次监听到 cityName 值发生改变时,执行函数。watch: { a: (val, oldval) { .
2020-06-16 18:27:20
285
原创 vue 使用 vue-cli快速创建项目
新建项目步骤1、下载nodenode下载链接2、安装vue-clivue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目。全局安装npm install --global vue-cli3、创建一个基于 webpack 模板的新项目本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependen
2020-06-16 16:04:25
329
2
原创 Fastjson json转map
Map<String, Object> map = JSON.parseObject(str.toString(), Map.class);
2020-06-05 19:29:46
240
原创 Android中Canvas绘图之PorterDuffXfermode
1.PorterDuff.Mode.CLEAR 所绘制不会提交到画布上。2.PorterDuff.Mode.SRC 显示上层绘制图片3.PorterDuff.Mode.DST 显示下层绘制图片4.PorterDuff.Mode.SRC_OVER 正常绘制显示,上下层绘制叠盖。5.PorterDuff.Mode.DST_OVER 上下层都显示。下层居上显示。6.PorterDuff.Mode.SRC_IN 取两层绘制交集。显示上层。7.PorterDuff.Mode.DST_IN 取两层绘制交集.
2020-06-01 18:07:54
322
原创 android迁移项目到androidx,修改依赖库
独立的 Jetifier 工具可将依赖于支持库的库迁移为依赖于等效的 AndroidX 软件包。该工具可让您直接迁移单个库,而无需使用 Android Studio 附带的 Android Gradle 插件。**注意:在开始迁移之前,您应更新库以使用支持库的 28.0.0 版。**Jetifier 支持 JAR、AAR 和 ZIP 文件,包括嵌套归档。jetifier-standalone -i <source-library> -o <output-library>
2020-05-21 20:49:06
430
原创 git 新建分支branch
## 新建切换到新分支git checkout -b branchname## 更新代码到新分支git add .git commit -m "message"git push origin branchname
2020-05-15 10:32:21
310
原创 Android绘制换行文本StaticLayout
## 自定义view在onDraw中绘制@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); TextPaint paint = new TextPaint(); paint.setColor(Color.RED); paint.setTextSize(60); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODE.
2020-05-09 11:07:42
572
原创 HashMap不按put顺序打印
Map<String, String> map = new HashMap<String, String>();for (int i=0; i<5; i++) { map.put("key"+i, "value" + i);}for (Map.Entry<String, String> item : map.entrySet()) { System.out.println(item.getKey() + "==" + item.getValue());}
2020-05-09 11:02:29
963
2
原创 Android保存bitmap到本地
private void saveBitmap(Bitmap bitmap){ File file = new File(Environment.getExternalStorageDirectory() + "/test.png"); if (!file.exists()) { try { file.createNewFile(); } catch (I...
2020-04-24 16:17:50
945
原创 Android 合成本地图片
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.bg_main);Bitmap afterBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),bitmap.getConfig());Canvas canvas = new...
2020-04-24 16:13:32
199
原创 Android10 读取文件open failed: EACCES (Permission denied)
在AndroidManifest.xml添加一句:android:requestLegacyExternalStorage="true"
2020-04-16 16:33:18
1557
3
原创 Android webview访问本地地址
webview.loadUrl(" file:///android_asset/index.html ");
2020-04-15 17:48:18
1073
原创 Android获取文件的MIME类型
String type = null;//使用系统API,获取URL路径中文件的后缀名(扩展名)String extension = MimeTypeMap.getFileExtensionFromUrl(url);if (!TextUtils.isEmpty(extension)) { //使用系统API,获取MimeTypeMap的单例实例,然后调用其内部方法获取文件后缀名(扩展名)...
2020-04-07 10:33:04
1228
原创 微信小程序点击传递参数
### wxml文件:绑定点击:bindtap绑定参数:data-参数名="值"<view bindtap="handleClick" data-item="{{item}}"></view>### js文件:**res.currentTarget.dataset.item**handleClick(res) { var item = res....
2020-04-01 10:43:51
290
android 1.5 源代码
2011-10-18
Android12 camera2拍照报错
2024-07-30
APP跳转小程序,返回没回调
2023-07-27
android constraintlayout 中使用merge
2021-05-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人