- 博客(969)
- 资源 (34)
- 收藏
- 关注
原创 HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to baobab.kaiyanapp.com not
HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to baobab.kaiyanapp.com not permitted by network security policy
2023-08-03 19:43:13 382
原创 Extension with name ‘android‘ does not exist. Currently registered extension names: [ext, kotlin, ko
Caused by: org.gradle.api.UnknownDomainObjectException: Extension with name 'android' does not exist. Currently registered extension names: [ext, kotlin, kotlinTestRegistry]
2023-07-17 02:12:08 1004
原创 Failed to calculate the value of task ‘:xxx DebugJavaWithJavac‘ property ‘options.generatedSourceOut
Failed to calculate the value of task ':xxx DebugJavaWithJavac' property 'options.generatedSourceOut
2023-07-15 16:48:55 4475
原创 com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed
原因:返回的jason数据解析成对象时错误,可能是接口数据改变或者是本地对象字段不正确。解决办法:修改本地对象和接口返回数据一致。
2023-04-28 07:31:06 4052 1
原创 ndk at /library/android/sdk/ndk-bundle did not have a source.properties file
解决办法:在AndroidStudio中点击File -->project Structure--> SDK Location ---> Download Android NDK, 更新完成后问题解决。更新AndroidStudio 到 4.1.1+后出现的问题。
2023-04-19 07:37:30 989
转载 Jetpack Compose之 Modifiers
1、Modieiers可以修饰一个composable改变composable的尺寸、布局、动作和外观添加信息,比如无障碍辅助信息处理用户输入增加高级交互,比如点击、滚动、拖动或缩放等等2、Text( text = "Hello World!", modifier = Modifier .border(1.dp, Color.Red)//设置边框 .background(Color.Yellow)/
2022-05-11 04:06:37 476
转载 Jetpack Compose 定义通过缩写快速生成代码Live Templates
1、在设置中点击添加 Live Template2、勾选或填写方框内的内容。如果project内不生效,Change中选择整个Kotlintemplate text:@androidx.compose.runtime.Composablefun $NAME$() {$END$}@androidx.compose.ui.tooling.preview.Preview@androidx.compose.runtime.Composablefun $NAME$Previ
2022-05-11 03:50:30 295
转载 Jetpack Compose之编辑模板
1、点击Android Studio --> Preferences --> Editor --> File and Code Temples --> Scheme: Default --> 输入模板的名称和后缀名 -->输入模板代码 -->点击OK模板代码:#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end#parse("Fi..
2022-05-11 03:30:05 274
转载 JetPack Compase之Text的用法
1、Text的简单用法package com.example.mycompose.ui.theme.componentsimport androidx.compose.runtime.Composableimport androidx.compose.material.Textimport androidx.compose.ui.graphics.Colorimport androidx.compose.ui.res.stringResourceimport androidx.compos
2022-05-11 03:08:20 369
转载 JetPack Compase 项目结结构
1、Jetpack Compose 是一个适用于Android的新式声明性界面工具包。Composer提供声明性API,让我们可以在不以命令方式改变前端视图的情况下呈现应用界面,从而使编写和维护界面变得更加容易。Compose是一个声明性界面框架:声明性编程范式简单的可组合函数声明性范式转变2、showBackground = true,显示右侧的预览界面3、显示预览的名称name = "custom view"4、显示手机的预览界面sho
2022-05-11 01:59:39 418
原创 Kotlin lazy函数和泛型
1、Kotlin lazy函数延迟属性(lazy properties)是Kotlin标准库中的标准委托之一,可以通过by lazy来实现。其中,lazy()是一个函数,可以接受一个Lambda表达式作为参数,第一次调用时会执行Lambda表达式,以后调用该属性会返回之前的结果。2、泛型参数话类型:将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用、调用时传入具体的类型(类型实参)类型擦除:java的泛型是伪
2022-05-10 02:47:23 915
原创 Kotlin对象和伴生对象
1、objectkotlin中的对象是指的是使用object关键字定义的类型声明,一般用作单例模式和伴生对象。它让单例变得十分简单2、伴生对象kotlin的一个特性:没有静态成员静态成员在java中有很大的作业,因为java没有全局变量,也不存在包级函数,一切属性和方法都是在类里面,所以在写一些工具函数和全局变量时,都需要用到static关键字修饰的静态成员。kotlin之所以能抛弃静态成员,主要原因在于它允许包级属性和函数的存在。经典做饭:kotlin允许在类中使用co
2022-05-10 02:08:55 1452
原创 协程的启动和取消
1、协程构建器launch与async构建器都用来启动新协程launch,返回一个Job并且不附带任何结果值async,返回一个Deferred,Deferred也是一个Job,可以使用await()在一个延期的值上得到它的最终结果等待一个作业launch通过joinasync通过await2、协程的启动模式DEFAULT:协程创建后,立即开始调度,在调度前如果协程被取消,其将直接进入取消响应的状态ATOMIC:协程创建后,立即开始调度,协程执行到第一个挂起点之前
2022-05-10 01:43:31 805
原创 协程简单介绍
1、协程是什么协程基于线程,它是轻量级的线程协程让异步逻辑同步化,杜绝回调地狱协程最核心的点就是,函数或者一段程序能够被挂起,稍后再在挂起的位置回复2、协程用来解决什么问题处理耗时任务,这种任务常常会阻塞主线程保证主线程安全,即确保安全地从主线程调用任何suspend函数3、协程的挂起和恢复常规函数基础操作包括:invoke(或call)和return,协程新增了suspend和resume:suspend --- 也称为挂起或暂停,用于暂停执行当前协程,并保存所
2022-05-09 21:35:24 5935 1
原创 创建带图片的Notification
1、定义变量,并生成数据package com.example.mynotificationimport android.app.NotificationManagerimport androidx.core.app.NotificationCompatobject InboxStyleMockData { const val mContentTitle = "5 new emails" const val mContentText = "from Jane, Jay, Al
2022-05-09 18:53:48 634
原创 创建Notification
1、定义变量和数据package com.example.mynotificationimport android.app.NotificationManagerimport androidx.core.app.NotificationCompatobject InboxStyleMockData { const val mContentTitle = "5 new emails" const val mContentText = "from Jane, Jay, Alex
2022-05-09 18:07:07 587
原创 修改Bottom NavigationBar的标题
修改navigation文件夹下的mobile_navigation.xml,将所需要的标题在对应fragment标签下的lable修改运行结果为:原来的界面:修改后标题为:
2022-05-09 03:05:16 185
原创 卡片式界面
1、添加recyclerview的布局fragment_all_dishes.xml<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.co
2022-05-09 02:35:21 289
原创 Palette的集成与使用
1、在build.gradle中添加依赖 implementation 'com.github.bumptech.glide:glide:4.13.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0' implementation 'androidx.palette:palette:1.0.0'2、添加网络权限 <uses-permission android:name="andr
2022-05-08 19:57:49 1239
原创 显示和隐藏 Bottom Navigation bar
1、定义viewbinding变量,初始化,并设置界面定义变量: private lateinit var binding: ActivityFavDishBinding初始化并将布局设置给activity: binding = ActivityFavDishBinding.inflate(layoutInflater) setContentView(binding.root)2、定义controller变量并初始化定义变量 privat
2022-05-07 22:49:25 1168
原创 Navigation Compopent的使用之fragment之间使用Safe Args安全地传递数据
1、在project的build.gradle的dependencies中添加依赖def nav_version = "2.4.2"classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"2、在modle的build.gradle中的plugins代码块中添加下面的id id 'androidx.navigation.safeargs.kotlin'3、在navigation.
2022-05-07 21:00:14 501
原创 Navigation Compopent的使用之fragment之间Bundle数据传递
1、发送string和long型数据val bundle = bundleOf( "name" to firstName, "mobile" to mobile.toLong() )findNavController() .navigate(R.id.action_exampleFragment_to_verifyFragment,
2022-05-07 03:17:38 737
原创 Navigation Compopent的使用之添加第二个fragment的返回键效果
1、添加controller变量 private lateinit var navController: NavController2、初始化 navController = Navigation.findNavController(this,R.id.fragment)3、重写onSupportNavigateUp方法,并调用返回上一个fragment的方法NavigationUI.navigateUp(navController,null) override fun o
2022-05-07 02:39:02 405
原创 Navigation Compopent的使用之从一个Fragment跳转到另一个Fragment
1、在build.gradle中添加依赖 implementation 'androidx.navigation:navigation-fragment-ktx:2.4.2' implementation 'androidx.navigation:navigation-ui-ktx:2.4.2' implementation 'androidx.legacy:legacy-support-v4:1.0.0'2、创建EnterDetailsFragmentpackage com
2022-05-07 02:24:33 946
原创 activity中添加Fragment
1、在build.gradle中添加如下依赖 def fragment_version = "1.4.1" //kotlin implementation "androidx.fragment:fragment-ktx:$fragment_version"2、创建一个fragmentpackage com.example.mykotlin2import android.os.Bundleimport androidx.fragment.app.Fragment
2022-05-07 00:44:17 4050
原创 Room Database 之保存和搜索数据
1、报错数据到数据库将要保存的数据传入FavDish的构造函数,调用viewModule的insert方法进行保存val favDishDetails : FavDish = FavDish( 0, mImagePath, Constants.DISH_IMAGE_SOURCE_LOCAL,
2022-05-06 21:56:44 546
原创 Room Database 之设置MVVM
注:官方文档:Android Room with a View - Kotlin | Android Developers
2022-05-06 18:03:51 549
原创 Inheritance from an interface with ‘@JvmDefault‘ members is only allowed with -Xjvm-default option
问题:e: /Users/apple-wangguiye/AndroidStudioProjects/MyKotlin1/app/src/main/java/com/example/mykotlin1/viewmodel/FavDishViewModel.kt: (27, 7): Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option如下代码报错:c.
2022-05-06 18:01:57 2905
原创 Room Database 之创建Repository
Repository管理查询和使用后端,即可以从数据库查询数据或将数据保存到数据库注:官方文档:Android Room with a View - Kotlin | Android Developers
2022-05-06 17:33:30 355
原创 Room Database 之创建RoomDatabase
1、定义一个抽象类继承RoomDatabaseabstract class FavDishRoomDatabase : RoomDatabase() {}2、添加注解@Database,参数entities为定义表的内容时的类,version为数据库版本号,当更新数据库时可以改变版本号3、单例获取database @Volatile private var INSTANCE : FavDishRoomDatabase ?= null fun getDatabas
2022-05-06 17:19:33 1047
原创 Room Database 之设置接口Dao
1、在接口上添加注解@Dao@Daointerface FavDishDao {}2、添加插入的方法,因为是异步,所以需要添加suspend关键字,并添加注解@Insertsuspend fun insertFavDishDetails(favDish : FavDish)3、添加抽象方法,每个子类必须重写该方法abstract fun favDishDao() : FavDishDao注:1、官方文档Android Room with a View - Kot
2022-05-06 17:02:20 749
原创 Room Database 之设置Entity
1、设置表名在类名上面添加Entity注解,并为tableName赋值@Entity(tableName = "fav_dishes_table")class FavDish {}2、保存数据的条目@ColumnInfo + val + 变量名 + : + 保存类型如保存的名称是image,数据类型是String设置主key为id自增长@PrimaryKey(autoGenerate = true) val id : Int = 0注:官方文档:
2022-05-06 16:56:50 608
原创 viewModels 找不到
问题:import androidx.activity.viewModels 导包时 viewModules找不到解决办法:添加依赖implementation "androidx.activity:activity-ktx:1.4.0"
2022-05-06 01:04:09 837
原创 Property getter or setter expected
问题:e: /Users/apple-wangguiye/AndroidStudioProjects/MyKotlin1/app/src/main/java/com/example/mykotlin1/model/entities/FavDish.kt: (9, 36): Property getter or setter expected原因:格式错误,参数应该放在参数列表的位置 room的entity有两种格式,一种是class形式,一种是data class...
2022-05-06 00:06:38 1120
原创 viewModelScope找不到
问题:viewModelScope找不到 fun insert (dish : FavDish) = viewModelScope.launch{ }引入依赖: def roomVersion = "2.4.2" implementation("androidx.room:room-runtime:$roomVersion") annotationProcessor("androidx.room:room-compiler:$
2022-05-05 22:43:55 1669
原创 Room Database 之引入依赖
1、在moudule的gradle中的plugins代码中添加如下代码 id 'kotlin-kapt'plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt'}2、在moudule的gradle中的android代码块中添加如下代码 packagingOptions { exclude 'META-INF/a.
2022-05-05 19:07:20 937
原创 lateinit property mCustomListDialog has not been initialized
问题:kotlin.UninitializedPropertyAccessException: lateinit property mCustomListDialog has not been initialized at com.example.mykotlin1.AddUpdateDishActivity.selectedListItem(AddUpdateDishActivity.kt:249) at com.example.mykotlin1.adapters...
2022-05-05 18:25:26 967
原创 recyclerview的条目添加点击事件
在adapter的onBindViewHolder中给view设置点击事件holder.itemView.setOnClickListener{ }注:adapter代码:package com.example.mykotlin1.adaptersimport android.app.Activityimport android.view.LayoutInflaterimport android.view.ViewGroupimport
2022-05-04 19:55:34 846
原创 RecyclerView的使用
1、定义recyclerview的布局dialog_custom_list.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
2022-05-04 19:41:14 613
安卓与pc端进行连接
2014-12-04
nginx服务端flash播放器.zip
2019-12-15
ffmplayer.rar
2019-11-21
qq_voicer_change.rar
2019-11-12
HiAR多图识别、AR、增强现实开发、虚拟现实开发
2017-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人